ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Настройка брандмауэра с UFW на Ubuntu

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

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 активирован, вывод будет выглядеть примерно так:

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

 

Стандартная политика UFW

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

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

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

 

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

Большинство приложений поставляются с профилем приложения, который описывает сервис и содержит настройки 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/tcpsudo 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 80sudo 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 и удалит все активные правила. Это полезно, если вы хотите отменить все свои изменения и начать все сначала.

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

sudo ufw reset

 

Вывод

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

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

Exit mobile version