Настройка

Теперь ты можешь настроить работу Portsentry по своему усмотрению. Файл portsentry.conf содержит директивы конфигурации следующего формата:


ОПЦИЯ="значение"

Опции поддерживаются такие:

TCP_PORTS
Здесь через запятую перечисляются TCP-порты, которые проверяются Portsentry. При подключении к ним, Portsentry записывает в информацию об этом в логи, затем выполняет команду, заданную пользователем, после этого блокирует хост посредством ipchains. Опция используется при работе в режиме Classic и Enhanced Stealth Scan Detection Mode. Желательно всегда оставлять порт 1 открытым, т.к. большинство сканировщиков портов начинают проверять с 1 и далее. Это способствует более быстрому обнаружению сканирования. TCP-порты, открытые другими программами (25 при загруженном sendmail, 80 при загруженном httpd и т.д.) в этот список включатся не должны.

TCP_PORTS="1,11,15,79,111,119,143,540,635"

UDP_PORTS
То же что и TCP_PORTS, но для UDP-портов.

UDP_PORTS="1,7,9,69,161,162,513,635,640,641"
ADVANCED_PORTS_TCP
Значение этой опции определяет верхнюю границу множества TCP-портов, которые проверяются Portsentry при работе в режиме Advanced Stealth Scan Detection Mode. Нижней границей является 1, т.е. при значении ADVANCED_PORTS_TCP равное 1024 проверяется подключение к любому порту в промежутке от 1 до 1024.

ADVANCED_PORTS_TCP="1023"
ADVANCED_PORTS_UDP
То же, что и ADVANCED_PORTS_TCP, но для UDP-портов.

ADVANCED_PORTS_UDP="1023"
ADVANCED_EXCLUDE_TCP
TCP-порты, которые исключаются из промежутка 1..ADVANCED_PORTS_TCP, т.е. из списка портов, предназначенных для проверки. Здесь обязательно нужно перечислить TCP-порты, открытые работающими программами.

ADVANCED_EXCLUDE_TCP="23,25,80,110,113,139"
ADVANCED_EXCLUDE_UDP
То же, что и ADVANCED_EXCLUDE_TCP, но для UDP-портов.

ADVANCED_EXCLUDE_UDP="520,138,137,67"
IGNORE_FILE
Имя и путь к файлу с IP-адресами хостов, которые не блокируются при подключении к порту, проверяемому Portsentry.

IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore"
HISTORY_FILE
Имя и путь к файлу с историей работы Portsentry. В файл записывается время блокирования, имя и IP хоста, атакованный порт, протокол (TCP или UDP). Файл не создается заново при каждом запуске.

HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history"
BLOCKED_FILE
Строка, из которой формируется имя и путь к файлам, куда записывается информация о блокированных хостах. Имя файла формируется так BLOCKED_FILE.РЕЖИМ_РАБОТЫ, где режим работы может быть tcp, udp, stcp, sudp, atcp, audp, т.е. если BLOCKED_FILE равен /usr/local/psionic/portsentry/portsentry.blocked, а режим работы audp, то имя файла будет /usr/local/psionic/portsentry/portsentry.blocked.audp.

BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked"
BLOCK_TCP
Эта опция в зависимости от значения, задает ответную реакцию Portsentry на сканирование портов: 0 - не блокировать хост, не запускать заданную пользователем команду, 1 - блокировать хост и запустить команду, 2 - только запустить заданную команду. Команда задается при помощи опции KILL_RUN_CMD.

BLOCK_TCP="1"
BLOCK_UDP
То же, что и BLOCK_TCP, но для UDP.

BLOCK_UDP="1"
KILL_ROUTE
Эта опция задает команду, которую надо выполнить для блокирования атакующего хоста, установив на него firewall или удалив его сетку из таблицы роутинга. Для указания IP-адреса используется переменная $TARGET$. Переменная $PORT$ используется для указания порта, к которому было подключение.

KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"
KILL_HOSTS_DENY
Эта опция задает строку, которая вписывается в /etc/hosts.deny, для блокирования доступа к сервисам, запускаемым через inetd.

KILL_HOSTS_DENY="ALL: $TARGET$"
KILL_RUN_CMD
С помощью этой опции можно определить команду, запускаемую до блокирования хоста. Можно поставить туда отправку e-mail'а администратору или запуск нюка в сторону сканировщика.:)

KILL_RUN_CMD="teardrop 192.168.0.1 $TARGET$ -s $PORT$ -t 139 -n 5000"
SCAN_TRIGGER
Данная опция задает количество разрешенных подключений к проверяемым Portsentry портам одного и того же хоста, прежде, чем Portsentry начнет действовать. 0 определяет немедленную реакцию.

SCAN_TRIGGER="0"
PORT_BANNER
Задает сообщение, которое будет выводится при подключении к проверяемому Portsentry порту. Автор Portsentry Craig H. Rowland в инструкции по установке пишет, что не рекомендует вставлять туда какое либо сообщение, т.к. это может разозлить или раззадорить сканировщика и подтолкнуть его к дальнейшим действиям. Решать тебе...:)

PORT_BANNER="** UNAUTHORIZED ACCESS PROHIBITED *** YOUR CONNECTION ATTEMPT HAS BEEN LOGGED. GO AWAY."

Пример portsentry.conf:


TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,32770,32771,32772,32773,32774"
ADVANCED_PORTS_TCP="1023"
ADVANCED_PORTS_UDP="1023"
ADVANCED_EXCLUDE_TCP="23,25,80,110,113,139"
ADVANCED_EXCLUDE_UDP="520,138,137,67"
IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore"
HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history"
BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked"
BLOCK_UDP="1"
BLOCK_TCP="1"
KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"
KILL_HOSTS_DENY="ALL: $TARGET$"
KILL_RUN_CMD="echo Ports Scaning from $TARGET$ on $PORT$ | mail root"
SCAN_TRIGGER="0"

В файле portsentry.ignore ты должен перечислить IP-адреса компьютеров, которые не должны быть блокированы программой при подключении к проверяемому порту. По умолчанию, там содержится два IP-адреса: 127.0.0.1 и 0.0.0.0.

Предыдущая

Содержание

Следующая


(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site