(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site
(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site
Сканирование портов является одним из самых распространенных и простых способов узнать, какая операционная система установлена на компьютере, какие службы запущены в данный момент и получить другую информацию о компьютере, подключенном к Internet , которая может быть использована для взлома и проникновения. Существует много программ для обнаружения сканирования портов. Но обнаружения не достаточно. "Должна последовать адекватная реакция"(с)В.В.Путин. "Адекватная реакция" может заключаться в отправке в сторону сканирующего тебя человека неправильного фрагментированного пакета, ответного сканирования портов, установки на него firewall'а и т.д. Также желательно, чтоб он получил недостоверную информацию об открытых портах на твоем компьютере. Все это и многое другое позволяет делать прекрасная программа Psionic Software Portsentry.
Основные возможности Portsentry:
(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site
Portsentry в исходниках можно бесплатно скачать на сайте Psionic Software. На момент написания данной статьи последней версией программы была 1.0. Скачать можно здесь.
После того, как скачаешь, распакуй сохраненный файл.
tar xfz portsentry-1.0.tar.gz
В текущем каталоге появится директория portsentry-1.0. Она должна содержать следующие файлы:
CHANGES - история изменений программы от версии к версии
CREDITS - файл с благодарностями всем кто помог в создании или тестировании программы
LICENSE - лицензия
Makefile - без комментариев...:)
README.COMPAT - список операционных систем на которых тестировалась работа программы
README.install - инструкция по установке и настройке
README.methods - описание различных методов защиты портов
README.stealth - описание обнаруживаемых методов Stealth-сканирования
ignore.csh - скрипт для автоматического создания файла portsenry.ignore - для компьютеров, не имеющих постоянного
IP-адреса, может быть включен, например, в файл /etc/ppp/ip-up
portsentry.c - часть исходника программы
portsentry.conf - файл конфигурации
portsentry.h - часть исходника программы
portsentry.ignore - файл с IP-адресами компьютеров, чье подключение к закрытым портам не должно блокироваться. По умолчанию
содержит 127.0.0.1 и 0.0.0.0
portsentry_config.h - часть исходника программы, содержащая различные опции конфигурации
portsentry_io.c - часть исходника программы
portsentry_io.h - часть исходника программы
portsentry_tcpip.h - часть исходника программы
portsentry_util.c - часть исходника программы
portsentry_util.h - часть исходника программы
Первым делом загляни в portsentry_config.h. В нем содержатся пути к файлам конфигурации и другие параметры работы.
/* Путь к конфигурационному файлу. Если ты изменил его - не забудь сделать то же самое в Makefile */
#define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf"
/* Путь к файлу hosts.deny для tcpwrapper'а. Обычно он находится в /etc */
#define WRAPPER_HOSTS_DENY "/etc/hosts.deny"
/* Устанавливает тип логов для syslogd*/
#define SYSLOG_FACILITY LOG_DAEMON
/* Устанавливает уровень значимости логов syslogd*/
#define SYSLOG_LEVEL LOG_NOTICE
/* Максимальное количество запоминаемых для проверки повторного подключения хостов */
#define MAXSTATE 50
Какие типы и уровни значимости логов бывают, можно посмотреть, набрав man 3 syslog. CONFIG_FILE можно изменить на что-нибудь типа /etc/portsentry.conf. Но лучше оставь как есть, так как придется также менять и Makefile, в котором указано, что файл конфигурации и файл программы копируется в один и тот же каталог. Проверь, есть ли у тебя в /etc файл hosts.deny. В большинстве дистрибутивов он там и находится. Если в другом месте - измени значение WRAPPER_HOSTS_DENY. Поподробнее о hosts.deny можно почитать, набрав man hosts.deny. Значение MAXSTATE зависит только от того, как часто ты перегружаешь свой компьютер, так как данные о подключавшихся хостах уничтожаются при каждой загрузке программы.
После того, как закончишь с portsentry_config.h, можно будет изменить Makefile. Менять здесь можно только INSTALLDIR и CHILDDIR, остальное лучше оставить неизменным. По умолчанию INSTALLDIR равен /usr/local/psionic, а CHILDDIR - /portsenry. Таким образом программа и файлы конфигураций будут копироватся в /usr/local/psionic/portsentry.
Теперь можешь смело набрать:
make linux
для того, чтоб откомпилировать программу под Linux. Если компиляция прошла нормально, можно набрать:
make install
из-под root'а для установки Portsentry.
Если ты не менял путь для установки, то у тебя в /usr/local должен появится каталог psionic, в котором есть директория portsentry, содержащая три файла: portsentry - сама программа, portsentry.conf и portsentry.ignore.
(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site
Теперь ты можешь настроить работу Portsentry по своему усмотрению. Файл portsentry.conf содержит директивы конфигурации следующего формата:
ОПЦИЯ="значение"
Опции поддерживаются такие:
TCP_PORTS="1,11,15,79,111,119,143,540,635"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641"
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_TCP="1"
BLOCK_UDP="1"
KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"
KILL_HOSTS_DENY="ALL: $TARGET$"
KILL_RUN_CMD="teardrop 192.168.0.1 $TARGET$ -s $PORT$ -t 139 -n 5000"
SCAN_TRIGGER="0"
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
Portsentry можно запускать в трех режимах для каждого протокола. Режимы работу задаются в командной строке при вызове Portsentry. Одновременно можно задать только один режим работы для одного протокола.
Таким образом Portsentry может запускатся в следующих режимах:
Ты можешь добавить вызов Portsentry в /etc/rc.d/rc.local или создать для него отдельный скрипт запуска в /etc/rc.d/init.d/. Можно запускать его только при подключении к Internet, добавив вызов в /etc/ppp/ip-up, а при отключении - выгружать, добавив что-нибудь типа killall -9 portsentry в /etc/ppp/ip-down.
(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site
Установка и настройка, как и использование Portsentry очень просты. Но расположение файлов не совсем удачное, на мой взгляд. Я немного изменил исходники, изменил Makefile, создал SysV Init - скрипт для запуска. Теперь файлы portsentry.conf и portsentry.ignore копируются в /etc, сама программа в /usr/sbin, а файлы portsentry.history и portsentry.blocked.* создаются в /var/log/portsentry. В /etc/rc.d/init.d создается скрипт запуска portsentry. Этот вариант Portsentry можно скачать здесь. Там также есть RPM и SRPM.
Следующая |
(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site