Как настроить брандмауэр с UFW в Debian 9

Настройка брандмауэра с UFW в Debian 9

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

UFW (Uncomplicated Firewall) — это удобный интерфейс для управления правилами брандмауэра iptables, и его главная цель — сделать управление iptables более простым или, как следует из названия, несложным.

В этом руководстве мы покажем вам, как настроить брандмауэр с UFW в Debian 9.

Предпосылки

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

Установить UFW

UFW не установлен по умолчанию в Debian 9. Вы можете установить пакет ufw , введя:

 sudo apt install ufw

Проверить статуса UFW

После завершения процесса установки вы можете проверить статус UFW с помощью следующей команды:

 sudo ufw status verbose

Вывод будет выглядеть так:

 Status: inactive

UFW по умолчанию отключен. Установка не активирует брандмауэр автоматически, чтобы избежать блокировки сервера.

Если UFW активирован, вывод будет выглядеть примерно так:

Статус Debian UFW

Политики UFW по умолчанию

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

Политики по умолчанию определены в файле /etc/default/ufw и могут быть изменены с помощью команды sudo ufw default .

Политики брандмауэра служат основой для создания более подробных пользовательских правил. В большинстве случаев начальные политики брандмауэра по умолчанию являются хорошей отправной точкой.

Профили приложений

При установке пакета с помощью apt в каталог /etc/ufw/applications.d будет добавлен профиль приложения, описывающий службу и содержащий настройки UFW.

Чтобы вывести список всех профилей приложений, доступных в вашей системе, введите:

 sudo ufw app list

В зависимости от установленных в вашей системе пакетов вывод будет выглядеть примерно следующим образом:

 Available applications: DNS IMAP IMAPS OpenSSH POP3 POP3S Postfix Postfix SMTPS Postfix Submission ...

Чтобы найти дополнительную информацию о конкретном профиле и включенных правилах, используйте следующую команду:

 sudo ufw app info OpenSSH
 Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: 22/tcp

Вывод выше говорит нам, что профиль OpenSSH открывает порт 22 .

Разрешить SSH-подключения

Перед включением брандмауэра UFW необходимо разрешить входящие SSH-подключения.

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

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

 sudo ufw allow OpenSSH
 Rules updated Rules updated (v6)

Если SSH-сервер прослушивает порт, отличный от порта по умолчанию 22, вам необходимо открыть этот порт.

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

 sudo ufw allow 8822/tcp

Включить UFW

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

 sudo ufw enable
 Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Вас предупредят, что включение брандмауэра может нарушить существующие SSH-подключения, просто введите y и нажмите Enter .

Разрешить соединения на других портах

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

Ниже приведено несколько примеров того, как разрешить входящие соединения с некоторыми наиболее распространенными службами:

Открытый порт 80 — HTTP

HTTP-соединения можно разрешить с помощью следующей команды:

 sudo ufw allow http

Вместо профиля http вы можете использовать номер порта 80 :

 sudo ufw allow 80/tcp

Открытый порт 443 — HTTPS

HTTPS-соединения можно разрешить с помощью следующей команды:

 sudo ufw allow https

Чтобы добиться того же самого, вместо https можно использовать номер порта 443 :

 sudo ufw allow 443/tcp

Откройте порт 8080

Если вы используете Tomcat или любое другое приложение, прослушивающее порт 8080, вы можете разрешить входящие соединения с помощью:

 sudo ufw allow 8080/tcp

Разрешить диапазоны портов

С помощью UFW вы также можете разрешить доступ к диапазонам портов. При разрешении диапазонов портов с помощью UFW необходимо указать протокол: tcp или udp .

Например, чтобы разрешить порты от 7100 до 7200 как для tcp , так и udp , выполните следующую команду:

 sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Разрешить определенные IP-адреса

Если вы хотите разрешить доступ ко всем портам с определенного IP-адреса, используйте команду ufw allow from , за которой укажите IP-адрес:

 sudo ufw allow from 64.63.62.61

Разрешить определенные IP-адреса на определенном порту

Чтобы разрешить доступ к определенному порту, например, порту 22 с вашего рабочего компьютера с IP-адресом 64.63.62.61, используйте следующую команду:

 sudo ufw allow from 64.63.62.61 to any port 22

Разрешить подсети

Команда для разрешения подключения из подсети IP-адресов такая же, как и при использовании одного IP-адреса, с той лишь разницей, что необходимо указать маску сети. Например, если вы хотите разрешить доступ для IP-адресов в диапазоне от 192.168.1.1 до 192.168.1.254 к порту 3360 ( MySQL ), выполните следующую команду:

 sudo ufw allow from 192.168.1.0/24 to any port 3306

Разрешение подключений к определенному сетевому интерфейсу

Чтобы разрешить доступ к определенному порту, скажем, порту 3360 на определенном сетевом интерфейсе eth2 , используйте команду allow in on за которой укажите имя интерфейса:

 sudo ufw allow in on eth2 to any port 3306

Запрет подключений

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

Предположим, вы открыли порты 80 и 443 , и ваш сервер подвергается атаке из сети 23.24.25.0/24 . Чтобы запретить все соединения из сети 23.24.25.0/24 , выполните следующую команду:

 sudo ufw deny from 23.24.25.0/24

Если вы хотите запретить доступ только к портам 80 и 443 из 23.24.25.0/24 то вы должны использовать:

 sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

Написание запрещающих правил аналогично написанию разрешающих правил, вам только нужно заменить allow на deny .

Удалить правила UFW

Существует два способа удаления правил UFW: по номеру правила и путем указания самого правила.

Удалять правила UFW по номеру проще, особенно если вы новичок в UFW.

Чтобы удалить правило по номеру, сначала нужно найти номер правила, которое вы хотите удалить. Для этого выполните следующую команду:

 sudo ufw status numbered
 Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 8080/tcp ALLOW IN Anywhere

Например, чтобы удалить правило номер 3, разрешающее подключения к порту 8080, введите:

 sudo ufw delete 3

Второй способ — удалить правило, указав его. Например, если вы добавили правило для открытия порта 8069 вы можете удалить его с помощью:

 sudo ufw delete allow 8069

Отключить UFW

Если по какой-либо причине вы хотите остановить UFW и деактивировать все правила, выполните:

 sudo ufw disable

Если позже вы захотите снова включить UTF и активировать все правила, просто введите:

 sudo ufw enable

Сброс номера

Сброс UFW отключит UFW и удалит все активные правила. Это полезно, если вы хотите отменить все изменения и начать всё заново.

Для сброса UFW просто введите следующую команду:

 sudo ufw reset

Заключение

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

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

брандмауэр ufw iptables безопасность Debian Не используете Debian 9?
Выберите другую ОС:
дебиан 10 убунту 18.04 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *