GNU/Linux >> Znalost Linux >  >> Debian

Jak zablokovat nebo odblokovat požadavek ping na Debian 10

Ping je síťový nástroj používaný ke kontrole dostupnosti systému v síti internetového protokolu pomocí ICMP echo request a echo response zpráv. Někteří správci sítě však preferují blokování pingu, protože to z nějakých důvodů považují za bezpečnostní problém. V dřívějším příspěvku jsme vysvětlili, jak zablokovat nebo odblokovat požadavek ping na Ubuntu 20.04. Tento příspěvek bude o tom, jak zablokovat nebo odblokovat požadavky ping na Debian.

Předpoklady

  • OS Debian
  • Uživatel sudo

Poznámka: Zde vysvětlený postup byl testován na Debianu 10 (Buster) systém.

Blokovat nebo odblokovat požadavky na ping v Debianu

Ping odešle ICMP echo požadavek do cílového systému a poté obdrží ICMP echo odpověď. V OS Linux, když odešlete příkaz ping na IP adresu, pokračuje v odesílání paketů ICMP, dokud jej nezastavíte stisknutím Ctrl+C. Chcete-li odeslat konkrétní počet paketů, použijte ping s -c volba. Chcete-li například odeslat 3 pakety ICMP, můžete použít následující příkaz:

$ ping -c 3 <ip-address or hostname>

Chcete-li blokovat požadavky ping na systém Debian, existují následující dvě možnosti:

  • Prostřednictvím parametrů jádra
  • Prostřednictvím iptables

Vysvětlíme obě možnosti blokování požadavků ping na systému Debian.

Blokovat nebo odblokovat požadavky ping prostřednictvím parametrů jádra

Požadavky na ping lze zablokovat/odblokovat úpravou parametru jádra net.ipv4.icmp_echo_ignore_all . Tento parametr řídí, zda má systém reagovat na požadavky ping nebo ne. Výchozí hodnota parametru jádra net.ipv4.icmp_echo_ignore_all je „0“ což znamená povolit všechny požadavky na ping. Úpravou hodnoty tohoto parametru jádra můžete přimět systém, aby blokoval požadavky ping.

Existují tři různé způsoby, jak upravit parametry jádra:

  1. Prostřednictvím příkazu „sysctl“
  2. Prostřednictvím souboru „icmp_echo_ignore_all“
  3. Prostřednictvím souboru „/etc/sysctl.conf“

Chcete-li zjistit, zda systém aktuálně blokuje nebo povoluje požadavky ping, zadejte v Terminálu následující příkaz:

$ sudo sysctl -ar ‘icmp_echo’

Hodnota „icmp_echo_ignore_all“ se rovná „0“ znamená, že ping je odblokován, zatímco hodnota „1“ znamená, že ping je odblokován. Následující výstup ukazuje, že ping je v našem systému aktuálně odblokován.

Blokovat nebo odblokovat požadavky ping pomocí příkazu „sysctl“ (dočasně)

Pokud potřebujete dočasně zablokovat požadavky ping na váš systém, můžete použít příkaz sysctl takto:

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

Po spuštění výše uvedeného příkazu stroj začne blokovat požadavky na ping, které na něj přicházejí. Pokud se nyní jiný systém pokusí pingnout váš systém, neuvidí žádnou odpověď, jak je ukázáno v následujícím výstupu.

Jak však již bylo řečeno, tato změna bude dočasná. Jakmile restartujete systém, hodnota parametru jádra se vrátí na původní hodnotu a ping bude znovu odblokován.

Ping můžete také odblokovat pomocí níže uvedeného příkazu:

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

Blokovat nebo odblokovat požadavky ping prostřednictvím souboru icmp_echo_ignore_all (dočasně)

Soubor /proc/sys/net/ipv4/ adresář obsahuje soubor icmp_echo_ignore_all který řídí, zda má systém reagovat na požadavky ping nebo ne.

Chcete-li blokovat požadavky ping, budete muset změnit hodnotu v icmp_echo_ignore_all soubor ve tvaru „0“ až „1“. Můžete to udělat pomocí níže uvedeného příkazu:

$ sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all’

Tato změna však bude dočasná. Jakmile restartujete systém, hodnota parametru jádra se vrátí na původní hodnotu a ping bude znovu odblokován.

Ping můžete také odblokovat pomocí níže uvedeného příkazu:

$ sudo sh -c ‘echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all’

Blokovat nebo odblokovat požadavky ping prostřednictvím souboru „/etc/sysctl.conf“ (trvale)

Požadavky na ping lze také trvale zablokovat pomocí /etc/sysctl.conf soubor. Chcete-li trvale blokovat požadavky ping, nejprve upravte /etc/sysctl.conf soubor pomocí následujícího příkazu:

$ sudo nano /etc/sysctl.conf

Nyní do upraveného souboru přidejte následující řádek:

net.ipv4.icmp_echo_ignore_all = 1

Nyní uložte a zavřete /etc/sysctl.conf a spusťte následující příkaz pro použití změn:

$ sysctl -p

Chcete-li ping odblokovat, upravte soubor /etc/sysctl.conf soubor a změňte hodnotu net.ipv4.icmp_echo_ignore_all zpět na 0:

net.ipv4.icmp_echo_ignore_all = 0

Blokovat nebo odblokovat požadavky ping pomocí iptables (trvale)

Iptables je nástroj příkazového řádku v Linuxu, který povoluje/blokuje provoz na základě sady pravidel. Distribuce Debian standardně obsahuje nástroj iptables. Pokud však váš systém tento nástroj nemá, můžete jej nainstalovat následovně:

$ sudo apt-get install iptables

Nyní zadejte níže uvedený příkaz v Terminálu pro blokování požadavků ping:

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

Ve výše uvedeném příkazu A volba se používá pro připojení pravidla v iptables a icmp-type 8 se používá pro ICMP echo requests. Tento příkaz přidá pravidlo do brány firewall, aby se zablokovaly všechny příchozí pingy do vašeho systému. Po přidání tohoto pravidla systém odmítne všechny příchozí požadavky na ping. Pokud se nyní jiný systém pokusí pingnout váš systém, obdrží „Cílový port nedosažitelný “.

Pokud nechcete, aby odesílající uživatel viděl zprávu Destination Port Unreachable, použijte ve výše uvedeném příkazu DROP namísto REJECT :

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

Pokud nyní uživatel pingne na váš systém, neobdrží žádnou odpověď:

Chcete-li odblokovat ping, použijte níže uvedený příkaz:

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

Nebo níže uvedený příkaz, pokud jste použili DROP možnost v pravidle iptables:

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

Ve výše uvedeném příkazu D možnost se používá pro smazání pravidla v iptables a icmp-type 8 se používá pro ICMP echo requests.

Chcete-li zobrazit seznam pravidel ve svých iptables, použijte následující příkaz:

$ sudo iptables -L

Pravidla iptables, která jsme přidali výše, nepřežijí restart systému. Aby přežily restart, budete muset nainstalovat iptables-persistent balík. Spusťte následující příkaz a nainstalujte jej:

$ sudo apt install iptables-persistent

Po každém pravidle, které přidáte nebo odstraníte v iptables, spusťte následující příkazy, aby tato pravidla po restartu trvala:

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

Takto můžete zablokovat/odblokovat požadavky ping na váš systém Debian. V tomto příspěvku jste se naučili různé způsoby, jak dočasně nebo trvale blokovat/odblokovat požadavky na ping. Pokud víte o nějakých dalších způsobech blokování/odblokování pingu, které jsme vynechali, rádi bychom je věděli v komentářích níže!


Debian
  1. Jak zablokovat nebo odblokovat požadavky ping na Ubuntu Server 20.04 LTS?

  2. Blokovat nebo odblokovat požadavek ping na Debian 10 - Jak provést tento úkol?

  3. Debian – Jak blokovat Non-free s předvolbami Apt?

  1. Jak nainstalovat Debian 10 (Buster)

  2. Jak změnit název hostitele v Debianu 10

  3. Jak nastavit vsftpd na Debianu

  1. Jak nainstalovat Python 3.9 na Debian 10

  2. Jak nainstalovat Memcached na Debian 10

  3. Jak nainstalovat TeamViewer na Debian 10