Сегодня настроим межсетевой экран в 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
Сегодня мы рассмотрели основные команды встроенного межсетевого экрана, это вам поможет в системном администрировании
❗ Если данный материал вам помог или понравился - подпишитесь на канал и участвуйте в обсуждении в комментариях.
🚀 Подпиской вы очень поможете каналу и стимулируете автора публиковать больше материалов
🔥 Не пропустите обновления и новые статьи!
💰 Поддержать проект