Ping 応答することのリスク
サーバがPingに応答すると、周囲にその存在を示すことになり、攻撃の対象としてリストアップされる可能性があります。実際ハッキングツールの中には ping による調査を行うものがあります。『これを設定すればクラッキングを防げる!』という訳ではありませんが、クラッカーからして見ればセキュリティ意識の甘いサーバをターゲットにしたほうが攻略しやすいので、そのようなリストアップされないためにも、この設定を入れた方がよいでしょう。
firewalld で ICMP を拒否設定にするコマンド
設定対象の LinuxサーバのIPアドレスは 192.168.100.113 です。動作確認用の Windows からPingを打つと、以下の応答があります。
C:\>ping 192.168.100.113 192.168.100.113 に ping を送信しています 32 バイトのデータ: 192.168.100.113 からの応答: バイト数 =32 時間 <1ms TTL=64 192.168.100.113 からの応答: バイト数 =32 時間 <1ms TTL=64 192.168.100.113 からの応答: バイト数 =32 時間 <1ms TTL=64 192.168.100.113 からの応答: バイト数 =32 時間 <1ms TTL=64 192.168.100.113 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
そこで、Linux上で以下コマンドを打ちます。(DROPは大文字じゃないとNG)
[root@localhost ~]# firewall-cmd --set-target=DROP --permanent success [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]
target は許可ルールに無い通信の取り扱い方法を決めるもので、
REJECT ⇒ Destination Unreachable (Host Administratively Prohibited) を返す
というものです。default は Zone によって DROP か REJECT かが決まっていますが、public では REJECT になっています。
これを設定した後は Windows からの応答が無くなりました。
C:\>ping 192.168.100.113 192.168.100.113 に ping を送信しています 32 バイトのデータ: 要求がタイムアウトしました。 要求がタイムアウトしました。 要求がタイムアウトしました。 要求がタイムアウトしました。 192.168.100.113 の ping 統計: パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
icmp-block=echo-request ではダメなの?
以下のコマンドで Ping(echo-request) を拒否する設定は可能です。
firewall-cmd --add-icmp-block=echo-request
ただし、これでは Windows からの Ping は以下のように表示されます。
c:\>ping 192.168.100.113 192.168.100.113 に ping を送信しています 32 バイトのデータ: 192.168.100.113 からの応答: 宛先ホストに到達できません。 192.168.100.113 からの応答: 宛先ホストに到達できません。 192.168.100.113 からの応答: 宛先ホストに到達できません。 192.168.100.113 からの応答: 宛先ホストに到達できません。 192.168.100.113 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
通常の Pingでは、echo-request に対して、送信元に echo-reply が返されますが、今回のicmp-blockの設定では echo-request を拒否(REJECT)し、destination-unreachable というICMP が送信元に返されます。最初に述べたセキュリティリスクを解消できないため、個人的には意味のない設定だと思っています。
なお、target=DROP にした上で、--add-icmp-block=echo-request を設定すると、destination-unreachable が返されてしまうため、この --add-icmp-block=echo-request は設定してはいけません。
コメント