firewalld & ufw
Тема дорожной карты · Linux & Unix Fundamentals
firewalld (дефолт RHEL/Fedora) и ufw (дефолт Ubuntu) — это удобные обёртки, которые в итоге программируют nftables/iptables. Эти инструменты обеспечивают важную защиту на уровне сетевого уровня и являются неотъемлемой частью системы безопасности Linux. Они позволяют легко управлять правилами сети, обеспечивая защиту от несанкционированного доступа и атак.
Как это работает
firewalld строит правила вокруг зон (public, internal, trusted), что позволяет более гибкое управление доступом. Сохранение правил производится командой firewall-cmd --permanent --add-service=https && firewall-cmd --reload. В то время как ufw управляет списком правил, позволяя легко добавлять и удалять правила с помощью простых команд, таких как ufw default deny incoming, ufw allow 22/tcp, и ufw enable. Оба инструмента поддерживают rate limiting и IPv6 «из коробки», что делает их мощными инструментами для управления сетевыми соединениями.
Когда применять
При настройке системы безопасности Linux, следует использовать CIS Benchmark для вашего дистрибутива как базовую линию. Для интернет-ориентированных сервисов рекомендуется использовать только HTTPS, ключевой SSH-доступ и инструменты для защиты от атак, такие как fail2ban. Автоматические обновления безопасности (unattended-upgrades на Debian, dnf-automatic на RHEL) также должны быть включены для обеспечения защиты от уязвимостей. Для систем с множеством пользователей рекомендуется использовать SELinux или AppArmor для усиления безопасности. Для одиночных целевых систем стандартные настройки обычно достаточно.
Типичные ошибки
Важно избегать типичных ошибок при использовании firewalld и ufw. Одной из распространённых ошибок является отключение SELinux с помощью команды setenforce 0, что убирает последний слой защиты безопасности. Включение SSH-авторизации через пароли также может стать уязвимостью, так как это открывает дверь для атак брут-форсом. Неправильная ротация SSH-ключей для пользователей, которые покидают систему, также может привести к уязвимости. Использование одинаковых паролей между сервисами «internal only» может создать уязвимость для later movement. Откладывание обновлений ядра из-за страха, что они могут сломать систему, также является распространённой ошибкой, так как это может привести к эксплуатации уязвимостей CVE.