Настройка Firewall на VPS

Всем привет! Дошла у меня очередь до настройки фаервола, решил настраивать через apf-firewall. Скачалось, установилось. Поправил файл apf-firewall/conf.apf

Включаю. Оно запускается… и… на сайт меня не пускает. в браузере говорит, connection timeout, ssh тоже отваливается. Хорошо, что в утлите есть отладочный режим, который возвращет все на круги своя через 5 мин.

В общем, привожу свой файл, может кто-то что-то подскажет… PS: Инет на пример настроек курил, да и в файле вроде все комментарии понятны… Но где-то така накосячил. Не могу понять где.

Вот мой конфиг ( dl.dropboxusercontent.com/u/7662887/conf.apf).

Привожу файл, т.к. LS не дает запостить больше 15 тыс символов. Кромсать файл не захотел, т.к. там же довольно подробное описание каждой фукнции.

Возможно кто-то приведет свой конфиг?

Спасибо.

10 комментариев

avatar
Лучше использовать Iptables вообще.
avatar
Хм, все говорят, что лучше, но не говорят чем лучше. =)

И зачем тогда пишутся подобные утилиты?

PS: Буду курить мануалы по iptables.
avatar
Я вот тут делился простым, но эффективным конфигом.
А лучше тем, что с помощью iptables можно сделать буквально все.
avatar
В общем, сделал исполняемый скрипт /etc/network/if-up.d/00-iptables

поместил туда Ваши правила.
закомментил
#iptables -A INPUT -p tcp --syn --dport 22 -m recent --name root --set
#iptables -A INPUT -p tcp --syn --dport 22 -m recent --name dmitro --update --seconds 30 --hitcount 3 -j D$


Т.к. не понимаю, сто что такое --name root в первой строчке и --name dmitro во второй.

Выполнил скрипт. iptables прописались, делаю ребут и меня на сервер не пускает по ssh. Почему?

ЗЫЖ само собой, восстановился из бэкапа, благо в DigitalOcean — это легко и быстро.
avatar
На счет SSH Я писал ниже. У меня редактор отобрал два тире и поставил один дефис. Должно быть вот так:
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name root --set
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name dmitro --update --seconds 30 --hitcount 3 -j D$
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Можете закомментить те же строки, но последняя должна быть обязательно — она открывает 22 порт (SSH). Две строки выше помогают защититься от брутфорса по 22 порту. Логины сменить на свои.
avatar
В общем оставьте Ваш вариант, просто строку с 22 портом замените на вышеприведенную.
И fail2ban не забудьте.
avatar
Само собой, я исправил тире на 2 дефиса =) И оставил третью строку, а закомментил именно две с логинами.

А что с fail2ban? Я с линукс все очень мало знаком, так что мне нужно разжёвывать, извините…
avatar
Можете загуглить. Защищает от перебора паролей, если в двух словах…
avatar
Если честно, я так и не понял, почему при применении этих правил меня перестает пускать на сервер.
avatar
В первом варианте просто ошибка, Я же говорю. В самом начале этими правилами Вы запрещаете вообще все соединения, а потом разрешаете некоторые. И если прописать второй вариант, то все нормально будет пускать ;)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.