NO IMAGE

ファイアウォール iptables を設定

停止していたファイアウォール(iptables)を設定し使用する。

# vi /etc/sysconfig/iptables

ルーターでは、ポート番号20(FTP-data)、21(FTP-ctrl)、22(SSH)、110(POP3)、995(POP3S)は開放していないが、LAN内からのアクセス許可が必要な為、ここでは設定しています。

ただし、IMAP4、IMAP4S は、現在のところ使用予定が無いので、ルーターでもファイアウォールでも開放の設定はしていません。

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter

# まずは、受信は全て破棄に設定
:INPUT DROP [0:0]

# 同様に、転送は全て破棄に設定
:FORWARD DROP [0:0]

# 送信は全て通過
:OUTPUT ACCEPT [0:0]

# 上記条件下で、プロトコルがICMPなら通過(pingは通す)
-A INPUT -p icmp -j ACCEPT

# 自ホストからのアクセスなら全て許可
-A INPUT -i lo -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 各ポートをアクセス許可
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT

# FTPでのアクセスを許可
-A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

# その他の受信は「接続を拒否されました」表示で拒否
-A INPUT -j REJECT --reject-with icmp-host-prohibited

# その他の転送は「接続を拒否されました」表示で拒否
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

FTPがiptables経由で使えるように、iptables-config を編集する。

# vi /etc/sysconfig/iptables-config

ip_conntrack_ftp と ip_nat_ftp モジュールを追加でロードするよう記述を追加。

IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"

iptables を再起動して設定を反映。

# service iptables restart
iptables: ファイアウォールルールを消去中: [ OK ] iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: モジュールを取り外し中: [ OK ] iptables: ファイアウォールルールを適用中: [ OK ] iptables: 追加のモジュールを読み込み中:ip_conntrack_ftp ip_net_ftp[ OK ]

iptablesの自動起動を設定。

# chkconfig iptables on
# chkconfig –list iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

本当はもっと細かい設定で、不正アクセスやアタック行為に対する対策をしておくべきなのでしょうが、それは今後必要になったら行うとして、とりあえずは完了とします。^^