Протоколирование хода обработки пакетов

Протоколирование хода обработки пакетов

Команды и опции iptables, рассмотренные в данной главе, не предполагали протоколирование действий по преобразованию пакетов. Однако в некоторых случаях необходимо иметь информацию о блокированных попытках доступа к важным портам или о пакетах, отвергнутых в результате проверки с учетом состояния. Такая информация поможет выявить попытки взлома системы, предпринимаемые извне.

Внимание

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

В программе iptables предусмотрено специальное действие LOG, управляющее протоколированием. В отличие от других действий, действие LOG не приводит к прекращению дальнейшей проверки; если пакет соответствует правилу, в котором указано данное действие, ядро продолжает поверку, используя остальные правила текущей цепочки. Действие LOG позволяет решить следующие задачи.

• С помощью действия LOG можно протоколировать события, состоящие в появлении пакетов, которые не удовлетворяют другим правилам. Например, вы можете включить правило для записи информации о тех пакетах, которые не прошли проверку с учетом состояния.

Совет

Протоколирование фактов появления пакетов, которые вы не собираетесь отвергать, может быть удобным средством отладки, так как файл протокола позволяет убедиться, что эти пакеты поступают на ваш компьютер. Тот же результат можно получить с помощью других инструментов, например, программы сбора пакетов, но в некоторых случаях файлы протоколов удобнее использовать.

• Если вы установили политику по умолчанию DENY или REJECT, вы можете включить правило протоколирования в конце цепочки и получать таким образом информацию о пакетах, по умолчанию отвергаемых системой.

• Если в вашей системе установлена политика по умолчанию ACCEPT, вы можете получать информацию об отвергнутых пакетах, продублировав каждое запрещающее правило аналогичным правилом, в котором действие DENY или REJECT заменено на LOG.

В качестве примера рассмотрим следующие правила брандмауэра, для которого установлена политика по умолчанию ACCEPT. Эти правила предназначены для блокирования попыток обмена с сетью 172.24.0.0/16; информация об отвергнутых пакетах записывается в файл протокола.

# iptables -A INPUT -s 172.24.0.0/16 -j LOG

# iptables -A OUTPUT -d 172.24.0.0/16 -j LOG

# iptables -A INPUT -s 172.24.0.0/16 -j DROP

# iptables -A OUTPUT -d 172.24.0.0/16 -j DROP

Первые две команды совпадают с двумя последними, за исключением того, что вместо действия DROP в них указано действие LOG. Второе и третье правила можно поменять местами, при этом результаты не изменятся. Между правилами, предусматривающими действия LOG и DROP, можно включить дополнительные правила, но при этом становится менее очевидно, что данные правила связаны между собой.

В результате протоколирования в файл /var/log/messages записываются сведения, подобные приведенным ниже.

Nov 18 22:13:21 teela kernel: IN=eth0 OUT=

MAC=00:05:02:a7:76:da:00:50:bf:19:7e:99:08:00 SRC=192.168.1.3

DST=192.168.1.2 LEN=40 TOS=0x10 PREC=0x00 TTL=64 ID=16023 DF

PROTO=TCP SPT=4780 DPT=22 WINDOW=32120 RES=0x00 ACK URGP=0

В состав записи входят следующие данные.

• Дата и время. Первый компонент записи сообщает время получения пакета.

• Имя системы. В данном примере компьютер имеет имя teela.

• Входной интерфейс. Поле IN=eth0 указывает на то, что пакет был получен через интерфейс eth0.

• Выходной интерфейс. Данный пакет является входным, поэтому поле OUT= отсутствует в составе записи.

• MAC-адрес. В поле MAC= указываются два MAC-адреса: локальной и удаленной систем.

• IP-адреса источника и назначения. Поля SRC= и DST= содержат соответственно IP-адреса источника и назначения.

• Порты источника и назначения. Поля SPT= и DPT= содержат соответственно порты источника и назначения.

• Информация о пакете. Остальные поля предоставляют дополнительные сведения о пакете, в частности, его длину (LEN=), время жизни (TTL=) и другие данные.

При определении правила LOG могут быть заданы дополнительные опции, которые позволяют указать, какие сведения должны быть записаны в файл протокола. Наиболее часто применяется опция --log-prefix префикс. Она позволяет задать строку длиной до 29 символов, которая дает возможность идентифицировать правило, вызвавшее появление этой записи.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.3. Отслеживание хода проекта и контроль над ним

Из книги Модель зрелости процессов разработки программного обеспечения автора Паулк Марк

8.3. Отслеживание хода проекта и контроль над ним Группа ключевых процессов для уровня 2: повторяемый уровень.Цель группы ключевых процессов «Отслеживание хода проекта и контроль над ним» заключается в том, чтобы обеспечить адекватный обзор фактического выполнения


Отслеживание хода проекта и контроль над ним

Из книги Документация NetAMS автора Автор неизвестен

Отслеживание хода проекта и контроль над ним Цель 1. Сравнение фактических результатов и показателей с запланированными.Цель 2. В случае значительного отклонения фактических результатов и показателей от запланированных — применение корректирующих действий и контроль


Протоколирование запрошенных ссылок (URL)

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

Протоколирование запрошенных ссылок (URL) Поддержка этой долгожданной возможности появилась в NeTAMS


5.8.4. Сетевое протоколирование

Из книги Системное программирование в среде Windows автора Харт Джонсон М

5.8.4. Сетевое протоколирование Сейчас разберемся, как обеспечить протоколирование в сети. Протоколирование в сети — это перенаправление сообщений на демон syslogd, запущенный на другой машине, где они будут записаны на диск.Для передачи сообщений используется протокол UDP.


15.5.4. Протоколирование

Из книги Сетевые средства Linux автора Смит Родерик В.

15.5.4. Протоколирование Ниже перечислены режимы протоколирования SQUID с указанием соответствующих журналов. Если какой-то журнал вам не нужен, установите none вместо имени файла. cache_access_log /usr/local/squid/logs/access.logПротоколируется каждый запрос к SQUID. Журнал называется


19.7.9. Обработка сигналов и протоколирование

Из книги OrCAD PSpice. Анализ электрических цепей автора Кеоун Дж.

19.7.9. Обработка сигналов и протоколирование Возможно, вы хотите обеспечить выполнение вашего сценария после выхода пользователя из интерпретатора или выполнить какие-нибудь действия при отключении удаленного пользователя от системы. «Перехватить» сигнал (прерывание)


Ориентированные на строки сообщения, точкив хода DLL и TLS

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Ориентированные на строки сообщения, точкив хода DLL и TLS Программы serverSK и clientSK взаимодействуют между собой, обмениваясь сообщениями, каждое из которых состоит из 4-байтового заголовка, содержащего размер сообщения, и собственно содержимого. Обычной альтернативой такому


Протоколирование работы маршрутизатора

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

Протоколирование работы маршрутизатора Опция IP: Verbose Route Monitoring управляет выводом сведений о маршрутизации в файл протокола. В обычных условиях ядро не протоколирует ход маршрутизации пакетов. Если данная опция установлена, регистрируются сведения о пакетах,


Глава 25 Настройка средств обработки пакетов с помощью iptables

Из книги Цифровой журнал «Компьютерра» № 184 автора Журнал «Компьютерра»

Глава 25 Настройка средств обработки пакетов с помощью iptables Средства ядра Linux, реализующие стек протоколов TCP/IP, получают данные от приложения, оформляют их в виде информационных пакетов и передают по сети. Из принимаемых пакетов извлекается содержащаяся в них информация


Полные сопротивления в режиме холостого хода

Из книги автора

Полные сопротивления в режиме холостого хода Если в качестве независимых переменных выбрать токи четырехполюсника, можно записать следующие уравнения:V1 = z11I1 + z12I2;V2 = z21V1 + z22I2;из которых следует, что Чтобы показать, как в этом случае используется PSpice, рассмотрим простую


8.7. Обработка сигналов и протоколирование

Из книги автора

8.7. Обработка сигналов и протоколирование Обычно при завершении сеанса работы пользователя система посылает всем запущенным им процессам сигналы (п.3.3.2), которые приводят к прекращению этих процессов. Возможно, вам понадобится обеспечить своему сценарию возможность


9.3. Протоколирование системы

Из книги автора

9.3. Протоколирование системы В любой UNIX-подобной системе есть стандартные файлы протоколов (журналов). В них попадают сообщения, генерируемые ядром, системными демонами, утилитами окружения. Эти файлы размещаются в каталоге /var/log. Прикладные программы обычно помещают


9.3.2. Сетевое протоколирование

Из книги автора

9.3.2. Сетевое протоколирование Протоколы — это история жизни системы; они необходимы администратору для выявления и устранения неполадок, но они необходимы и злоумышленнику — для поиска уязвимости или для того, чтобы скрыть следы своего вторжения. Поэтому иногда бывает


18.5.4. Протоколирование

Из книги автора

18.5.4. Протоколирование Ниже перечислены режимы протоколирования SQUID с указанием соответствующих журналов. Если какой-то журнал вам не нужен, установите none вместо имени файла.? cache_access_log /usr/lосal/squid/logs/aссеss.log — протоколирование запросов к SQUID:? cache_log /usr/local/squid/logs/cache.log —


Протоколирование

Из книги автора

Протоколирование Рассмотрим еще одно средство из арсенала защитного программирования -протоколирование (logging). Под протоколированием здесь понимается вставка дополнительного кода, закрытого директивами компилятора, который записывает в файл состояние или значения


На биржу с черного хода: как и для чего наши ломали NASDAQ? Евгений Золотов

Из книги автора

На биржу с черного хода: как и для чего наши ломали NASDAQ? Евгений Золотов Опубликовано 29 июля 2013 Всякий раз, когда в очередном фантастическом произведении герой попадает в прошлое, я поражаюсь тому, какой ерундой он занимается, чтобы улучшить своё