Управление защитой сети является важной частью обеспечения безопасности сервера. В этой статье мы рассмотрим процесс настройки 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. Это позволяет администраторам контролировать входящие и исходящие соединения, что является важной частью обеспечения безопасности сервера.