[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

サーバ・オプション: フィルタ IPTables の設定

Caution

サーバとして使うなら、きちんとフィルタを設定してから運用してください。

注意: # や % の意味が分からない人は 用語 を参照してください。

詳しくは、debian のマニュアルページ https://wiki.debian.org/iptableshttps://wiki.debian.org/Firewalls を参照してください。

ちなみに iptables の設定は first match (最初に該当したルールを実行)です。

IPTables 設定の確認

% sudo iptables -L
デフォルトは、こうなるはずです。
% sudo iptables -L
[sudo] password for ユーザ名: 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

フィルタ: IPTables: 設定例(最小限)

/etc/network/if-up.d/iptables を作成し、実行権限を設定してください。

設定例:

(1) localhost の通信は許可、
(2) 22/tcp (SSH) と 80/tcp (HTTP) を許可、
(3) 53/udp 53/tcp (DNS) を許可、
(4) ICMP を許可、
(5) 出ていく通信は許可するが、サーバ側へ来る通信は拒否。

[/etc/network/if-up.d/iptables]

# (1) permit localhost
iptables -A INPUT -i lo -j ACCEPT

# (2) permit 22/tcp and 80/tcpm from anywhere
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# (3) permit DNS 
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

# (4) permit ICMP for debug
iptables -A INPUT -p icmp           -j ACCEPT

# (5) deny all incoming by default, permit all output.
iptables -P INPUT  DROP
iptables -P OUTPUT ACCEPT
特に記述がないルールは、すべて最後の (3) に該当することに注意してください (first match)。

フィルタ: IPTables: WWW サーバで HTTPS(443/tcp) も使えるようにする

/etc/network/if-up.d/iptables に、以下の設定も追加してください。

[/etc/network/if-up.d/iptables]

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

追加したので、全体で、こんなかんじになります。

[/etc/network/if-up.d/iptables]

# (1) permit localhost
iptables -A INPUT -i lo -j ACCEPT

# (2) permit {22,80,443}/tcp from anywhere
iptables -A INPUT -p tcp --dport 22  -j ACCEPT
iptables -A INPUT -p tcp --dport 80  -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# (3) permit DNS 
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

# (4) permit ICMP for debug
iptables -A INPUT -p icmp           -j ACCEPT

# (5) deny all incoming by default, permit all output.
iptables -P INPUT  DROP
iptables -P OUTPUT ACCEPT

必要なプロトコルは必要なだけ同様に追加していきます。

演習問題

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >