Механизм определения состояний TCP, UPD, ICMP соединений.
Цель работы: Усвоить механизм определения состояний в пространстве пользователя и механизм определения состояний TCP, UPD, ICMP соединений..
Задание:
1. Механизм определения состояний.
Механизм определения состояний.
Механизм определения состояния (state machine) является отдельной частью и в действительности не должен бы так называться, поскольку фактически является механизмом трассировки соединений. Однако значительному количеству людей он известен именно как "механизм определения состояния" (state machine). Трассировщик соединений создан для того, чтобы netfilter мог постоянно иметь информацию о состоянии каждого конкретного соединения. Наличие трассировщика позволяет создавать более надежные наборы правил по сравнению с брандмауэрами, которые не имеют поддержки такого механизма.
2. Достоинства Механизма определения состояний
Наличие трассировщика позволяет создавать более надежные наборы правил по сравнению с брандмауэрами, которые не имеют поддержки такого механизма.
3. Недостатки Механизма определения состояний
Причина в том, что трассировщик не в состоянии выполнять возложенные на него функции без поддержки дефрагментации и поэтому она включена постоянно.
4. Заполните таблицу
Состояние | Описание | Достоинства | Недостатки |
NEW | Признак NEW сообщает о том, что пакет является первым для данного соединения. | если получен N пакет являющийся первым пакетом для данного соединения, то он получит статус NEW. Однако, пакет может и не быть N пакетом и тем не менее получить статус NEW. | когда желательно "подхватить" соединения, "потерянные" другими брандмауэрами или в случаях, когда таймаут соединения уже истек, но само соединение не было закрыто. |
ESTABLISHED | Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. | Схема установки состояния ESTABLISHED достаточна проста для понимания. | в состояние ESTABLISHED необходимо чтобы узел сети передал пакет и получил на него ответ от другого узла (хоста). |
RELATED | Состояние RELATED одно из самых "хитрых". Соединение получает статус RELATED если оно связано с другим соединением, имеющим признак ESTABLISHED. | Хорошим примером соединения, которое может рассматриваться как RELATED, является соединение FTP-data, которое является связанным с портом FTP control, а так же DCC соединение, запущенное из IRC. | Обратите внимание на то, что большинство протоколов TCP и некоторые из протоколов UDP весьма сложны и передают информацию о соединении через область данных TCP или UDP пакетов и поэтому требуют наличия специальных вспомогательных модулей для корректной работы. |
INVALID | Признак INVALID говорит о том, что пакет не может быть идентифицирован и поэтому не может иметь определенного статуса. | Механизм определения состояния позволяет строить чрезвычайно мощную и эффективную защиту. | при нехватке памяти или при получении ICMP-сообщения об ошибке |
5. TCP соединения
|
TCP соединение всегда устанавливается передачей трех пакетов, которые инициализируют и устанавливают соединение, через которое в дальнейшем будут передаваться данные. Сессия начинается с передачи SYN пакета, в ответ на который передается SYN/ACK пакет и подтверждает установление соединения пакет ACK. После этого соединение считается установленным и готовым к передаче данных. Может возникнуть вопрос: "А как же трассируется соединение?". В действительности все довольно просто.
|
6. Стадии установления TCP соединения
7. Закрытие TCP соединения
При закрытии, соединение переводится в состояние TIME_WAIT, продолжительность которого по-умолчанию соответствует 2 минутам, в течение которого еще возможно прохождение пакетов через брандмауэр.
8. UDP соединения
UDP соединения не имеют признака состояния.
этот протокол не предусматривает установления и закрытия соединения, но самый большой недостаток это отсутствие информации об очередности поступления пакетов.
9. Стадии установления UDP соединения
Теперь соединение
10. Закрытие UDP соединения
После того как сервер "увидел" ответ на первый пакет, соединение считается ESTABLISHED (установленным), единственное отличие от предыдущей записи состоит в отсутствии флага [UNRREPLIED]
11. ICMP соединения
ICMP пакеты используются только для передачи управляющих сообщений и не организуют постоянного соединения. Однако, существует 4 типа ICMP пакетов, которые вызывают передачу ответа, поэтому они могут иметь два состояния: NEW и ESTABLISHED.
12. Стадии установления ICMP соединения
13. Закрытие ICMP соединения
Датаграмма UDP передается на сервер. Соединению присваивается статус NEW. Однако доступ к сети запрещен (брандмауэром или роутером), поэтому обратно возвращается сообщение ICMP Network Prohibited. Брандмауэр распознает это сообщение как связанное с открытым UDP соединением, присваивает ему статус RELATED и передает клиенту. После чего запись в таблице трассировщика уничтожается, а клиент благополучно обрывает соединение.
Вывод: усвоил механизм определения состояний в пространстве пользователя.