Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Это дает некоторые преимущества. Сравнение пакета с таблицей states подразумевает проверку его sequence номера. Если номер вне диапазона ограниченного окна – пакет будет отброшен. Это позволяет избежать атак с подменой адреса (spoofed attacks).
Также поиск среди states гораздо быстрее, чем полная фильтрация пакета по правилам.
Использовать Stateful Inspection, еще раз напомню, позволяет директива keep state.
Например:
block all
pass out proto tcp from any to any flags S/SA keep state
pass in proto tcp from any to any port 25 flags S/SA keep state
Это основные понятия о Statetul Inspection.
Теперь давайте рассмотрим дополнительные настройки, которые мы можем использовать совместно с возможностью Stateful Inspection. Дело в том, что при стандартных установках фильтр будет работать, однако часто бывает, что для идеального функционирования сети данные параметры следует основательно подправить.
set timeout <option>, где <option>:
n interval – интервал перед удалением истекших (expired) state и фрагментов.
n frag – секунды перед тем, как неассемблированный пакет будет помечен как истекший.
n sc.track – время, в течение которого адрес отправителя будет продолжать отслеживаться, даже после того как последнее «состояние» для этого адреса будет окончено.
n tcp.first – «состояние» после первого пакета.
n tcp.opening – «состояние» перед тем, как удаленный хост пошлет первый пакет.
n tcp.estabished – «состояние» для TCP Three Way Hand shake (установленного соединения).
n tcp.finwait – «состояние» после того, как оба хоста обменялись пакетами с установлеными FIN-флагами и соединение считается закрытым.
n tcp.closed – «состояние» после того, как один из хостов посылает пакет с флагом RST.
Протоколы ICMP и UDP настраиваются так же, как и TCP, только с гораздо меньшим набором states.
n udp.first – «состояние» после первого пришедшего пакета.
n udp.single – «состояние», если удаленный хост послал больше чем один пакет, а хост назначения не послал в ответ ни одного.
n udp.multiple – «состояние» после того, как оба хоста послали пакеты.
n icmp.first – «состояние» после первого пришедшего пакета.
n icmp.error – state на любое сообщение об ошибке, возвращенное ICMP-прокотолом.
Любые другие протоколы могут настраиваться так же, но используя:
n other.first;
n other.sigle;
n other.multiple.
Время timeout может изменяться в зависимости от количества state в той или иной группе, а также от нагрузки на сеть, за это отвечают параметры adaptive.start и adaptive.end.