Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Кавычки используются, чтобы не позволить командной оболочке самой интерпретировать специальные символы типа «&». В приведенном выше примере мы выбираем 14-й байт TCP-заголовка, содержащий флаги (не забывайте, что нумерация начинается с нуля), и выполняем операцию логического побитного сложения его содержимого с числом «10010» (десятичное 18), то есть выделяем разряды, соответствующие флагам ACK и SYN. Если хотя бы один из них установлен, то результат не будет равен нулю, и информация по данному пакету будет выведена на экран.
Следующие две команды позволят выбирать пакеты, у которых установлены все флаги (первая) и не установлено ни одного (вторая):
# tcpdumt ‘tcp[13] & 63 = 63’
# tcpdump ‘tcp[13] & 63 = 0’
Еще два полезных параметра: «-w file» и «-r file». Эти ключи позволяют соответственно писать информацию в файл file и читать ранее сохраненные данные из файла. Эта возможность позволяет, например, включить на ночь запись в файл пакетов со всеми флагами, установленными в единицу, а затем проанализировать полученный файл. Однако нужно помнить, что при интенсивной работе размер такого файла может расти очень быстро и заполнить все пространство на диске.
Помимо перечисленных, tcpdump имеет еще целый ряд возможностей, однако они не имеют прямого отношения к материалу данной статьи, и потому рассматриваться здесь не будут.
Использование ipfw для защиты от сканирования
Вот мы и подошли к основному вопросу статьи. Дальнейшее изложение предполагает, что читатель знаком с вопросами установки и настройки пакетного фильтра ipfw, входящего в состав FreeBSD.
В данной статье остановимся лишь на тех особенностях, которые будут использоваться нами для построения правил защиты. Все примеры относятся к версии ipfw, используемой начиная с 5-й версии FreeBSD. В более ранних версиях некоторые особенности могут не работать или иметь несколько отличный от приведенного в статье синтаксис.
В общем виде правило ipfw задается следующим образом:
Номер Действие Протокол from Источник to Приемник [Опции]
Интерес для нас представляет секция Опции, которая может содержать один или несколько следующих параметров:
n via интерфейс – имя интерфейса системы (например, сетевой карты). Если этот параметр задан, правило будет применяться только к пакетам, проходящим через указанное устройство;
n {in | out} – опционально может быть указано направление прохождения пакета (in – входящий по отношению к машине, на которой работает ipfw; out – исходящий; по умолчанию учитываются как входящие, так и исходящие пакеты);
n frag – правилу будут удовлетворять только фрагментированные пакеты (кроме первого фрагмента);
n icmptypes types – тип icmp-пакетов (types может иметь следующие значения: 0 – echo replay, 3 – destination unreach, 5 – redirect, 8 – echo request, 11 – time-to-live exceeded, 12 – IP-header bad, 15 – information request, 16 – information replay и другие);
n iplen length – длина IP-пакета;
n established – TCP-пакеты с установленными флагами RST или ACK, то есть пакеты, принадлежащие установленному соединению;
n ipttl ttl – пакеты с определенным временем жизни (time-to-live, ttl);
n setup – пакеты, запрашивающие установление соединения (с установленным битом SYN, но без флага ACK);