Portsentry
Настройка
Теперь ты можешь настроить работу 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)Ерижоков
А.А., 2000. Использование данного документа разрешено только с согласия
автора и с указанием первоисточника: DH's Linux Site
|