VPSの設定
sshの設定
以下の3つを設定します。
ポート番号の変更
パスワードログインの禁止
rootログインの禁止
ポート番号を変更することで、誰かに教えない限りそのポート番号は自分しか知らないことになります。ポート番号って一体いくつまで使えるんでしょうか??
一般的に使用されている | 1〜1023 |
登録済み | 1024〜49151 |
自由に使える | 49152〜65535 |
だそうです。
というわけで、設定を変更していきます。
設定ファイルを変更する時は、必ずバックアップをとりましょう!!
/etc/ssh/sshd_configを開いて、Port 好きな番号、PasswordAuthentication no、PermitRootLogin no*2に変更します。
変更を適用するにはservice sshd restartを打ち込みます。
firewallの設定
/etc/sysconfig/iptablesを作成します。
ドットインストールでは
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :SERVICES - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4 -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m state --state NEW -j SERVICES -A INPUT -p udp --sport 53 -j ACCEPT -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT -A SERVICES -p tcp --dport ここには先ほど決めたsshのport番号 -j ACCEPT -A SERVICES -p tcp --dport 80 -j ACCEPT -A SERVICES -p tcp --dport 443 -j ACCEPT COMMIT
のように設定を行っていました。
何が書いてあるかあまりよくわからないので、少し調べてみました*3
*4
*5
ホワイトリスト方式という概念で記述されているらしく、最初に外からの通信はシャットアウト、後に通していいものは記述するという感じでやっているみたいです。
とりあえずわかった部分だけ...
:INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0]
外部からマシンへのパケットは落とします。
マシンを経由するパケットは落とします。
マシンから通信する場合はOKという意味です。
-A INPUT -i lo -j ACCEPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4 -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m state --state NEW -j SERVICES -A INPUT -p udp --sport 53 -j ACCEPT -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT -A SERVICES -p tcp --dport ここには先ほど決めたsshのport番号 -j ACCEPT -A SERVICES -p tcp --dport 80 -j ACCEPT -A SERVICES -p tcp --dport 443 -j ACCEPT
自ホストに対する通信はOK*6
icmpでのエコーリクエストは毎秒4回までOK
わかりません!!
DNSポート(53)宛は通ってよし
NTPポート(123)宛は通ってよし
sshポート宛はOK
httpポート(80)はOK
httpsポート(443)はOK
ということみたいです。
*1:http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7
*2:sudoerの設定をしておいてください
*3:http://qiita.com/shimohiko/items/ec672655edb84578a82e
*4:http://kazmax.zpp.jp/cmd/i/iptables.8.html
*5:http://www.e-mist.com/articles/iptables_configuration_on_centos
*6:http://e-words.jp/w/E383ABE383BCE38397E38390E38383E382AF.html