GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu Server 20.04 LTSでpingリクエストをブロックまたはブロック解除する方法は?

Pingは、IPネットワーク上のシステムの可用性をテストするために使用されるネットワーク管理ユーティリティです。 pingは、ラウンドトリップ時間とパケット損失を監視することにより、ネットワーク接続の品質をテストするためにも使用されます。

一方、ネットワーク侵入者やハッカーは、pingを使用してネットワークサブネットを識別し、潜在的なホストを見つけたり、ICMPフラッド攻撃を実行したりします。したがって、あらゆる種類の攻撃を防ぐために、サーバーへのping要求をブロックすることをお勧めします。

ここLinuxAPTでは、サーバー管理サービスの一部として 、お客様がLinux関連のタスクを実行するのを定期的に支援しています。

これに関連して、Linuxサーバーへのping要求をブロックする方法を検討します。


Linuxサーバーへのping要求をブロック/ブロック解除する方法は?

ここでは、sudo権限を持つユーザーと一緒にUbuntu20.04LTSを使用しています。

pingは、ICMPパケット(エコー要求)を宛先システムに送信し、応答ICMPパケット(エコー応答)を受信することで機能します。 Linuxでは、pingコマンドはCtrl+Cを使用して停止するまでICMPパケットを送信し続けます。

ping要求をブロックするには、サーバーに送信されるICMPエコー要求を無視/ブロックする必要があります。


LinuxサーバーへのICMPエコー要求をブロック/ブロック解除するには、次の2つの方法があります。

私。カーネルパラメータを介して。

ii。 iptablesを介して。


それでは始めましょう。


カーネルパラメータを介してpingリクエストをブロック/ブロック解除する方法は?

カーネルパラメータを使用して、ping要求を一時的または永続的にブロックできます。カーネルパラメータは、sysctlコマンド、/ sys / procディレクトリ、および/etc/sysctl.confファイルを介して変更できます。


ping要求を一時的にブロック/ブロック解除する方法

Linuxのsysctlコマンドは、/ proc/sysディレクトリのカーネルパラメータの読み取りと書き込みに使用されます。このコマンドを使用して、ping要求をブロック/ブロック解除するカーネルパラメーターを設定できます。カーネルパラメータnet.ipv4.icmp_echo_ignore_allは、システムがICMPエコー要求に応答するかどうかを制御します。デフォルト値は「0」で、ICMPリクエストに応答することを意味します。


sysctlコマンドを使用してPing要求をブロックするには:

ping要求をブロックするには、ターミナルで次のコマンドを発行します。

$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

このコマンドは、カーネルパラメータを「1」に設定します。これは、すべてのICMP要求を無視することを意味します。


これで、システムへのすべてのping要求がブロックされ、送信者は応答を受信しなくなります。


Ping Request sysctlコマンドのブロックを解除するには:

ping要求のブロックを解除するには、パラメータ値をデフォルトの「0」に変更して同じコマンドを再度実行します。

$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

または、echoコマンドを使用して/ proc / sysディレクトリのカーネルパラメータ値を変更することにより、ping要求をブロックできます。

ただし、この方法を使用するには、rootとしてコマンドを実行する必要があります。

次に、ターミナルで次のコマンドを発行します。

$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

ping要求のブロックを解除するには、コマンドは次のようになります。

$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all


ping要求を永続的にブロックする方法は?

カーネルパラメータは、/ etc/sysctl.confファイルを介して変更することもできます。このファイルを使用すると、サーバーへのping要求を永続的にブロックできます。


sysctl.confファイルを介してPingリクエストをブロックするには:

私。システムへのping要求をブロックするには、/ etc/sysctl.confファイルを編集します。

$ sudo nano /etc/sysctl.conf

ii。次に、ファイルに次の行を追加します。

net.ipv4.icmp_echo_ignore_all = 1

iii。ファイルを保存して閉じます。

iv。次に、ターミナルで次のコマンドを発行して、再起動せずにこの構成を適用します。

$ sysctl -p

sysctl.confファイルを介してPingリクエストのブロックを解除するには:

私。 ping要求のブロックを解除するには、/ etc/sysctl.confファイルを編集します。

$ sudo nano /etc/sysctl.conf

ii。次に、net.ipv4.icmp_echo_ignore_allの値を「0」に変更します。

net.ipv4.icmp_echo_ignore_all = 0

iii。ファイルを保存して閉じます。

iv。次に、ターミナルで次のコマンドを発行して、再起動せずにこの構成を適用します。

$ sysctl -p


iptablesを使用してpingリクエストをブロック/ブロック解除する方法は?

Iptablesは、特定のルールに基づいて着信および発信トラフィックを制御するLinuxのファイアウォールユーティリティです。 Ubuntuシステムにプリインストールされています。システムにない場合は、ターミナルで次のコマンドを使用してインストールできます。

$ sudo apt install iptables


iptablesを使用してPingリクエストをブロックするには:

私。システムへのping要求をブロックするには、ターミナルで次のコマンドを入力します。

$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECT

ここで、Aフラグはiptablesにルールを追加するために使用され、icmp-type8はエコー要求に使用されるICMPタイプ番号です。

上記のコマンドは、システムへの着信ping要求をブロックするルールをファイアウォールに追加します。このルールを追加することにより、システムにping要求を送信するすべての人に、「宛先ポートに到達できません」というメッセージが表示されます。


ii。このメッセージを表示したくない場合は、次のコマンドを使用して、REJECTをDROPに置き換えます。

$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROP

これで、誰もがping要求をシステムに送信します。


iptablesを使用してPingリクエストのブロックを解除するには:

私。サーバーへのping要求のブロックを解除するには、ターミナルで次のコマンドを入力します。

$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJECT

Dフラグを使用してiptablesのルールを削除し、icmp-type8がエコー要求に使用されるICMPタイプ番号です。

ii。システムの再起動後にこれらのルールを永続化するには、iptables-persistentパッケージが必要です。ターミナルで以下のコマンドを発行して、iptables-persistentをインストールします。

$ sudo apt install iptables-persistent

インストールを続行するかどうかを確認するように求められます。 yを押して続行します。その後、システムはインストールを開始し、完了すると使用できるようになります。


ルールを追加または削除した後、ターミナルで次のコマンドを発行して、システムの再起動後も存続させます。

$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

iptablesに追加されたすべてのルールを表示するには、ターミナルで次のコマンドを発行します。

$ sudo iptables -L



Ubuntu
  1. Ubuntu18.04LTSにMinecraftサーバーをインストールする方法

  2. Ubuntu18.04LTSでRsyslogサーバーをセットアップする方法

  3. Ubuntu20.04LTSにDiscourseをインストールする方法

  1. Ubuntu Server18.04LTSのインストール方法

  2. Ubuntu18.04LTSサーバーにDockerをインストールする方法

  3. Ubuntu20.04LTSサーバーをインストールする方法

  1. Ubuntu20.04LTSサーバーにアップグレードする方法

  2. Ubuntu18.04LTSサーバーにDropboxをインストールする方法

  3. Ubuntu22.04LTSにWebfsサーバーをインストールする方法