opened image

Настройка Firewall с помощью IPTables Ubuntu 20.04

Управление защитой сети является важной частью обеспечения безопасности сервера. В этой статье мы рассмотрим процесс настройки firewall в Ubuntu 20.04 с использованием инструмента управления пакетами, известного как iptables.

 

Введение в IPTables

IPTables - это мощный инструмент управления пакетами, доступный в большинстве дистрибутивов Linux, включая Ubuntu 20.04. Это средство позволяет администраторам определять поведение пакетов, проходящих через сетевую систему.

IPTables использует понятие "цепочек" и "правил". Цепочки - это наборы правил, которые применяются к пакетам, проходящим через систему, и они классифицируются как INPUT (для входящих пакетов), OUTPUT (для исходящих пакетов) и FORWARD (для пакетов, проходящих через систему).

 

Установка IPTables в Ubuntu 20.04

Перед тем, как начать работу с iptables, убедитесь, что он установлен на вашем сервере Ubuntu 20.04, используя команду:

sudo apt-get install iptables.

Настройка правил IPTables

Все команды IPTables должны начинаться с префикса sudo, так как они требуют привилегий суперпользователя. Но если вы уже находитесь под пользователем root, испозование sudo можете опустить. 

Создание новой цепочки:

sudo iptables -N <имя_цепочки>

Добавление правила для цепочки:

sudo iptables -A <имя_цепочки> -p <протокол> --dport <порт> -j <цель>

Удаление правила из цепочки:

sudo iptables -D <имя_цепочки> <номер_правила>

Просмотр списка текущих правил:

sudo iptables -L

 

 

Пример настройки Firewall в Ubuntu 20.04

Предположим, что мы хотим настроить firewall, чтобы разрешить только входящие соединения SSH, HTTP и HTTPS, все остальные соединения будут заблокированы.

Сначала мы создаем новую цепочку:

sudo iptables -N INPUT_RULES

 

 

Теперь добавим правила в нашу цепочку: 

​​​​​​​sudo iptables -A INPUT_RULES -m state --state RELATED,ESTABLISHED -j ACCEPT 

sudo iptables -A INPUT_RULES -p tcp --dport 22 -j ACCEPT

sudo iptables -A INPUT_RULES -p tcp --dport 80 -j ACCEPT

sudo iptables -A INPUT_RULES -p tcp --dport 443 -j ACCEPT

sudo iptables -A INPUT_RULES -j DROP

 

 

После применения этих правил, все исходящие соединения разрешены, входящие соединения SSH, HTTP и HTTPS разрешены, а все остальные входящие соединения блокируются.

 

Сохранение и восстановление правил IPTables

После того, как вы настроите правила, важно сохранить их, чтобы они продолжали работать после перезагрузки системы.

Чтобы сохранить текущие правила iptables в Ubuntu, вы можете использовать утилиту iptables-persistent.

Если iptables-persistent еще не установлен в вашей системе, вы можете установить его следующим образом: 

sudo apt-get install iptables-persistent 

 

 

Во время установки вас попросят сохранить текущие правила IPv4 и IPv6. Если вы хотите, чтобы ваши текущие iptables-правила автоматически загружались при загрузке системы, выберите <Yes> при обоих запросах.

Если в дальнейшем вы внесете изменения в правила iptables, то вы можете сохранить их вручную:

Для IPv4:

sudo iptables-save > /etc/iptables/rules.v4 

 

Для IPv6:

sudo ip6tables-save > /etc/iptables/rules.v6

 

 

Теперь ваши iptables-правила будут сохранены и автоматически применяться при каждой загрузке системы.

В заключение, IPTables представляет собой мощный инструмент для управления пакетами и настройки firewall в Ubuntu 20.04. Это позволяет администраторам контролировать входящие и исходящие соединения, что является важной частью обеспечения безопасности сервера.