linux(CentOS6)のiptablesにおけるループバックアドレスの設定方法で分からないことがあります。
現在、Linuxのセットアップ本(少し古い本なので環境はCentOS6)を見ながらiptablesの設定を行っているのですが、その本ではまずwebサーバを構築する際のiptablesの基本として次の設定を推奨しています。
【webサーバ構築でのiptablesの基本設定】
①#iptables -P INPUT DROP
②#iptables -P FORWARD DROP
③#iptables -P OUTPUT ACCEPT
④#iptables -A INPUT -i lo -j ACCEPT
⑤#iptables -A INPUT -p icmp -j ACCEPT
⑥#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
⑦#iptables -A INPUT -p tcp -d xxx.xxx.xx.x --dport 22 -j ACCEPT
⑧#iptables -A INPUT -p tcp -d xxx.xxx.xx.x --dport 80 -j ACCEPT
※xxx.xxx.xx.xにはIPアドレス実数値が入ります。
これ自体はよくある設定のようで、他の本やサイトでも紹介されていました。
しかし、この本ではその後、
「IP偽装対策としてwebサーバーでは次の設定もしたほうがいいでしょう」と前置きした上で
⑨#iptables -A INPUT -s 127.0.0.0/8 -j DROP
という設定をしていました。(他にもリンクローカルアドレスやプライベー
トIPアドレスを同様にDROP設定していた)
ここで疑問なのですが、「webサーバを構築するために」と前置きした上で、ループバックアドレスに対して
④#iptables -A INPUT -i lo -j ACCEPT
⑨#iptables -A INPUT -s 127.0.0.0/8 -j DROP
という2つの設定をすることに意味はあるのでしょうか?
気になったので調べてみたところ、ループバックアドレスに対しpingを打つと送信元IPアドレス、宛先IPアドレスともに127.0.0.1(要は、送信元、宛先ともにループバックアドレス)になるようですが、
ということは、④⑨を両方とも設定した場合、④で「ループバックアドレスへのパケットを受け入れます」という設定をしておきながら、⑨では「送信元IPアドレスがループバックアドレスのパケットは破棄する」ということになり、④⑨の設定は共存できないのではないか?要は、どちらか一方の設定は無駄になるのではないか?と思えてしまうのです。
それとも、上記の
『ループバックアドレスに対しpingを打つと送信元IPアドレス、宛先IPアドレスともに127.0.0.1になるようですが』
というのは私の誤りで、実際は送信元IPアドレスが127.0.0.1のループバックアドレスへのパケットは悪意ある攻撃を意味するものだから、④で「ループバックアドレスへのパケットは受け入れる」と言いながら、⑨で「しかし、送信元IPアドレス127.0.0.1のループバックアドレス宛パケットは破棄する」と設定しているのでしょうか?
どなたかiptablesに詳しい方、ループバックアドレスに対しこの2つの設定を同時に行う意味を教えていただけないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/14 13:31
2020/03/15 11:41
2020/03/15 12:59