Если у вас есть файрвол с (полиси) каторая разрешает все, разрешит ли файрвол создать новое TCP соединения АСК пакетом?
Часть меня говорит да. Если файрвол разрешает все, значит, любой пакет может пройти. Однако часть меня говорит, нет. Учитывая, как работает мониторинг состояния, пакет не должен быть отброшен.
Вы можете подумать - какой чудак устанавливает соединения с вами АСК пакетом? Думаю, что этот чудак хочет понять, как работает таблица состояний. С полиси, которая позволяет всё вы, можете подумать что пакет пройдёт. Но после того как в поймете, как работает мониторинг состояний, вы можете, сможете изменить ваше мнения.....
Моё первоначальное представления мониторинга состояний (по крайней мере на Check Point FireWal-1) было таким: как только файрвол получает пакет SYN - устанавливающий соединения, он сверяется с полиси. Также как и в маршрутизаторе, этот пакет сравнивается с правилами последовательно (начиная с нулевого правила). Если пакет прошел все правила и не был принят, он отвергается. Затем соединения разрывается или отбрасывается (удалённому хосту посылается RST). Однако, если пакет принят, то сессия заносится в таблицу состояния соединений файрвола, которая находится в ядре. Затем любой последующий пакет (который не имеет SYN - флага) сравнивается с таблицей мониторинга состояния. Если сессия в этой таблице, и пакет часть этой сессии, то пакет принимается. Если пакет не является частью сессии - он отбрасывается. Это увеличивает производительность Интернета т.к. каждый отдельный пакет не сравнивается с полиси, а только SYN - пакеты, которые устанавливают соединения. Все другие TCP - пакеты сравниваются только с таблицей состояния в ядре (всё это происходит очень быстро).
Перепечатка документа разрешается, но с ведома админа сайта Sul_a@list.ru