Введение в межсетевые экраны
МЭ — обработка сетевого трафика (вообще говоря, на всех уровнях):
- ограничение
- преобразование
- перенаправление
- учёт (в первую очередь для последующего анализа)
IPTables
Общее устройство https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html (довольно старый перевод):
ядерная часть + утилита управления iptables
- «Пакеты» транспортного и сетевого уровня
Правила обработки пакетов: условие → действие по принципу «кто первый попал»
- Правила объединены в цепочки (действие выглядит как переход в другую цепочку)
- Цепочки бывают разного типа (это называется «цепочка из таблицы»)
- Переход между цепочками по умолчанию:
- Возврат из пользовательских цепочек
Команды (над цепочками):
- -A, -D, -R №, -I №
- -F, -Z
- -N, -X
Параметры:
- -t Table (по умолчанию — filter)
Действия:
- ACCEPT, DROP, REJECT, RETURN
- SNAT, DNAT, MASQUERADE, NETMAP
- LOG, ULOG
- MARK, CONNMARK
- …
Условия:
- -s, -d (IP); -i, -o (iface)
- -p протокол, --sport, --dport
- --icmp-type №
-m подмодуль
- mark, connmark
- conntrack, state (TCP)
- helper (прикладной уровень)
- owner (как имя процесса, так и IDs)
- recent
Д/З
Межсетевые экраны
(задание по МЭ в отчёт можно не включать) Следующая команда выдаёт ошибку. Почему?
[root@uneex ~]# iptables -A POSTROUTING -d 217.76.32.61 -j REJECT iptables: No chain/target/match by that name.
(задание по МЭ в отчёт можно не включать) В следующих примерах для проверки связности запускать команду
# echo -e "GET / HTTP/1.0\nHost: linux.org.ru\n" | netcat linux.org.ru 80
с клиента и с сервера и просматривать сами правила с помощью[root@uneex ~]# iptables-save
- Добавить фильтрующее правило:
[root@uneex ~]# iptables -A FORWARD -d 217.76.32.61 -j REJECT
- Удалить фильтрующее правило:
[root@uneex ~]# iptables -D FORWARD -d 217.76.32.61 -j REJECT
- Добавить фильтрующее правило:
[root@uneex ~]# iptables -A OUTPUT -d 217.76.32.61 -j REJECT
- Удалить фильтрующее правило
- Посмотреть на соединения, обслуживаемые conntrack:
[root@uneex ~]# cat /proc/net/nf_conntrack
- Добавить фильтрующее правило: