Pull to refresh

Comments 6

Несколько похоже на выдержку из учебника с налетом академичности.
К примеру:
INPUT: касается пакетов, пунктом назначения которых является сам файрвол;
OUTPUT: касается пакетов, которые отправляет файрвол;

Чуть ниже картинка, которая объясняет все намного лучше, чем эти две строчки.
У меня сразу вопросы: зачем кто-то извне будет отправлять пакеты моему файрволу? Правильный ответ: никто не будет.
На самом деле INPUT и OUTPUT рулят трафиком, который предназначен внутренним сервисам — тем сервисам, которые крутятся непосредственно на шлюзе, как то: ssh, http, ftp и т.д.
Хочу ограничить доступ извне к ssh на шлюзе? Добро пожаловать в INPUT. Какой-то PHP-скрипт на моем веб-сервере отправляет статистику своему разработчику? Добро пожаловать в OUTPUT.

А FORWARD рулит трафиком, который проходит транзитом через шлюз. Кто-то спамит в моей сети через внешний сервис? Добро пожаловать в FORWARD.

Далее: после описания цепочек ВНЕЗАПНО идет выдержка из какой-то документации по ICMP. Зачем? Если описывается в контексте REJECT, то вместо выдержки с абсолютно ненужной информацией было бы неплохо указать перечень кодов ICMP, которые может отдавать REJECT.

Всюду используется опция '-n', но нигде не объясняется ее смысл. Мне, к примеру, более понятен вывод без нее: вижу не магические числа, а осмысленные имена портов.

Также логично то, что большее количество правил приводит к большему количеству проверок, а значит к большей нагрузке на шлюз в случае большого количества трафика.
# iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT

Это вот переписывается одной строкой:
iptables -A INPUT -m multiport -m state --state NEW -p tcp --dport 22,80,143 -j ACCEPT


Еще можно сократить до одной строки:
# iptables -A INPUT -s 10.0.1.5 -j DROP
# iptables -A INPUT -s 31.13.74.0/24 -j DROP

# iptables -A INPUT -s 10.0.1.5, 31.13.74.0/24 -j DROP

Впрочем, эта строка все равно разобьется на два правила, но файлик с перечнем правил станет компактнее и понятнее.

Еще бы имело смысл добавить описание простых утилит: iptables-save/iptables-restore/iptables-apply. К примеру первая из них показывает правила в том виде, в котором они добавляются через iptables.

В целом же, для того, чтобы понять iptables, достаточно посмотреть на картинку типа этой:
Netfilter scheme


И дальше лазить в ман просто для того, чтобы вспомнить какой-нибудь ключик.
Про conntrack одно предложение, а собственно это один из самых важных компонентов iptables, без понимания которого тяжело понять как работает например nat.

Я так понимаю, что астрологи объявили что-то там связанное с Kali Linux, и теперь недели две ни единой статьи про азы линукса без упоминания Kali Linux?

Переводят книжку, Kali Linux-что-то там.
Почему в книжке про Kali Linux азы администрирования мне тоже непонятно.
Все жду, когда там про особенности конкретного дистрибутива появится.
Однажды столкнулся с тем, что не весь трафик можно заблокировать с помощью iptables. Например, DHCP, потому что используются raw sockets. Чуть подробнее можно почитать тут и тут.
Не весь. Тот, что нельзя заблокировать через iptables, можно через ebtables.
Sign up to leave a comment.