参考
VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 | dogmap.jp
基本的には参考URLの焼き直し。
#はrootで実行。$は最初に作成した一般ユーザで実行。
作業用ユーザーの作成
rootユーザのパスワード漏れたりしたら\(^o^)/なので普段の作業はこいつでする。
# useradd futabooo # passwd futabooo
rootになれるようにwheelグループに追加
$ usermod -G wheel futabooo $ visudo ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
ssh公開鍵方式でログインできるようにする
ssh公開鍵自体は自分のローカルマシンで作成しておく
パーミッションも変更してセキュリティ向上
$ scp -P 22 sakuraVPS_id_rsa.pub futabooo@割り当てられてるIPアドレス: $ mkdir .ssh $ chmod 700 .ssh $ mv sakuraVPS_id_rsa.pub .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys
rootでのログイン、パスワードでのログインをできなくする
# vi /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes
sshポートの変更を変更してsshd再起動
hogeはデフォで2だけど、変更しておく。22だと簡単にアタックされる。
他にもよくあるのは1022とか。
$ vi /etc/ssh/sshd_config Port hoge $ /etc/rc.d/init.d/sshd restart
iptablesの設定をする
# vi /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH, HTTP -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport hoge -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited # /etc/rc.d/init.d/iptables restart # /sbin/chkconfig iptables on
yumのアップデート
# yum update
denyhostsを導入する
sshで規定回数以上ログインに失敗したアクセス元の IP アドレスをアクセスできないようにするやつ
# yum install -y denyhosts # /etc/init.d/denyhosts start # /sbin/chkconfig denyhosts on
logwatchを導入する
サーバー監視ツール。一日一回設定したメアドにメールで内容を送ってくれる。
# yum install -y logwatch # vi /etc/logwatch/conf/logwatch.conf MailTo = example@co.j@
コンソールの日本語化
# vi /etc/sysconfig/i18n LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"
ここまでは決まった作業として行う。
最低限の設定。