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