- Настройка брандмауэра UFW на сервере Debian 10
- Требования
- 1: Установка UFW
- 2: Использование IPv6 (опционально)
- 3: Политика по умолчанию
- 4: Настройка соединений SSH
- 5: Включение UFW
- 6: Поддержка других соединений
- Настройка диапазонов портов
- Настройка IP-адресов
- Настройка подсетей
- Настройка сетевых интерфейсов
- 7: Блокирование соединений
- 8: Удаление правил
- Удаление правила по его номеру
- Удаление самого правила
- 9: Проверка состояния и правил UFW
- 10: Отключение или сброс правил UFW (опционально)
- Заключение
- Установка и настройка UFW Firewall в Debian
- Установка и включение брандмауэра UFW в Debian
- Установка UFW в Debian
- Включение/запуск брандмауэра на Debian
- Проверка состояния UFW
- Остановить или отключить (необязательно)
- Настройка брандмауэра UFW в Debian
- Правила брандмауэра — разрешить или запретить порты
- Разрешить специальные диапазоны портов и IP
- Фильтр приложений
- Разрешить все входящие и исходящие соединения UFW по умолчанию
- Список и удаление правил брандмауэра UFW на Debian
- Графический интерфейс пользователя для брандмауэра UFW в Debian
Настройка брандмауэра UFW на сервере Debian 10
UFW (Uncomplicated Firewall) – это удобный интерфейс iptables, предназначенный для упрощения процесса настройки брандмауэра. Инструмент iptables надёжный и гибкий, но новичкам непросто настроить его самостоятельно.
Данный мануал поможет вам настроить брандмауэр с помощью UFW на виртуальном сервере Debian 10.
Требования
Для работы вам нужен сервер Debian 10, настроенный по этому мануалу (разделы 1-3).
1: Установка UFW
В Debian инструмент UFW не установлен по умолчанию. Если вы выполнили мануал по начальной настройке, значит, вы уже установили его. Если нет, введите команду:
2: Использование IPv6 (опционально)
Данный мануал предназначен для IPv4, но он подойдёт и для IPv6.
Если на вашем сервере Debian включен протокол IPv6, убедитесь, что UFW поддерживает его. Откройте конфигурации UFW:
Убедитесь, что в настройках есть строка:
Сохраните и закройте файл.
После включения UFW будет поддерживать правила для протоколов IPv4 и IPv6.
Прежде чем приступить к работе над правилами, нужно убедиться, что брандмауэр поддерживает соединения SSH. Для этого ознакомьтесь с политикой UFW по умолчанию.
3: Политика по умолчанию
Начиная настройку брандмауэра, вы должны продумать и определить его политику по умолчанию. Эти правила управляют обработкой трафика, который не отвечает другим правилам. По умолчанию UFW сбрасывает все входящие и разрешает все исходящие соединения. Это значит, что другие пользователи не смогут получить доступ к вашему облачному серверу, но все установленные на сервере приложения могут взаимодействовать с внешними приложениями.
Чтобы вернуться к исходным правилам, введите команды:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Если вы настроили пользовательский набор правил, эти команды сбросят его и восстановят исходный набор. Теперь брандмауэр будет сбрасывать все входящие и поддерживать исходящие соединения.
Стандартные правила брандмауэра подходят для персональных компьютеров; серверам обычно необходимо принимать входящий трафик.
4: Настройка соединений SSH
Если включить UFW сейчас, он заблокирует все входящие соединения. Потому нужно создать правила, которые разрешат входящий трафик заведомо доверенных сервисов (например, SSH и HTTP). Обязательно нужно разрешить трафик SSH на облачном сервере, так как этот протокол позволяет вам подключаться к серверу.
Чтобы разблокировать соединения SSH, введите:
Это правило разрешит входящие соединения по порту 22 (порт SSH по умолчанию). UFW знает имена некоторых сервисов (в том числе и SSH), которые перечислены в файле /etc/services.
Вместо названия сервиса в правиле можно указать порт. Например:
Если вы используете нестандартный порт для SSH, укажите его в команде. К примеру, если SSH прослушивает порт 2222, нужно ввести:
5: Включение UFW
Чтобы включить брандмауэр UFW, введите:
Вы получите предупреждение:
command may disrupt existing ssh connections
Это означает, что команда может сбросить все текущие ssh-соединения. Поскольку только что вы разблокировали трафик ssh, этого не произойдёт. Можно нажать y и Enter, чтобы продолжить.
Теперь брандмауэр включен. Чтобы просмотреть текущий набор правил, введите:
6: Поддержка других соединений
Теперь разблокируйте другие соединения, которые нужны для работы вашего сервера. Список необходимых сервисов индивидуален для каждого сервера.
Ниже мы приведём несколько примеров правил наиболее востребованных сервисов.
Незашифрованные соединения HTTP можно разблокировать с помощью команды allow, указав протокол или порт:
sudo ufw allow http
sudo ufw allow 80
Зашифрованные соединения HTTPS можно разрешить при помощи команд:
sudo ufw allow https
sudo ufw allow 443
Настройка диапазонов портов
UFW позволяет разблокировать необходимый диапазон портов. Некоторые приложения используют сразу несколько портов.
К примеру, чтобы разрешить трафик X11, нужно разблокировать порты 6000-6007:
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp
Указывая диапазон портов, вы должны указать протокол (tcp или udp). Если вы не сделаете этого, UFW будет использовать оба протокола (в большинстве случаев это нормально).
Настройка IP-адресов
Также UFW может поддерживать трафик определённых IP-адресов. К примеру, чтобы разрешить доступ IP-адресу 203.0.113.4, нужно ввести from и сам адрес:
sudo ufw allow from 203.0.113.4
Вы можете ограничить доступ для определенного IP-адреса конкретным портом с помощью опции to any port. Например, чтобы разрешить IP-адресу 203.0.113.4 SSH-доступ, используйте:
sudo ufw allow from 203.0.113.4 to any port 22
Настройка подсетей
Чтобы разблокировать в брандмауэре подсеть IP-адресов, используйте CIDR-нотации для определения маски подсети. К примеру, чтобы разрешить трафик от диапазона IP-адресов 203.0.113.1-203.0.113.254 , нужно ввести:
sudo ufw allow from 203.0.113.0/24
Аналогичным образом можно указать порт, доступ к которому есть у подсети. Например, чтобы открыть доступ к порту 22, нужно ввести:
sudo ufw allow from 203.0.113.0/24 to any port 22
Настройка сетевых интерфейсов
Правила брандмауэра могут применяться к конкретному интерфейсу. Для этого нужно ввести allow in on, а затем указать имя этого интерфейса.
Прежде чем продолжить, просмотрите свои сетевые интерфейсы.
ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state
. . .
3: eth1: mtu 1500 qdisc noop state DOWN group default
. . .
Имена интерфейсов выделены красным (обычно они называются eth0, enp3s2 и т.п.).
Чтобы разблокировать трафик HTTP для интерфейса eth0, введите:
sudo ufw allow in on eth0 to any port 80
Чтобы сервер баз данных MySQL (порт 3306) мог прослушивать соединения интерфейса частной сети eth1, нужно ввести:
sudo ufw allow in on eth1 to any port 3306
7: Блокирование соединений
По умолчанию UFW блокирует все входящие соединения. В целом это очень надежная политика.
Однако иногда вам может потребоваться заблокировать определенные подключения на основе IP-адреса или подсети (например, если вы знаете, что ваш сервер регулярно подвергается атакам оттуда).
Если вы хотите изменить политику брандмауэра по умолчанию на allow, вам нужно уметь блокировать трафик определённых вредоносных IP-адресов или подсетей.
Правила, блокирующие трафик, пишутся точно так же, только вместо allow используется deny.
К примеру, чтобы заблокировать HTTP, нужно ввести:
Чтобы заблокировать все соединения адреса 203.0.113.4, введите команду:
sudo ufw deny from 203.0.113.4
8: Удаление правил
Существует два способа удалить правило: указать номер правила или само правило.
Удаление правила по его номеру
Для начала просмотрите список существующих правил. Для этого запросите состояние брандмауэра с опцией numbered.
sudo ufw status numbered
Status: active
To Action From
— —— —-
[ 1] 22 ALLOW IN 15.15.15.0/24
[ 2] 80 ALLOW IN Anywhere
К примеру, чтобы удалить правило 2 (открывающее трафик HTTP по порту 80), нужно ввести команду:
Брандмауэр запросит подтверждение.
Примечание: Если сервер поддерживает IPv6, нужно удалить соответствующее правило и для этого протокола.
Удаление самого правила
Также можно указать в команде то самое правило, которое нужно удалить. К примеру, чтобы удалить allow http, нужно запустить:
sudo ufw delete allow http
Этот метод работает и для IPv4, и для IPv6.
9: Проверка состояния и правил UFW
Чтобы проверить состояние UFW, введите:
По умолчанию брандмауэр UFW отключен:
Если брандмауэр включен, на экране появится его состояние и список правил. К примеру, если он поддерживает соединения SSH (порт 22), вывод будет выглядеть так:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
— —— —-
22/tcp ALLOW IN Anywhere
10: Отключение или сброс правил UFW (опционально)
Если вы хотите отключить брандмауэр UFW, введите команду:
Все правила будут отключены.
Если вы хотите сбросить текущий набор правил UFW, запустите:
Эта команда сбросит все текущие правила. Имейте в виду: при этом политика брандмауэра по умолчанию не будет восстановлена.
После этого вы можете добавить новые правила.
Заключение
Теперь ваш брандмауэр поддерживает SSH-соединения. Также вы знаете основные команды для управления UFW. Обязательно откройте все необходимые входящие соединения и заблокируйте порты, которые не используются.
Установка и настройка UFW Firewall в Debian
UFW (uncomplicated firewall) — это интерфейс к IPTables, который должен упростить процесс настройки брандмауэра. Целью UFW является простой интерфейс на основе командной строки для очень мощного, но не совсем простого в настройке IPTables. UFW поддерживает как IPv4, так и IPv6. Если вы хотите защитить сеть или контролировать входящие и исходящие соединения вашего сервера, без брандмауэра не обойтись. UFW — это практичный инструмент, который можно контролировать и настраивать через терминал.
Установка и включение брандмауэра UFW в Debian
Установка UFW в Debian
Если после установки Debian Linux вы не можете использовать команду UFW из-за ошибки not found, то её необходимо сначала установить.
sudo apt update sudo apt install ufw
Включение/запуск брандмауэра на Debian
После установки служба брандмауэра не будет активирована по умолчанию, и чтобы она заработала, выполните следующее:
Проверка состояния UFW
Чтобы убедиться, что служба брандмауэра UFW работает правильно и без ошибок:
Остановить или отключить (необязательно)
Если вы хотите остановить или отключить брандмауэр, выполните следующие действия:
Настройка брандмауэра UFW в Debian
Правила брандмауэра — разрешить или запретить порты
Активация брандмауэра без определения правил уже означает, что все входящие соединения запрещены, а все исходящие — разрешены.
ufw использует трехуровневый набор правил, который хранится в трех конфигурационных файлах. Они считываются и оцениваются в следующем порядке:
- /etc/ufw/before.rules
- /var/lib/ufw/user.rules (или /lib/ufw/user.rules — в котором также сохраняются правила, заданные в командной строке)
/etc/ufw/after.rules - Это означает, что правила в user.rules могут перезаписывать правила в before.rules, а правила в after.rules — правила из user.rules.
Стандартные файлы правил UFW содержат некоторые основные правила, позволяющие беспрепятственно передавать внутренний сетевой трафик. Однако вы можете добавить правила в ufw с помощью очень простой команды, синтаксис которой приведен ниже:
sudo ufw allow|deny|reject SERVICE
Чтобы разрешить порт номер 8080 в UFW, команда будет следующей:
Разрешить специальные диапазоны портов и IP
UFW может разрешить доступ к диапазонам портов вместо отдельных портов. Здесь необходимо указать протокол — UDP или TCP — для которого должны применяться правила.
Если диапазон портов, которые вы хотите разрешить, простирается от 5000 до 5010, то в терминале необходимо выполнить следующие команды для UDP и TCP.
sudo ufw allow 5000:5010/udp sudo ufw allow 5000:5010/tcp
Также с помощью UFW можно указать разрешенные IP-адреса. Например, если вы хотите разрешить соединения с частного IP-адреса 192.168.0.104, выполните следующую команду:
sudo ufw allow from 192.168.0.104
Вы также можете разрешить определенные порты для IP-адреса. Для этого вам нужно указать конкретный порт, например 22, если вы хотите установить соединение через SSH с вышеупомянутым IP-адресом. Это можно сделать с помощью следующей команды:
sudo ufw allow from 192.168.253.49 to any port 22
Фильтр приложений
Несколько общих файлов служб автоматически создаются при установке службы/программы, которую необходимо защитить с помощью ufw. Соответствующие файлы конфигурации находятся в каталоге /etc/ufw/applications.d/. Это простые текстовые файлы, содержащие имя службы, краткое описание, а также порты и протоколы, которые должны быть открыты.
Обзор всех текущих фильтров приложений можно получить с помощью команды
Это выглядит, например, следующим образом:
Разрешить все входящие и исходящие соединения UFW по умолчанию
Запретить или разрешить все входящие соединения:
Для запрета всех соединений:
sudo ufw default deny incoming
Для разрешения всех соединений:
sudo ufw default allow incoming
Запретить или разрешить все исходящие соединения:
sudo ufw default allow outgoing
sudo ufw default deny outgoing
Список и удаление правил брандмауэра UFW на Debian
Перед удалением давайте сначала посмотрим список всех активных правил в брандмауэре UFW. Для этого мы можем использовать:
Вы увидите все правила UFW вместе с номером, в котором они были активированы. Чтобы удалить любое из них, просто используйте указанную команду вместе с серийным номером. Например, в приведенной выше команде я хочу удалить второе правило 22/TCP. Тогда команда будет выглядеть следующим образом:
Графический интерфейс пользователя для брандмауэра UFW в Debian
Те, кто использует Graphical Desktop Linux, могут установить графический интерфейс пользователя для своего брандмауэра UFW под названием «GUFW» (Graphical Uncomplicated Firewall), чтобы легко управлять им. Этот инструмент предоставляет интерфейс, с помощью которого можно удобно создавать правила для входящих и исходящих соединений.