ping は、ネットワーク接続をテストするためのツールです。ping コマンドは ICMP(インターネット制御メッセージプロトコル)に基づいて動作します。ICMP は IP プロトコルの一部であり、TCP/IP プロトコルスタックのネットワーク層に属します。ping を使用するとネットワークが接続されているかどうかを確認でき、ネットワーク障害を診断するための重要なツールの一つです。
しかし、場合によっては、サーバーが ping を受け付けることで、ネットワーク攻撃(ICMP Flood 攻撃など)といったセキュリティ上の問題が発生する可能性があります。そのため、Linux サーバーの管理者は必要に応じて ping 機能を無効にし、サーバーが外部からの ping リクエストに応答するのを制限できます。
以下では、Linux サーバーで ping を禁止する最も簡単な方法を説明します。
ping の禁止
サーバーのターミナルにログインし、次のコマンドを実行します。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
このコマンドを実行すると、サーバーはすべての ping リクエストに応答しなくなります。
ping の復元
ping 機能を復元する場合は、次のコマンドを実行します。
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
補足説明
/proc/sys/net/ipv4/icmp_echo_ignore_allの一時的な変更は、現在のシステムの稼働中にのみ有効で、再起動後は無効になります。pingを永続的に禁止または復元する場合は、設定ファイル/etc/sysctl.confを変更し、次の内容を追加または変更します。
ping の永続的な禁止
net.ipv4.icmp_echo_ignore_all = 1
ping の永続的な許可
net.ipv4.icmp_echo_ignore_all = 0
変更後、次のコマンドを実行して設定を有効にします。
sysctl -p