- Настройка фаервола в Ubuntu с помощью утилиты UFW
- Введение
- Предварительные требования
- Проверка правил и текущего состояния UFW
- Начальная настройка
- Добавление правила для SSH-соединений
- Запуск UFW
- Добавление правил для других подключений
- HTTP (80 порт)
- HTTPS (443 порт)
- FTP (21 порт)
- Добавление диапазонов портов
- Добавление IP-адресов
- Ограничение подключений
- Удаление правил
- Отключение UFW
- Сброс правил
- Логи
- Заключение
- Зарегистрируйтесь в панели управления
Настройка фаервола в Ubuntu с помощью утилиты UFW
Рассмотрим основные команды и правила работы с утилитой UFW.
Введение
UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.
Предварительные требования
- Для начала работы с UFW вам потребуется суперпользователь( возможность исполнения команд под sudo).
- Утилита UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее с помощью команды:
Проверка правил и текущего состояния UFW
В любое время вы можете проверить состояние UFW с помощью команды:
По умолчанию UFW отключен, так что вы должны увидеть что-то вроде этого:
Если UFW включен, то в консоли будут перечисляться заданные правила. Например, если firewall настроен таким образом — SSH (порт 22) соединение из любой точки мира, консоль может выглядеть следующим образом:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6)
Так вы всегда можете узнать как настроен фаервол.
Внимание! Проведите начальную настройку перед включением UFW. В частности, должен быть доступен SSH(22 порт). В ином случае вы рискуете потерять доступ к серверу.
Начальная настройка
По умолчанию UFW настройки запрещают все входящие соединения и разрешают все исходящие. Это значит, что если кто-то попытается достичь ваш сервер, он не сможет подключиться, в то время как любое приложение на сервере имеет доступ к внешним соединениям.
Cоответствующие правила фаервола прописываются так:
sudo ufw default deny incoming sudo ufw default allow outgoing
Добавление правила для SSH-соединений
Чтобы разрешить входящие SSH-соединения, выполните команду:
SSH демон прослушивает 22 порт. UFW знает об именах распространенных служб (ssh, sftp, http, https), поэтому вы можете использовать их вместо номера порта.
Если ваш SSH-демон использует другой порт, вам необходимо указать его в явном виде, например:
Теперь, когда ваш межсетевой экран настроен, можете включать его.
Запуск UFW
Чтобы включить UFW, используйте следующую команду:
Вы получите похожее предупреждение:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Это означает, что запуск этого сервиса может разорвать текущее ssh соединение.
Но, так как мы его уже добавили ssh в правила, этого не произойдет. Поэтому просто нажмите (y).
Добавление правил для других подключений
Чтобы ваши приложения работали корректно, вам необходимо добавить другие правила. Ниже будут показаны настроить для наиболее распространённых служб.
HTTP (80 порт)
Для работы не зашифрованных веб-серверов используйте следующую команду:
HTTPS (443 порт)
То же самое, что и в предыдущем примере, но для зашифрованных соединений:
FTP (21 порт)
Данный порт используется для незашифрованной передачи файлов:
Добавление диапазонов портов
Также вы можете указывать конкретный протокол:
sudo ufw allow 3000:3100/tcp sudo ufw allow 3000:3100/udp
Добавление IP-адресов
Вs можете указать IP-адрес, которому будет разрешен доступ.
sudo ufw allow from 123.45.67.89
В приведенном примере указанному адресу разрешается доступ ко всем портам сервера.
Если же вы хотите указать доступ к конкретному порту, воспользуйтесь командой вида:
sudo ufw allow from 123.45.67.89 to any port 22
Аналогичным образом вы можете работать с диапазонами IP-адресов:
sudo ufw allow from 123.45.67.89/24 sudo ufw allow from 123.45.67.89/24 to any port 22
Ограничение подключений
Чтобы запретить HTTP-соединения, вы можете использовать следующую команду:
Если вы хотите запретить все соединения с 123.45.67.89, воспользуйтесь следующей командой:
sudo ufw deny from 123.45.67.89
Удаление правил
Существует два способа удаления правил. Первый — по номеру правила. Выполните команду:
Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 80 ALLOW IN Anywhere [ 3] 22 (v6) ALLOW IN Anywhere (v6) [ 4] 80 (v6) ALLOW IN Anywhere (v6)
После этого выполните команду ufw delete и укажите номер правила, которое следует удалить:
Второй способ заключается в том, что после команды ufw delete используется фактическое правило, например:
sudo ufw delete allow http
Отключение UFW
Отключить UFW можно при помощи команды:
В результате ее выполнения все созданные ранее правила утратят силу.
Сброс правил
Если вам требуется сбросить текущие настройки, воспользуйтесь командой:
В результате ее выполнения все правила будут отключены и удалены.
Логи
В Ufw есть опция сохранения логов — журнал событий. Для запуска, используйте команду:
Ufw поддерживает нескоько уровней логгирования:
- off — отключен.
- low — регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам.
- medium — все то, что при значении low. Плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости.
- high — работает также как и medium. Плюс все пакеты с ограничением скорости.
- full — также как и high, но без ограниения скорости.
Чтобы задать уровень, укажите его как параметр:
По умолчанию используется уровень low.
Для просмотра файлов относящихся с логам ufw используйте команду:
Заключение
Теперь ваш фаервол имеет минимально необходимые настройки для дальнейшей работы. Далее удостоверьтесь, что все подключения используемые вашим веб-приложением также разрешены и заблокируйте те, в которых нет необходимости. Это снизит риски проникновения на ваш сервер и совершения хакерами вредоносных действий.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.