Работали ли вы с ufw?
Что проверяют
Знаете ли вы, что это обёртка над сетевым фильтром ядра, а не самостоятельный межсетевой экран, и понимаете ли, где она не работает. Вопрос простой, но по нему видно, настраивали ли вы боевой хост или читали статью.
Как отвечать
Начните с места в системе: ufw это удобный фронтенд к netfilter, он генерирует правила, которыми иначе пришлось бы управлять руками. Политика по умолчанию закрывает входящие и разрешает исходящие.
Типовой набор:
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
ufw status numberedДальше покажите, что знаете нюансы:
- ограничение источника:
ufw allow from 10.0.0.0/8 to any port 5432 proto tcp, доступ к базе не открывают всему интернету; - порядок: правила применяются сверху вниз, новое ставится через
ufw insertс номером позиции; - защита от перебора:
ufw limit sshрежет частые попытки подключения с одного адреса; - журналирование: включается отдельно, записи уходят в системный журнал;
- контейнеры: публикация портов пишет правила напрямую в цепочки ядра, минуя ufw.
Где спотыкаются
Включают экран по SSH, не разрешив SSH. Соединение обрывается, и на удалённой машине без консоли это конец работы. Правило для доступа добавляется первым, вторая сессия держится открытой до проверки.
Второе: считают вывод статуса доказательством закрытости. Правила, добавленные напрямую в ядро другими средствами, там не показываются, а опубликованный порт контейнера остаётся доступен снаружи, хотя в списке ufw он запрещён. Проверять надо дампом правил ядра и сканом с другой машины.
Третье: закрывают только четвёртую версию протокола. Сервис слушает и по шестой, правила писались под адреса v4, и вход остаётся открытым. Разрешения по подсети не переносятся между версиями автоматически, их пишут отдельно.