de51123e

Как фильтры отсеивают пакеты


Ядро стартует с тремя списками правил; эти списки называются firewall-цепочками или просто цепочками. Три цепочки называются input, output и forward. Когда приходит пакет (скажем, через плату ethernet) ядро использует цепочку input, чтобы решить судьбу пакета. Если пакет фильтр пропустит пакет, то ядро решает, куда послать пакет дальше (это называется маршрутизацией). Если пакет предназначен для другой машины, ядро консультируется с цепочкой forward. И наконец, прежде, чем пакет выйдет через сетевой интерфейс, ядро консультируется с цепочкой output.

Цепочка - контрольный список правил. Каждое правило говорит "если заголовок пакета походит на это, то с пакетом поступить так-то'. Если правило не применимо к пакету, то рассматривается следующе правило в цепочке. Наконец, если никакие правил не подошли, то ядро обращается к стратегии цепочек, чтобы решить, что делать. В системе с повышенными требованиями к безопасности, эта стратегия обычно заставляет ядро отклонить или отвергнуть пакет.

Для любителей ASCII-картинок, нарисован полный путь пакета, входящего в машину.

---------------------------------------------------------------- | ACCEPT/ интерфейс lo | v REDIRECT _______ | --> C --> S --> ______ --> D -> ~~~~~~~~~~ ->|forward|----> _______ -->

h a |input | e {Решение о } |цепоч- | |output |ACCEPT e n |цепоч-| m {маршр-ции } |__ка___| --->|цепоч- | c i |__ка__| a ~~~~~~~~~~~ | | ->|__ка___| k t | s | | | | | s y | q | v | | | u | v e v DENY/ | | v m | DENY/ r Местный процесс REJECT | | DENY/ | v REJECT a | | | REJECT | DENY d --------------------- | v e ----------------------------- DENY

Вот методическое описание каждой стадии:

Контрольная сумма(Checksum):

Проверка целостности пакета. Если контрольная сумма не совпадает, то пакет отбрасывается(DENY).

Здравомыслие(Sanity):

На самом деле проверка на правильность формата пакета проводится перед каждой цепочкой, но цепочка input наиболее важна. Некоторые пакеты неправильного формата могли бы запутать код, обеспечивающий проверку правила, вот такие пакеты здесь и отбрасываются (DENY) (если такое случилось, то в syslog помещается сообщение).



Содержание раздела