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

12 set 2022 5 min di lettura
Как установить и настроить брандмауэр с помощью UFW в Debian 10
Indice dei contenuti

Введение

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

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

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

Предпосылки

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

Если вы хотите установить Брандмауэр UFW на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

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

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

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

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установить UFW

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

sudo apt install ufw

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

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

sudo ufw status

Вывод будет выглядеть следующим образом:

Status: inactive

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

Предопределенные правила UFW

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

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

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

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

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

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

sudo ufw app list

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

Available applications:
 AIM
 Bonjour
 CIFS
 DNS
 Deluge
 IMAP
 IMAPS
 IPP
 KTorrent
 Kerberos Admin
 Kerberos Full
 Kerberos KDC
 Kerberos Password
 LDAP
 LDAPS
 LPD
 MSN
 MSN SSL
 Mail submission
 NFS
 OpenSSH
 POP3...

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

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

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

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

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

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

sudo ufw allow from 64.63.62.61

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

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

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

Запретить 3 соединения

Политика по умолчанию для всех входящих соединений настроена на 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

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.