Linuxのファイアウォール設定

(2014.7)

Linuxでファイアウォールを設定する方法。

Fedora 18までは, ファイアウォールは, NetfilterとIPTablesの組み合わせで設定していました。また, GUIは system-config-firewall でした。

Fedora 19からは, firewalld を使うようになっています。裏では, iptables toolが使われています。

firewalld

iptablesは、設定が宣言的でなく, さまざまなプログラムから設定を自動的に変更するのが難しい。

そこで, ファイアウォールを抽象化し, また、外部からAPIで設定変更できるようになっています。

内部で iptables を使っていますが, iptablesサービスとは併用できません。もし iptablesサービスが有効になっていた場合は, あらかじめ止める必要があります。

(2014.7) GUIでの設定は, firewall-config コマンドを使う。パッケージは firewall-config パッケージ。マンマや。

iptables

以前のiptablesサービスを使う場合は, firewalldサービスは停止しておかなければならない。

設定ファイルは、/etc/sysconfig/iptables です。

例えば、次のように書きます。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

# SSHは通す
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

SSH

リモートシェルのSSH。設定ファイルは /etc/ssh/sshd_config です。