iptablesを設定する【ファイアウォール】【遅くなった】【DNS逆引き】【IPv6】【centOS】


ふと思いつきで、centOSのファイアウォールを設定(iptables)しようと思い立つ。

(むしろ何で今までしてなかったのか・・・セキュリティがザルすぎる。。)

 

軽い気持ちで始めたのが運の尽き。長い旅路へと旅立つことになった。(遠い目)

 

 

iptablesを設定

 

SSHのポートを、例えば『88888』とする。

sudo vi /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 OUTPUT -o lo -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A INPUT -p icmp -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 88888 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
-A INPUT -p tcp --dport 123 -j ACCEPT
-A INPUT -p udp --dport 123 -j ACCEPT
-A INPUT -p tcp --dport 43 -j ACCEPT
-A INPUT -p tcp --dport 67 -j ACCEPT
-A INPUT -p tcp --dport 68 -j ACCEPT
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT
COMMIT

※注意※
COMMITの後に余計な改行を入れたりしないように!
『88888』の数字は、自分の環境に合わせて修正。初期状態なら22です。
80:http
443:https
5432:PostgreSQL
3306:MySQL
123:時刻
67:Bootstrap Protocol(※1)
68:Bootstrap Protocol(※1)
43:whois
110:POP(受信メール)の許可
25:SMTP(送信メール)の許可
(※1)Bootstrapで表示している部分がうまく表示されなくて、BootstrapのPortを調べてこれを追記したらちゃんと表示されるようになった。(謎)いらないんじゃね?

 

で、あとは設定ファイルの再読み込み。

sudo /sbin/service iptables restart
sudo /etc/init.d/httpd restart

 

chkconfigユーティリティで、サーバ起動時にサービスが開始するよう設定。

chkconfig iptables on

 

sshの設定ファイルに追記

 

問題があって、上記の設定内容でSSHもサイトも繋がりはするのだけど、激遅くなった。

 

・・・なぜ?

 

DNS逆引きをしに行って遅延しているらしい。

 

sshの設定ファイルを修正。

sudo vi /etc/ssh/sshd_config
Port 88888
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
AddressFamily inet
UseDNS no

『AddressFamily inet』『UseDNS no』を追加。

 

sshを再起動。

sudo /etc/init.d/sshd restart

 

SSHだけは早くなったけど・・・。

 

 

vsftpdの設定ファイルに追記
(逆引き設定を無効にする)

 

DNS逆引きに関する設定でどこでしてるの??と疑問に思いながらググるとあった!!
【vsftpd:接続が遅い場合(30秒かかる)の対処方法】(KAKIMASSE様サイトへリンク)

sudo vi /etc/vsftpd/vsftpd.conf

 

接続元の逆引き設定を無効にするには、これを追記。↓

reverse_lookup_enable=NO

 

そして、vsftpdを再起動。

sudo service vsftpd restart

 

サイトの表示はまだ遅い。

 

とりあえず今回のところはこれにて終了。

 

後半へ続く。

 

【シリーズ】
・iptablesを設定する
・IPv6を無効化する
・iptablesを設定したら、ブラウザでconnection timed out; no servers could be reachedになって困った時の解決法。