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

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

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

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

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

Предпосылки

Управлять системным брандмауэром может только пользователь root или с привилегиями sudo .

Установка UFW

Введите следующую команду для установки пакета ufw :

 sudo apt update sudo apt install ufw

Проверка статуса UFW

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

 sudo ufw status verbose

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

 Status: inactive

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

Статус Debian UFW

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

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

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

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

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

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

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

 sudo ufw utf --help

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

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

Чтобы получить дополнительную информацию о конкретном профиле и включённых правилах, используйте команду app info , указав после неё имя профиля. Например, чтобы получить информацию о профиле OpenSSH, используйте:

 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

Вывод включает имя профиля, заголовок, описание и правила брандмауэра.

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

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

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

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

 sudo ufw allow OpenSSH
 Rules updated Rules updated (v6)

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

Например, ваш SSH-сервер прослушивает порт 7722 , вам нужно выполнить:

 sudo ufw allow 7722/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

Вы также можете использовать номер порта 443 :

 sudo ufw allow 443/tcp

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

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

 sudo ufw allow 8080/tcp

Диапазоны открытия портов

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

Например, чтобы разрешить порты от 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 10. Обязательно разрешите все входящие соединения, необходимые для корректной работы системы, и ограничьте все ненужные соединения.

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

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

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

Источник

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

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