iptablesによるファイアウォールの設定

さて、インストールが終わったらセキュリティである。 最終的には、外部に公開するサーバとするので、ガチガチに固めることが望ましい。 なお、今回はSELinuxは使用しないで、iptablesによるファイアウォールを使う。 もちろん、基本的に全部閉じておいて、必要なサービスのみ開くという方針でいく。 GUIから[システム]-[管理]-[セキュリティレベルとファイヤーウォールの設定]で、基本設定を行う。コマンドラインでは「# system-config-securitylevel」に相当する。 08021201.png まず、FTP、SSH、Samba、HTTPS、HTTP、SMTPを信頼できるサービスとして登録する。 そのほかに、以後も確実に開くものとして、VNCの5900~5902/TCPをその他のポートで登録。 そして、[OK]。 この設定は/etc/sysconfig/system-config-securitylevelに保存される。このファイル自体は、アプリケーションの保存ファイルとしての役割で、さらに/etc/sysconfig/iptables-config、および詳細ルールが/etc/sysconfig/iptablesにも保存される。
[root@tower ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter      hosts.allow  hosts.deny   
:INPUT ACCEPT [0:0]s /etc/hosts.allow 
:FORWARD ACCEPT [0:0]/etc/hosts.deny 
:OUTPUT ACCEPT [0:0] /etc/sysconfig/iptables
: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
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
ただし、最終的にこのマシンをDMZに置き外部に公開することを考えると、VNCなどはIPアドレスにおけるアクセス制限をかけておいたほうがいい。もちろん、そういったPORTはゲートウェイで止めてしまうのが正しいのだが、やってやりすぎることはない。 しかし、system-config-securitylevelではそこまできめ細かい設定はできないので、直接/etc/sysconfig/iptablesを編集することになる。 とりあえず、sambaとVNCのみ、LAN内部からのみ接続可能なように"-s 192.168.1.0/24"を追加する。
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp -s 192.168.1.0/24 --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp -s 192.168.1.0/24 --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 5902 -j ACCEPT
いずれはDNS、pop3なども開くことになるはずだが今回はとりあえず、この辺で。

このブログ記事について

このページは、norが2008年2月10日 12:49に書いたブログ記事です。

ひとつ前のブログ記事は「インストール: CentOS 5」です。

次のブログ記事は「インストール:Picasa 2.7.0(ビルド 37.36.0)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ

ウェブページ

Powered by Movable Type 6.8.5