UFW или Uncomplicated Firewall – интерфейс для управления политиками безопасности. Серверы постоянно подвергаются различным угрозам, и для снижения существующих рисков нужно правильно настраивать правила межсетевого экрана.
Для правильной работы с утилитой, необходимо проверить следующие требования:
- Команды должны исполняться от суперпользователя под sudo.
- Нужно установить утилиту, если она уже не была предустановлена с помощью:
sudo apt update && sudo apt install -y ufw
Проверка статуса и активных правил UFW в Ubuntu
Для того, чтобы проверить статус утилиты, можно использовать следующую команду:
sudo ufw status verbose
Обычно по умолчанию UFW отключен, потому вы увидите статус – inactive. Если же утилита включена, то статус будет – active и вы увидите перечень заданных правил.
Обязательно проверьте или в настройках присутствует доступ к SSH (22 порт).
Первичная конфигурация файрвола UFW
По умолчанию, все исходящие соединения разрешены, а входящие запрещены. Данные правила будут прописаны следующим образом:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Создание базовой политики фильтрации трафика
Для того чтобы разрешить входящие соединение, нужно использовать следующую команду:
sudo ufw allow ssh
Настройка доступа по SSH
Если прослушивается 22 порт, вы можете использовать имена служб (sftp, https, или другие). В том случае если используется другой порт, его нужно указать следующим образом:
sudo ufw allow 2222
Читайте также: Основы SSH: как использовать и список полезных команд
Активация и запуск UFW
Для включения утилиты, нужно использовать:
sudo ufw enable
После данной команды, вас предупредят что текущее ssh соединение может разорваться, но мы его уже настроили в правила, и потому можно спокойно нажимать Yes.
Открытие необходимых портов для веб-сервисов
Для корректного функционирования приложений, также нужно добавить некоторые другие правила. Потому давайте рассмотрим настройки некоторый служб.
Разрешение входящих соединений по HTTP (порт 80)
Для функционирования незашифрованных серверов, нужна следующая команда:
sudo ufw allow 80/tcp
Открытие HTTPS-доступа (порт 443)
Для зашифрованных соединений нужно использовать:
sudo ufw allow 443/tcp
Настройка FTP-доступа через порт 21
Для данного порта используйте следующую команду:
sudo ufw allow 21/tcp
Добавление пользовательских IP-адресов и сетей
Для добавления диапазона портов используйте следующую команду:
sudo ufw allow 3000:3100/tcp
Можно также непосредственно указать IP, для которого будет разрешен доступ:
sudo ufw allow from 123.45.67.89 to any
Здесь разрешается доступ ко всем портам. Если же вам нужно указать доступ к конкретному порту просто добавьте port 22 к команде.
Ограничение числа подключений и защита от DDoS
Для ограничения подключения можно использовать:
sudo ufw deny 80/tcp
Удаление ненужных правил из UFW
Для удаления ненужных правил можно использовать:
sudo ufw status numbered
После этого, у вас откроется пронумерованный список правил, из которого можно выбрать нужный номер у удалить его, следующим образом:
sudo ufw delete 4
Отключение UFW
Отключение можно произвести следующим образом:
sudo ufw disable
Таким образом, вы сможете отключить все ранее созданные правила.
Часто спрашивают: GDPR и веб-хостинг: как защитить пользовательские данные и избежать штрафов
Полный сброс настроек UFW до состояния по умолчанию
Для сброса настроек можно использовать:
sudo ufw reset
Просмотр логов UFW
Для просмотра логов нужно использовать следующую команду:
sudo ufw logging on
Выводы
Теперь, у вам есть понимание как базово настроить файрвол. Следующим важным шагом будет проверка всех подключений вашим приложением и блокировка/разрешение некоторых. Таким образом вы сможете значительно минимизировать возможности проникновения на сервер.