Настройка ufw
ufw – (Uncomplicated Firewall) это обертка для iptables, инструмент для настройки сетевой защиты, разработан и предназначен для легкого, интуитивно понятного управления межсетевым экраном. Потому что сама iptables хоть и предоставляет очень гибкую систему настроек, но достаточно сложна в конфигурировании. ufw в Ubuntu установлен по умолчанию, и на её серверах рекомендуется использовать именно его, к то муже он отлично справится с настройкой большинства типовых задач.
sudo apt-get install ufw # Для установки если удалили или не стоит
Настройки по умолчанию
По умолчанию ufw сбрасывает все входящие и разрешает все исходящие соединения. Если вы создали свои правила и они вас не устраивают, эти команды сбросят ufw и восстановят настройки по умолчанию:
sudo ufw default deny incoming sudo ufw default allow outgoing
Пользовательские правила, если вы их создали, останутся.
Для сброса вообще всех настроек и возвращения фаервола к изначальному состоянию:
sudo ufw reset
Настройка соединений SSH
Если включить ufw сразу, он заблокирует все входящие соединения. Поэтому нужно создать правила, которые разрешат входящий трафик заведомо безопасных сервисов. Что бы сервер не разорвал наше SSH соединение с ним:
sudo ufw insert 1 allow ssh
или можно указать порт:
sudo ufw allow 22
Если вы будете использовать нестандартный порт SSH, нужно указать в команде его:
sudo ufw allow 2222
Проверка состояния и правил ufw
Просмотреть текущие правила:
sudo ufw status verbose
По умолчанию UFW отключен и вернёт:
Status: inactive
Если брандмауэр включен, на экране появится его состояние и список правил:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
Разрешение соединений
Разрешить HTTP соединения:
sudo ufw allow http sudo ufw allow 80
Разрешить HTTPS соединения:
sudo ufw allow https sudo ufw allow 443
Разрешить ftp соединения:
sudo ufw allow ftp sudo ufw allow 21/tcp
Соединения ftp используются для незашифрованного обмена файлами, поэтому имейте ввиду, этот метод передачи данных небезопасен.
Диапазонов портов
Некоторые приложения используют несколько портов. К примеру, чтобы разрешить трафик X11, нужно разблокировать порты 6000-6007:
sudo ufw allow 6000:6007/tcp sudo ufw allow 6000:6007/udp
Указывая диапазон портов, нужно уточнять какой протокол будет использоваться, tcp или udp. Если не укать, ufw будет использовать оба.
IP-адреса
Иногда бывает нужно разрешить трафик с определённых IP-адресов. Или ограничить доступ для IP конкретным портом.
Разрешить доступ IP-адресу 192.168.200.26:
sudo ufw allow from 192.168.200.26
Разрешить IP-адресу SSH-доступ на 2222 порту:
sudo ufw allow from 192.168.200.26 to any port 2222
Настройка подсетей
Чтобы разблокировать подсеть IP-адресов, используем маску подсети.
Разрешить трафик с диапазона IP-адресов 192.168.200.1-192.168.200.254:
sudo ufw allow from 192.168.200.0/24
Задать порт, доступ к которому есть у подсети к порту 22: sudo ufw allow from 192.168.200.0/24 to any port 22
Настройка сетевых интерфейсов
Брандмауэр можно настроить для конкретного интерфейса.
Просмотреть сетевые интерфейсы:
ip addr
Разблокировать трафик HTTP для enp1s0:
sudo ufw allow in on enp1s0 to any port 80
Чтобы сервер баз данных MySQL (3306 порт) мог прослушивать соединения интерфейса частной сети enp1s0:
sudo ufw allow in on enp1s0 to any port 3306
Блокирование соединений
Заблокировать HTTP:
sudo ufw deny http
или заблокировать порт
sudo ufw deny 22
Заблокировать ftp c уведомлением о недоступности:
sudo ufw reject ftp comment 'FTP closed.'
Заблокировать все соединения адреса 192.168.200.26:
sudo ufw deny from 192.168.200.26
Заблокировать доступ с текущей машины на 192.168.200.27 в диапазоне портов 1:100:
sudo ufw deny out to 192.168.200.27 port 1:100
Удаление правил брандмауэра
Удалять правила можно двумя споcобами, указывая номер правила либо само правило.
Просмотреть список существующих правил с нумерацией (numbered):
sudo ufw status numbered
Чем меньше номер тем приоритетней правило.
Удалить правило с номером 2:
sudo ufw delete 2
Программа запросит подтверждения.
Удалить указав команде само правило, которое нужно удалить:
sudo ufw delete allow http
или
sudo ufw delete allow 80
Включение и отключение или сброс правил ufw
Включение ufw:
sudo ufw enable
Программа запросит подтверждения.
Отключить ufw (все правила будут деактивированы):
sudo ufw disable
Сбросить текущий набор правил ufw:
sudo ufw reset
Эта команда сбросит все текущие правила брандмауэра, но политика по умолчанию не будет восстановлена.
IPv6
Если на сервере включен протокол IPv6, убедитесь, что включена поддержка IPv6 В конфигурации ufw:
sudo nano /etc/default/ufw
должна быть строка:
IPV6=yes
После включения ufw будет поддерживать правила для IPv4 и IPv6.
Журналирование
Включить журналирование:
sudo ufw logging on
Выключить журналирование:
sudo ufw logging off
Мониторить журнал в реальном времени:
sudo tail -f /var/log/ufw.log
Задать уровень логгирования:
sudo ufw logging high
Есть также off – отключен, low – используется по умолчанию, есть и более подробные режимы: medium, high и full но без крайней необходимости их включать не стоит.
Конфигурация ufw для Web-сервера
Нужны будут порты: 22 для SSH, 80 для HTTP, 443 для HTTPS:
sudo ufw allow 22 # Если для SSH используете другой порт, укажите его sudo ufw allow 80 sudo ufw allow 443
Запретить более 6 попыток подключения к SSH за 30 секунд (для защиты от буртфорса):
sudo ufw limit ssh
Включение ufw:
sudo ufw enable
Конфигурация ufw для домашнего ПК
По умолчанию будет разрешен весь исходящий трафик и запрещен весь входящий.
sudo ufw enable
LEAVE YOUR COMMENT