Ubuntu

Как да блокирам или отблокирам заявки за пинг на Ubuntu Server 20.04 LTS

Как да блокирам или отблокирам заявки за пинг на Ubuntu Server 20.04 LTS
Ping е помощна програма за мрежова администрация, която се използва за тестване на наличността на система в IP мрежа. Ping също се използва за тестване на качеството на мрежовата връзка чрез наблюдение на времето за двупосочно пътуване и загубите на пакети. От друга страна, мрежовите натрапници и хакери също използват ping за идентифициране на мрежови подмрежи за намиране на потенциални хостове или за извършване на ICMP атаки от наводнения. Следователно е добра практика да блокирате заявки за пинг към сървърите си, за да предотвратите всякакъв вид атака.

Тази статия е за това как да блокирате заявките за ping към Linux Server. Също така ще опишем как да деблокирате заявките за ping в случай, че трябва да използвате ping за системно администриране и отстраняване на неизправности.

Предпоставки

Забележка: Командите, обсъдени тук, са тествани на Ubuntu 20.04 LTS.

Блокиране / деблокиране на заявки за пинг към Linux Server

Ping работи, като изпраща ICMP пакет (Echo заявка) към системата за получаване и след това получава ICMP пакет за отговор (Echo reply). В Linux командата ping продължава да изпраща ICMP пакети, докато не я спрете с помощта на Ctrl + C.

За да блокирате заявките за ping, ще трябва да игнорирате / блокирате ICMP ехо заявките, изпратени до вашия сървър. Има два начина, чрез които можете да блокирате / деблокирате ICMP ехо заявки към Linux сървъра.

Да започваме.

Блокиране / деблокиране на заявки за пинг чрез параметри на ядрото

Чрез параметрите на ядрото можете да блокирате заявки за ping временно или постоянно. Параметрите на ядрото могат да бъдат променяни чрез sysctl команда, / sys / proc директория и / и т.н. / sysctl.conf файл.

Временни заявки за блокиране / деблокиране на пинг

Командата sysctl в Linux се използва за четене и запис на параметри на ядрото в / proc / sys директория. Използвайки тази команда, можем да настроим параметри на ядрото за блокиране / деблокиране на заявки за пинг. Параметърът на ядрото нето.ipv4.icmp_echo_ignore_all контролира дали системата трябва да реагира на ICMP ехо искането. Стойността по подразбиране е '0 ' което означава да се отговори на искането на ICMP.

Блокиране на заявка за пинг

За да блокирате заявката за ping, издайте следната команда в терминала:

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

Тази команда задава параметъра на ядрото на '1', което означава да се игнорират всички ICMP заявки.

Сега всички заявки за пинг към вашата система ще бъдат блокирани и подателят няма да получи отговор, както е показано на екрана по-долу.

Деблокирайте заявката за пинг

За да деблокирате заявките за пинг, отново изпълнете същата команда, като промените стойността на параметъра на „0“ по подразбиране.

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

Като алтернатива можете да блокирате заявките за ping, като промените стойността на параметъра на ядрото в / proc / sys директория с помощта на командата echo. За да използвате този метод обаче, ще трябва да стартирате командата като root.

За да блокирате заявката за ping, първо преминете към основния акаунт, като използвате следната команда в терминала:

$ su корен

Когато бъдете подканени за паролата, въведете паролата за root.

След това издайте следната команда в терминала:

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

За да отблокирате заявките за пинг, командата ще бъде:

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

Постоянно блокиране на заявки за пинг

Параметрите на ядрото също могат да бъдат модифицирани чрез / и т.н. / sysctl.конф файл. Този файл ще ви позволи да блокирате постоянно заявките за пинг на вашия сървър.

Блокиране на заявка за пинг

За да блокирате заявката за ping към вашата система, редактирайте / и т.н. / sysctl.конф файл:

$ sudo nano / etc / sysctl.конф

След това добавете следния ред във файла:

нето.ipv4.icmp_echo_ignore_all = 1

Запазете и затворете файла.

След това издайте следната команда в Terminal, за да приложите тази конфигурация без рестартиране:

$ sysctl -p

Деблокирайте заявката за пинг

За да отблокирате заявки за пинг, редактирайте / и т.н. / sysctl.конф файл:

$ sudo nano / etc / sysctl.конф

След това променете стойността на нето.ipv4.icmp_echo_ignore_all да се '0 ':

нето.ipv4.icmp_echo_ignore_all = 0

Запазете и затворете файла.

След това издайте следната команда в Terminal, за да приложите тази конфигурация без рестартиране:

$ sysctl -p

Блокиране / деблокиране на заявки за пинг с помощта на iptables

Iptables е помощна програма за защитна стена в Linux, която контролира входящия и изходящия трафик въз основа на определени правила. Той се предлага предварително инсталиран в системата Ubuntu. В случай, че липсва в системата, можете да го инсталирате, като използвате следната команда в терминала:

$ sudo apt инсталира iptables
Блокиране на заявка за пинг

За да блокирате заявки за пинг към вашата система, въведете следната команда в терминала:

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

Където A flag се използва за добавяне на правило в iptables и тип icmp 8 е номер на ICMP тип, използван за ехо искане.

Горната команда ще добави правило в защитната стена, което ще блокира всички входящи заявки за ping към вашата система. Чрез добавяне на това правило, всеки, който изпраща заявка за пинг до вашата система, ще види „Дестинация Порт недостижимСъобщение, както е показано на екрана по-долу.

Ако не искате това съобщение да се показва, използвайте следната команда за замяна ОТХВЪРЛЕТЕ с ИЗПУСКАЙТЕ:

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

Сега всеки, изпращащ заявката за ping към вашата система, ще види следния подобен изход:

Деблокирайте заявката за пинг

За да деблокирате заявките за пинг на вашия сървър, въведете следната команда в терминала:

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

Където д flag се използва за изтриване на правило в iptables и тип icmp 8 е номер на ICMP тип, използван за ехо заявка.

За да направите тези правила устойчиви след рестартиране на системата, ще ви трябва iptables-упорито пакет. Издайте командата по-долу в терминала, за да инсталирате iptables-persistent:

$ sudo apt install iptables-persistent

Ще бъдете помолени да потвърдите дали искате да продължите с инсталацията или не. Хит у за да продължите, след което системата ще започне инсталацията и след като приключи, тя ще бъде готова за използване.

След добавяне или изтриване на което и да е правило, издавайте следните команди в терминала, за да ги накарате да оцелеят при рестартирането на системата.

$ sudo netfilter-persistent save
$ sudo netfilter-упорито презареждане

За да видите всички правила, добавени към вашите iptables, издайте следната команда в терминала:

$ sudo iptables -L

Това е всичко! В тази статия обсъдихме как да блокираме / деблокираме заявки за пинг към Linux Server или чрез параметрите на ядрото, или чрез помощната програма iptables. Надявам се това да помогне!

Как да използвам Xdotool за стимулиране на кликвания и натискания на мишката в Linux
Xdotool е безплатен инструмент с команден ред с отворен код за симулиране на щраквания и натискания на мишката. Тази статия ще обхване кратко ръководс...
Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...