🛡️ UFW: для тех, кто не хочет учить магию
Кратко: UFW (Uncomplicated Firewall) — это надстройка над iptables, которая превращает сложные заклинания в простые команды ufw allow 22 . Если iptables — это ручное управление каждым клапаном в атомном реакторе, то UFW — это кнопка «Пуск» с понятными индикаторами . Он прячет адские дебри iptables -A INPUT -p tcp --dport 80 -j ACCEPT за человеческим ufw allow 80/tcp .
▫️ Зачем нужен UFW, если есть iptables? Одна ошибка в синтаксисе — и ты заблокировал себе SSH навсегда. UFW решает эту проблему : · Простота: Вместо 20 флагов вы пишете простое английское предложение . · Безопасность: UFW сложно выстрелить себе в ногу. Например, он умно настраивает политики по умолчанию (deny incoming — запретить входящие, allow outgoing — разрешить исходящие) . · Стандарт: Он есть в коробке с Ubuntu и Debian, и именно с него начинают новички . Но важно понимать: UFW — это не замена iptables. Это его «пульт дистанционного управления». Вы жмете кнопку «Вкл», а UFW сам бежит настраивать сложные цепи в ядре Linux . ▫️ Как это работает? (Коротко и ясно) 1. Установка: sudo apt install ufw (он обычно уже есть в Ubuntu) . 2. Правила: Вы говорите системе, что делать. Например, ufw allow 22 (открыть SSH) или ufw allow 443/tcp (открыть HTTPS). 3. Включение: Самая страшная команда: ufw enable. Если до этого вы забыли открыть SSH — вы отрезаны от сервера . 4. Статус: ufw status verbose покажет, что сейчас происходит.
▫️ Ключевые возможности (фишки, ради которых это пишут) · Профили приложений: Забудьте номера портов для популярных программ. UFW знает, что ssh — это 22 порт, а Apache Full — это 80 и 443. Команда ufw allow 'Apache Full' сама откроет веб-трафик . · Лимитирование (Limit): Если вы устали от ботов, ломящихся в SSH, используйте ufw limit ssh. UFW автоматически добавит правило, которое банит IP при слишком частых попытках входа. Это спасло мне сервер не раз . · Правила по IP: Нужно пустить к базе данных только свой бэкенд? ufw allow from 192.168.1.100 to any port 5432 . · GUI (Gufw): Если командная строка вызывает аллергию, поставьте gufw. Это та же утилита, но с красивыми кнопками «Разрешить/Запретить» .
▫️ Реальные примеры (Боевые задачи) 1. Типовая настройка сервера: ufw default deny incoming ufw default allow outgoing ufw allow ssh ufw allow 80/tcp ufw allow 443/tcp ufw enable
Пояснение: Мы закрыли всё, что можно, кроме веба и SSH. 2. Если вы юзаете Docker: Здесь есть один нюанс: Docker любит «игнорировать» UFW и лезет в iptables напрямую. Это может привести к тому, что порты контейнера будут видны всему миру, даже если UFW их блокирует . Лечится либо правками правил Docker, либо костылями вроде ufw-docker .
▫️ UFW vs iptables (Честное сравнение) · UFW: Вы говорите ЧТО сделать. ufw allow 80 . · iptables: Вы говорите КАК это технически сделать. iptables -A INPUT -p tcp --dport 80 -j ACCEPT . Вывод: Если вам нужно просто защитить свой сервер, не вникая в дебри пакетной фильтрации — берите UFW. Если вы строите профессиональный маршрутизатор или сложный файрвол для корпоративной сети — тогда ваш выбор iptables или nftables.
▫️ Важное предупреждение (Прочитай перед тем, как вводить команды!) Всегда сначала добавляй правило для SSH, и только потом включай фаервол. Команда ufw enable мгновенно активирует политику deny incoming, и если у тебя нет правила allow ssh — ты навсегда потеряешь доступ к серверу . UFW — это инструмент, который снижает порог входа в администрирование Linux. Он делает безопасность доступной, не превращая её в магию.