Найти тему

Настройка Firewall (ufw) в Linux

Оглавление

Сегодня настроим межсетевой экран в Linux (Ubuntu/Debian). В LInux существует утилита ufw. Рассмотрим базовые команды по работе.

Источник: Яндекс.Картинки
Источник: Яндекс.Картинки

Основная команда выглядит так

ufw

К данной команде применим целый список дополнительных аргументов

Команды UFW

Для выполнения действий с утилитой доступны такие команды:

  • enable - включить фаерволл и добавить его в автозагрузку;
  • disable - отключить фаерволл и удалить его из автозагрузки;
  • reload - перезагрузить фаерволл;
  • default - задать политику по умолчанию, доступно allow, deny и reject, а также три вида трафика - incoming, outgoing или routed;
  • logging - включить журналирование или изменить глубину журналирования;
  • reset - сбросить все настройки до состояния по умолчанию;
  • status - посмотреть состояние фаерволла;
  • show - посмотреть выбранный отчет о работе;
  • allow - добавить разрешающее правило;
  • deny - добавить запрещающее правило;
  • reject - добавить отклоняющее правило;
  • limit - добавить ограничивающее правило;
  • delete - удалить правило;
  • insert - вставить правило.

Как включить UFW

Внимание! по умолчанию в серверной версии Ubuntu UFW включён, а в версии для рабочего стола он отключён. Поэтому сначала смотрим состояние фаервола:

sudo ufw status
Источник: Яндекс.Картинки
Источник: Яндекс.Картинки

Если он отключен - то включаем его командой

sudo ufw enable

Политика по умолчанию

Перед тем, как мы добавим правила, необходимо указать политику по умолчанию. Какие действия будут применяться к пакетам, если они не подпадают под созданные правила ufw. Все входящие пакеты будем отклонять:

sudo ufw default deny incoming

А все исходящие разрешим:

sudo ufw default allow outgoing

Приведу пример, чтобы открыть порт в ufw для SSH - добавим ОДНО из этих правил:

sudo ufw allow OpenSSH
sudo ufw allow 22
sudo ufw allow 22/tcp

Как мы видим в первой команде указано приложение

Посмотреть доступные имена приложений можно с помощью команды:

sudo ufw app list

Например, разрешим только исходящий трафик на HTTP порт 80, а входящий запретим:

sudo ufw allow out 80/tcp
sudo ufw deny in 80/tcp

Правила ufw limit

С помощью правил limit мы можем ограничить количество подключений к определённому порту с одного IP-адреса, это будет полезно для защиты от атак перебора паролей (брутфорса). По умолчанию подключения блокируются, если пользователь пытается создать шесть и больше подключений за 30 секунд:

sudo ufw limit ssh/tcp

К сожалению, настроить время и количество запросов можно только через iptables.

Команда ufw show

С помощью команды show можно посмотреть разные отчеты:

  • raw - все активные правила в формате iptables;
  • builtins - правила, добавленные по умолчанию;
  • before-rules - правила, которые выполняются перед принятием пакета;
  • user-rules - правила, добавленные пользователем;
  • after-rules - правила, которые выполняются после принятия пакета;
  • logging-rules - правила логгирования пакетов;
  • listening - отображает все прослушиваемые порты и правила для них;
  • added - недавно добавленные правила;

Например, посмотрим список всех правил iptables:

sudo ufw show raw

Удаление правил ufw

Чтобы удалить правило ufw, используется команда delete. Например, удалим ранее созданные правила для порта 80:

sudo ufw delete allow out 80/tcp
sudo ufw delete deny in 80/tcp

Отключение UFW

Если вы хотите полностью отключить UFW, для этого достаточно использовать команду disable:

sudo ufw disable

Также, если вы где-то умудрились что-то сломать, то можно использовать команду reset для сброса настроек до состояния по умолчанию:

sudo ufw reset

Сегодня мы рассмотрели основные команды встроенного межсетевого экрана, это вам поможет в системном администрировании

❗ Если данный материал вам помог или понравился - подпишитесь на канал и участвуйте в обсуждении в комментариях.
🚀 Подпиской вы очень поможете каналу и стимулируете автора публиковать больше материалов
🔥 Не пропустите обновления и новые статьи!
💰 Поддержать проект