【Linux】Firewalldサービスで安全にping(icmp)をブロックする方法

スポンサーリンク
Linuxサーバ

firewall-cmdコマンドの
「--add-icmp-block=echo-request」でpingの応答をブロックできますが
こちらは利用しないようにしてください。

NG:firewall-cmd --zone=public --add-icmp-block=echo-request

理由
応答を返さないことを送信者へ応答しているからです。
これは、pingリクエストに対して正常応答ではなく異常応答を
返していることになり、結果応答を返しているのと変わらないからです。
※悪意のあるping実行だった場合、存在していることがバレてしまいます。

以下は「192.168.11.19」に「add-icmp-block=echo-request」を設定した時の
「192.168.11.16」からpingを実行した結果になります。
Destination Host Prohibited」と応答を返しています。

IP・セグメント単位でping(icmp)をブロックする設定方法

前提条件
1.設定している
  ゾーンが「drop」以外
  かつ
  ゾーンのターゲットが「DROP」以外
  ※ゾーンにdropが設定されていないこと

2.以下の設定をした場合は、ping以外の通信も拒否されます

3.恒久設定する場合は
  「--permanent」オプションの付与と「firewall-cmd ---reload」の
  実行が必要

---
■IPアドレスを指定してpingの応答を停止

# firewall-cmd --add-port=0-65535/tcp --zone=drop
# firewall-cmd --add-port=0-65535/udp --zone=drop

# firewall-cmd --add-source=192.168.11.16 --zone=drop


■セグメント単位で指定してpingの応答を停止

# firewall-cmd --add-port=0-65535/tcp --zone=drop
# firewall-cmd --add-port=0-65535/udp --zone=drop

# firewall-cmd --add-source=192.168.11.0/24 --zone=drop


■ポイント
コマンドの実行順も重要となっています。
1.「drop」ゾーンの「tcpとudp」の全ポートを
  「拒否」から「許可」へ変更する。
  ※「drop」ゾーンは、ping(ICMP)通信だけが
   拒否設定になります。

2.送信者「192.168.11.16」or「192.168.11.0/24」からの
  通信を「drop」ゾーンに設定する。
  ※「192.168.11.16」or「192.168.11.0/24」からの
    pingだけを拒否できます。


以下は「192.168.11.19」に「192.168.11.16」からの通信を「drop」した時の
ping実行した結果になります。
※応答を返していません。応答が破棄されていることがわかります。

コメント

タイトルとURLをコピーしました