Протокол управляющих сообщений Интернета, также известный как ICMP, - это протокол, используемый для проверки возможности подключения хостов в сети. Мы также можем использовать этот протокол для диагностики проблем в сети. Но с точки зрения безопасности он также может быть использован кем-то для выполнения DDoS-атаки. Пинг-флуд или распределенная атака типа отказ в обслуживании (DDoS) - это форма атаки, при которой кто-то отправляет на хост множество ping-запросов, и этот хост становится почти недоступным для обычного трафика. Чтобы избежать такой ситуации, сетевые администраторы обычно блокируют ICMP в своей сети. В этой статье мы узнаем, как можно использовать таблицы IP для блокировки ICMP на нашем сервере.
Что такое таблицы IP?
IP Tables - это служебная программа межсетевого экрана для операционных систем Linux. Его можно использовать для приема, отклонения или возврата сетевого трафика к источнику или от источника. Он наблюдает за входящим сетевым трафиком, используя различные наборы правил, определенные в таблице. Эти наборы правил называются цепочками. Таблицы IP наблюдают за пакетами данных, и какой пакет соответствует правилам, направляется в другую цепочку или ему присваивается одно из следующих значений.
- ПРИНЯЛ: Пакет будет пропущен
- УРОНИТЬ: Пакет не будет пропущен
- ВОЗВРАЩАТЬСЯ: Цепочка вернет пакет в предыдущую цепочку.
Установка IP-таблиц
Для большинства дистрибутивов Linux IP-таблицы предустановлены. Вы можете проверить, установлены ли IP-таблицы или нет, набрав следующую команду в терминале.
[электронная почта защищена]: ~ $ iptables --versionЕсли IP-таблицы не установлены, вы можете установить их, выполнив следующую команду в терминале.
[электронная почта защищена]: ~ $ sudo apt-get update[электронная почта защищена]: ~ $ sudo apt-get install iptables
Мы можем проверить состояние IP-таблиц по умолчанию, выполнив следующую команду в терминале.
[электронная почта защищена]: ~ $ sudo iptables -L -vФлаг '-L' перечисляет все правила, а флаг '-v' показывает подробную информацию.
В качестве альтернативы мы также можем перечислить все правила, добавленные в таблицы IP, выполнив следующую команду в терминале.
[электронная почта защищена]: ~ $ sudo iptables -S
По умолчанию все цепочки принимают пакеты, и этим цепочкам не назначено правило.
Назначение правил цепочкам
Изначально ни одной цепочке не назначено никакое правило, и все они принимают сетевой трафик. Теперь в этом разделе мы увидим, как мы можем определить пользовательские правила для блокировки или разрешения сетевого трафика. Чтобы определить новое правило, мы используем флаг 'A' (добавить), который сообщает IP-таблицам, что будет определено новое правило. Следующие параметры также используются вместе с флагом A для описания правила.
-я (интерфейс): этот параметр указывает, через какой интерфейс вы хотите разрешить или заблокировать сетевой трафик. Вы можете получить список всех интерфейсов в вашей системе, выполнив следующую команду в терминале.
[электронная почта защищена]: ~ $ ifconfig-п (протокол): этот параметр определяет, какой протокол вы хотите фильтровать с помощью IP-таблиц. Это может быть TCP, UDP, ICMP, ICMPV6 и т. Д. Вы можете применять правила ко всем протоколам, используя все параметры.
-s (источник): эта опция показывает источник сетевого трафика, такой как IP-адрес или доменное имя.
-порт (порт назначения): этот параметр используется для указания порта назначения для сетевого трафика.
-j (цель): этот параметр используется для отображения цели. Это может быть ACCEPT, DROP, REJECT или RETURN. Эта опция обязательна для каждого правила.
В общем, основной синтаксис для добавления правила будет следующим:
[электронная почта защищена]: ~ $ sudo iptables -A-п