Атрибут TCPStrictnessLevel

Атрибут TCPStrictnessLevel используется для задания уровня "жесткости" к различным ситуациям, которые воспринимаются firewall как ошибочные.

Синтаксис

TCPStrictnessLevel = ЦЕЛОЕ32

Значение

Целое число из диапазона 0..6

Значение по

умолчанию

3

 

В следующей таблице приведены основные отличия в поведении при различных значениях TCPStrictnessLevel. Показана зависимость выполнения таких действий как «уничтожение пакета» и «отказ в изменении состояния соединения» от уровня, заданного TCPStrictnessLevel и результата анализа заголовка TCP пакета.

 

Значение

Уничтожение пакета

Отказ в изменении состояния соединения

0

Пакеты не уничтожаются firewall.

При некорректном TCP заголовке (проверяется соответствие длины пакета, TCP заголовка, checksum  флагов TCP).

1

При некорректном TCP заголовке.

При некорректном TCP заголовке.

2

При некорректном TCP заголовке.

При некорректном TCP заголовке или при sequence, несоответствующем состоянию партнера.

3

При некорректном TCP заголовке.

При некорректном TCP заголовке, или при sequence, несоответствующем состоянию партнера, или при несоответствии флагов заголовка состоянию партнера.

4

При некорректном TCP заголовке или при несоответствии флагов заголовка состоянию партнера.

При некорректном TCP заголовке, или при sequence, несоответствующем состоянию партнера, или при несоответствии флагов заголовка состоянию партнера.

5

При некорректном TCP заголовке, или при несоответствии флагов заголовка состоянию партнера, или при sequence, несоответствующему состоянию партнера.

При некорректном TCP заголовке, или при sequence, несоответствующем состоянию партнера, или при несоответствии флагов заголовка состоянию партнера.

6

При некорректном TCP заголовке, или при несоответствии флагов заголовка состоянию партнера, или при sequence, несоответствующему состоянию партнера, или при приеме SYN для установившегося соединения.

Осущевсляется более строгая проверка комбинаций флагов TCP, чем при значении 1.

При некорректном TCP заголовке, или при sequence, несоответствующем состоянию партнера, или при несоответствии флагов заголовка состоянию партнера, или при получении первым пакетом не SYN, или при приеме SYN для установившегося соединения.

 

Проверка флагов в TCP заголовке выполняется по всем уровням, от меньнего к большему (к заданному).

Уровень ⇓

Некорректные комбинации флагов в TCP заголовке

0

•      Ни один из флагов FIN, SYN, RST, PSH, ACK, URG не выставлен;

•      Выставлены все флаги FIN, SYN, RST, PSH, ACK, URG;

•      Ни один из флагов SYN, RST, ACK не выставлен;

•      Выставлены оба флага SYN и RST;

•      Выставлены оба флага FIN и SYN.

1

•      Выставлены оба флага FIN и RST.

6

•      Выставлены оба флага SYN и PSH;

•      Выставлены оба флага SYN и URG;

•      Выставлены оба флага RST и URG;

•      Выставлены оба флага FIN и URG.

 

Примечание: в рамках TCP handshake, при TCPStrictnessLevel равным 6, после того, как клиент в ответ на SYN-ACK отправил серверу ACK и этот ACK прошёл через firewall, соединение со стороны клиента считается ESTAB, а со стороны сервера SYNRCVD до первого ответа с ACK со стороны сервера. При этом, время жизни сессии ограничивается значением атрибута TCPSynRcvdTimeout. В аналогичном состоянии сессии, при TCPStrictnessLevel равным 5 и ниже, состояние сервера считается ESTAB, а время жизни сессии ограничивается значением атрибута TCPEstablishedTimeout.