Инструменты пользователя

Инструменты сайта

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Оставить на чай
  • Экспорт в PDF
  • Наверх

  • software:linux_server:ubuntu_server_setting_firewall_ufw

    Hастройка брандмауэра с помощью UFW Ubuntu Server

    Введение

    Настройка работающего брандмауэра имеет решающее значение для защиты вашего облачного сервера. Раньше настройка брандмауэра выполнялась с помощью сложных или непонятных утилит. Многие из этих утилит (например, iptables) имеют множество встроенных функций, но требуют от пользователя дополнительных усилий для их изучения и понимания.

    Другой вариант — UFW , или Несложный межсетевой экран . UFW — это интерфейс, целью iptablesкоторого является обеспечение более удобного интерфейса, чем у других утилит управления брандмауэром. UFW хорошо поддерживается сообществом Linux и обычно устанавливается по умолчанию во многих дистрибутивах.

    В этом руководстве вы настроите брандмауэр с помощью UFW для защиты облачного сервера Ubuntu или Debian. Вы также узнаете, как настроить правила UFW по умолчанию, чтобы разрешить или запретить соединения для портов и IP-адресов, удалить созданные вами правила, отключить и включить UFW, а также сбросить все настройки обратно к настройкам по умолчанию, если вы предпочитаете.

    Предварительные условия

    Чтобы следовать этому руководству, вам понадобится сервер под управлением Ubuntu или Debian. На вашем сервере должен быть пользователь без полномочий root с привилегиями sudo. Чтобы настроить это для Ubuntu, следуйте нашему руководству по начальной настройке сервера с Ubuntu 20.04 . Чтобы настроить это для Debian, следуйте нашему руководству по начальной настройке сервера с Debian 11 . Оба этих руководства по начальной настройке сервера гарантируют, что на вашем компьютере установлен UFW и что у вас есть безопасная среда, которую вы можете использовать для практики создания правил брандмауэра.

    Установка UFW

    По умолчанию начиная с Ubuntu 18.04 программа поставляется с установленной UFW. Однако, для более ранних систем, вы должны выполнить команду ниже

    apt-get install ufw

    Для того, чтобы проверить, является ли UFW запущенным:

    systemctl status ufw

    Чтобы проверить, является ли он активным или неактивным

    sudo ufw status

    Если он активен, вы получите вывод ниже

    Если он неактивен, вы получите вывод ниже

    Чтобы включить UFW с набором правил по умолчанию, запустите

    sudo ufw enable

    Чтобы отключить запуск брандмауэра

    sudo ufw disable

    Использование IPv6 с UFW

    sudo nano /etc/default/ufw

    После внесения изменений сохраните и выйдите из файла. Если вы используете nano, нажмите CTRL + X, Y, а затем ENTER.

    Теперь перезапустите брандмауэр, сначала отключив его:

    sudo ufw disable

    Затем включите его снова:

    sudo ufw enable

    Ваш брандмауэр UFW теперь настроен для настройки брандмауэра как для IPv4, так и для IPv6, когда это необходимо. Далее вы настроите правила по умолчанию для подключений к брандмауэру.

    Настройка параметров UFW по умолчанию

    Вы можете повысить эффективность своего брандмауэра, определив правила по умолчанию для разрешения и запрета подключений. По умолчанию UFW запрещает все входящие соединения и разрешает все исходящие соединения. Это означает, что любой, кто попытается подключиться к вашему серверу, не сможет подключиться, в то время как любое приложение на сервере может подключиться извне. Чтобы обновить правила по умолчанию, установленные UFW, сначала обратитесь к правилу входящих подключений:

    sudo ufw default deny incoming

    Затем обратитесь к правилу исходящих соединений:

    sudo ufw default allow outgoing

    Примечание. Если вы хотите ввести более строгие ограничения, вы можете запретить все исходящие запросы. Этот вариант основан на личных предпочтениях. Например, если у вас есть общедоступный облачный сервер, это может помочь предотвратить любые подключения к удаленной оболочке. Однако это делает ваш брандмауэр более громоздким в управлении, поскольку вам также придется устанавливать правила для всех исходящих соединений. Вы можете установить это значение по умолчанию, выполнив следующие действия:

    sudo ufw default deny outgoing

    Разрешение подключений к брандмауэру

    Разрешение подключений требует изменения правил брандмауэра, что можно сделать, введя команды в терминале. Например, если вы сейчас включите брандмауэр, он запретит все входящие соединения. Если вы подключены к своему серверу через SSH, это будет проблемой, поскольку вы будете заблокированы на своем сервере. Чтобы этого не произошло, включите SSH-подключения к вашему серверу:

    sudo ufw allow ssh

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

    UFW поставляется с некоторыми настройками по умолчанию, такими как sshкоманда, использованная в предыдущем примере. Альтернативно вы можете разрешить входящие подключения к порту 22/tcp, который использует протокол управления передачей (TCP) для достижения той же цели:

    sudo ufw allow 22/tcp

    Если ваш SSH-сервер работает на порту 2222, вы можете разрешить соединения с тем же синтаксисом, но заменить его на порт 2222. Обратите внимание, что если вы используете номер порта сам по себе, это также повлияет tcp на :udp

    sudo ufw allow 2222/tcp

    Если вы хотите удалить правило, запустите

    sudo ufw delete allow 2222/tcp

    Чтобы увидеть все услуги, которые могут быть разрешены или запрещены в системе проверьте файл /etc/services.

    cat /etc/services | less

    Защита веб-серверов

    Чтобы защитить веб-сервер с помощью протокола передачи файлов (FTP), вам необходимо разрешить соединения для порта 80/tcp.

    Разрешение подключений для порта 80полезно для веб-серверов, таких как Apache и Nginx, которые прослушивают запросы HTTP-соединения. Для этого разрешите подключения к порту 80/tcp:

    sudo ufw allow 80/tcp

    UFW обычно предоставляет профилям правила, необходимые для работы веб-сервера. В противном случае профили веб-сервера можно сохранить как «WWW» и открыть как ftp или tcp, как в следующих примерах:

    sudo ufw allow www

    Вы также можете использовать ftp или порт 21, чтобы разрешить FTP-соединения:

    sudo ufw allow ftp
    sudo ufw allow 21/tcp

    Для FTP-подключений вам также необходимо разрешить подключения для порта 20:

    sudo ufw allow 20/tcp

    Ваши настройки будут зависеть от того, какие порты и службы вам нужно открыть, и может потребоваться тестирование. Не забудьте также оставить разрешенным ваше SSH-соединение.

    Указание диапазонов портов

    Вы также можете указать диапазоны портов, которые можно разрешить или запретить с помощью UFW. Для этого необходимо сначала указать порт в нижней части диапазона, после него поставить двоеточие ( :), а затем указать верхний конец диапазона. Наконец, вы должны указать, к какому протоколу (или tcpили udp) вы хотите применить правила.

    Например, следующая команда разрешит TCP-доступ ко всем портам от 1000 до 2000 включительно:

    sudo ufw allow 1000:2000/tcp

    Аналогично, следующая команда запретит UDP-подключения к каждому порту от 1234до 4321:

    sudo ufw deny 1234:4321/udp

    Указание IP-адресов

    Вы можете разрешить подключения с определенного IP-адреса, как показано ниже. Обязательно замените IP-адрес своей собственной информацией:

    sudo ufw allow from 192.165.1.117

    Запрет соединений

    Если вы хотите открыть все порты вашего сервера ( что не рекомендуется ), вы можете разрешить все соединения, а затем запретить любые порты, к которым вы не хотите предоставлять доступ. В следующем примере показано, как запретить доступ к порту 80:

    sudo ufw deny 80/tcp

    Удаление правил

    Если вы хотите удалить некоторые правила, которые вы администрировали, используйте delete и укажите правило, которое вы хотите удалить (пример диапазон портов 1000:2000):

    sudo ufw delete allow 1000:2000/tcp

    Если правила длинные и сложные, существует альтернативный двухэтапный подход. Сначала создайте нумерованный список текущих правил:

    sudo ufw status numbered

    Затем с помощью этого нумерованного списка просмотрите, какие правила разрешены в данный момент, и удалите правило, сверившись с его номером:

    Например, если диапазон портов 1234:4321/udp в списке имеет номер 6, вы должны использовать следующий синтаксис. Вам также может быть задан вопрос, хотите ли вы продолжить операцию. Вы можете решить да Y или нет N:

    sudo ufw delete 6 

    Вывод на экран:

    Вы также можете использовать verbose для более полного вывода:

    sudo ufw status verbose

    Сброс настроек по умолчанию

    Если по какой-то причине вам необходимо сбросить правила вашего облачного сервера к настройкам по умолчанию, вы можете сделать это с помощью ufw reset команды. Обратите внимание, что вы получите приглашение написать Y или N перед сбросом всех данных, поскольку это может нарушить существующие соединения SSH:

    sudo ufw reset

    Сброс настроек по умолчанию отключит UFW и удалит все ранее определенные вами правила. Однако настройки по умолчанию не изменятся на исходные, если вы вообще их измените. Теперь вы можете начать работу с UFW заново и настроить правила и соединения по своему вкусу.

    Заключение

    В этом руководстве вы узнали, как настроить облачный сервер, чтобы разрешить или ограничить доступ к подмножеству портов или IP-адресов. Кроме того, вы попрактиковались в удалении любых правил, которые вам больше не нужны, и подтверждении того, что эти изменения были учтены, отключив, а затем включив брандмауэр UFW. Наконец, вы узнали, как сбросить настройки брандмауэра UFW до настроек по умолчанию. Чтобы узнать больше о возможностях UFW, ознакомьтесь с нашим руководством «Основы UFW: общие правила и команды брандмауэра».

    Ссылки и Дополнения

    Обсуждение

    Ваш комментарий:

    Внимание! Оставляя комментарий Вы соглашаетесь с пониманием и несете ответственность за свои действия гл.2 ст.18 Федерального закона №38-ФЗ «О рекламе» и ст.3 п.1 Федерального закона №152-ФЗ «О персональных данных»
    229 +0 =​
     
    software/linux_server/ubuntu_server_setting_firewall_ufw.txt · Последнее изменение: 2024/03/01 11:40 — vladpolskiy