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