Загрузка...
Х

iptables: начальная настройка в Debian 8

IPtables предоставляет пакетную фильтрацию преобразование сетевых адресов (NAT) и другие преобразования пакетов.
Два наиболее распространенных вида его использования заключается в оказании поддержки брандмауэра NAT.

Настройка данного пакета вручную является сложной задачей для непосвященных. К счастью, есть много инструментов конфигурации (мастера), доступных для оказания помощи: например fwbuilder, bastille, ferm (wiki page), ufw.

Просмотр текущей конфигурации

iptables -L

Ответ команды будет следующим:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


Эти правила разрешают все всем отовсюду.

Хранение правил iptables в файле

Для начала создадим новый файл для правил:

nano /etc/iptables.rules

В этот файл внесем несколько простых правил:

*filter
# Разрешить весь локальный (lo0) трафик и отбрасывать весь трафик на сеть 127/8, который не идет через lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Разрешить все установленные изнутри подключения
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешить весь исходящий трафик
-A OUTPUT -j ACCEPT

# Разрешить HTTP и HTTPS подключения отовсюду на сервер
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Разрешить подключения по SSH
# Номер порта --dport такой же как в /etc/ssh/sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Разрешить пинг
#  заметьте, что блокирование других типов icmp трафика нежелательно
#  удалите -m icmp --icmp-type 8 отсюда чтобы разрешить все виды icmp:
#  https://security.stackexchange.com/questions/22711
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# логировать неудачные попытки доступа (доступен через команду 'dmesg')
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# Отбрасывать все входящие пакеты. по умолчанию все разрешается, что не хорошо:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT


Активировать эти правила:

iptables-restore < /etc/iptables.rules


И посмотрите изменения:

iptables -L


Теперь вывод команды говорит нам о том, что только те порты что разрешили открыты, остальные закрыты.

Теперь, когда все верно, можно сохранить эти правила для восстановления их при перезагрузке:

iptables-save > /etc/iptables.rules


В файл:

nano /etc/network/if-pre-up.d/iptables


Добавьте следующие строки:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules


Файл должен быть исполняемым, поэтому выполняем команду:

chmod +x /etc/network/if-pre-up.d/iptables

Теперь при старте системы правила, прописанные в файле /etc/iptables.rules, будут автоматически применятся на систему. По умолчанию в Debian нет функции управления iptables, как например в CentOS.

Оставить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.