Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 57
Текст из файла (страница 57)
Авторы рекомендуют добавить только свой собственный домен::0.)Шаг 2Установите права доступа к файлу и определите его владельцем пользователя root:[root@www /]# chmod 600 /etc/hostsentry/moduleForeignDomain.allow[root@www /]# chown 0.0 /etc/ hostsentry/moduleForeignDomain.allowКонфигурационный файл /etc/hostsentry/moduleMultipleLogins.allowСоздайте файл /etc/hostsentry/moduleMultipleLogins.allow, содержащий список хостов, при удаленной регистрации с которых пользователям разрешено одновременно несколько регистрацийв системе, т.
е. информация о возникновении таких событий игнорируется HostSentry. Авторы рекомендуютдобавить в этот файл только localhost:# Place hosts in here you want this module to disregard logins from.localhostШаг 2Установите права доступа к файлу и определите его владельцем пользователя root:[root@www /]# chmod 600 /etc/hostsentry/moduleMultipleLogins.allow[root@www /]# chown 0.0 /etc/hostsentry/moduleMultipleLogins.allowФайл инициализации /etc/init.d/hostsentry: hostsentry файл инициализацииЕсли вы хотите, что бы HostSentry автоматически запускался при загрузке системы, выполните следующие операции.Шаг 1Создайте файл /etc/init.d/hostsentry, содержащий следующие строки:#!/bin/bash# This shell script takes care of starting and stopping HostSentry.## chkconfig: 345 98 85232Часть 4. Программное обеспечение для ограничения доступа к серверу...###\#####description: HostSentry is a host based intrusion detection tool that \performs Login Anomaly Detection (LAD).
This tool allows \administrators to spot strange login behavior and quicklyrespond to compromised accounts and unusual behavior.processname: hostsentryconfig: /etc/hostsentry/hostsentry.confpidfile: /var/run/hostsentry.pid# Source function library.. /etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0RETVAL=0prog="HostSentry"start() {if [ -f /var/run/hostsentry.pid ] ; thenpid=`cat /var/run/hostsentry.pid`if [ "$pid" != "" ] ; thenecho $"HostSentry is already running"exit 0fifiecho -n $"Starting $prog: "cd /usr/lib/hostsentrydaemon python hostsentry.pyRETVAL=$?echoecho `ps aux | grep "python hostsentry.py" | cut --delimiter=" "-f 7` > /var/run/hostsentry.pid[ $RETVAL -eq 0 ] && touch /var/lock/subsys/hostsentryreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "cd /usr/lib/hostsentrykillproc python hostsentry.pyRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/hostsentry && rm -f/var/run/hostsentry.pidreturn $RETVAL}restart() {stopstart}condrestart() {if [ -f /var/lock/subsys/hostsentry ]; thenrestartfi}Глава 17.
HostSentry – программное обеспечение для обнаружения необычной активности...233# See how we were called.case "$1" instart)start;;stop)stop;;restart)restart;;condrestart)condrestart;;*)echo $"Usage: $0 {start|stop|restart|condrestart}"exit 1;;esacШаг 2Сделайте файл /etc/init.d/hostsentry исполняемым и определите его владельцем пользователя root:[root@www /]# chmod 700 /etc/init.d/hostsentry[root@www /]# chown 0.0 /etc/init.d/hostsentryШаг 3Для создания необходимых символьных ссылок выполните команды:[root@www /]# chkconfig --add hostsentry[root@www /]# chkconfig --level 345 hostsentry onТестирование HostSentryШаг 1Запустите HostSentry:[root@www /]# /etc/init.d/hostsentryШаг 2Зарегистрируйтесь в качестве обычного пользователя, имеющего учетную запись на данной системе.В рассматриваемом примере использовалась учетная запись dymatel.В файле /var/log/messages должны появиться строки:Apr 25 17:35:41 www hostSentry[4193]: securityalert: LOGIN User: dymatelTTY: pts/1 Host: drwalbr.undApr 25 17:35:41 www hostSentry[4193]: securityalert: Foreign domain logindetected for user: dymatel from: drwalbr.undApr 25 17:35:41 www hostSentry[4193]: securityalert: Action being takenfor user: dymatelApr 25 17:35:41 www hostSentry[4193]: securityalert: Module requestingaction is: moduleForeignDomainApr 25 17:35:41 www hostSentry[4193]: securityalert: Action complete formodule: moduleForeignDomainналичие которых указывает на нормальную работу HostSentry.Шаг 3Теперь попробуйте зарегистрироваться в системе в качестве несуществующего пользователя, например, tetushka_luba.
В этом случае в файле /var/log/messages должны появиться строки:Apr 28 09:43:15 www login(pam_unix)[1704]: check pass; user unknownApr 28 09:43:15 www login(pam_unix)[1704]: authentication failure; logname=LOGIN uid=0 euid=0 tty=tty2 ruser= rhost=Apr 28 09:43:18 www login[1704]: FAILED LOGIN 1 FROM (null) FORtetushka_luba, Authentication failure234Часть 4. Программное обеспечение для ограничения доступа к серверу...Apr 28 09:43:21 www hostSentry[1002]: securityalert: LOGOUT User: LOGINTTY: tty2 Host:Apr 28 09:43:21 www hostSentry[1002]: adminalert: moduleRhostsCheck: logout: Cannot find user: LOGIN in passwd database: getpwnam(): name notfoundApr 28 09:43:21 www hostSentry[1002]: adminalert: ERROR: Module file:moduleRhostsCheck exec error: adminalert: moduleRhostsCheck: logout: Cannot find user: LOGIN in passwd database: getpwnam(): name not found.
Continuing with processingApr 28 09:43:21 www hostSentry[1002]: adminalert: moduleHistoryTruncated:logout: Cannot find user: LOGIN in passwd database: getpwnam(): name notfoundApr 28 09:43:21 www hostSentry[1002]: adminalert: ERROR: Module file:moduleHistoryTruncated exec error: adminalert: moduleHistoryTruncated:logout: Cannot find user: LOGIN in passwd database: getpwnam(): name notfound.
Continuing with processingApr 28 09:43:21 www hostSentry[1002]: adminalert: moduleOddDirnames: logout: Cannot find user: LOGIN in passwd database: getpwnam(): name notfoundApr 28 09:43:21 www hostSentry[1002]: adminalert: ERROR: Module file:moduleOddDirnames exec error: adminalert: moduleOddDirnames: logout: Cannot find user: LOGIN in passwd database: getpwnam(): name not found. Continuing with processingApr 28 09:43:22 www hostSentry[1002]: securityalert: Login TTY: notfound in TTY state DB.Apr 28 09:43:23 www hostSentry[1002]: securityalert: LOGIN User: LOGINTTY: tty2 Host:Apr 28 09:43:23 www hostSentry[1002]: securityalert: Foreign domain logindetected for user: LOGIN from:Apr 28 09:43:23 www hostSentry[1002]: securityalert: Action being takenfor user: LOGINApr 28 09:43:23 www hostSentry[1002]: securityalert: Module requestingaction is: moduleForeignDomainApr 28 09:43:23 www hostSentry[1002]: securityalert: Action complete formodule: moduleForeignDomainтакже указывающие на нормальную работу HostSentry.Глава 18.
PortSentry – программное обеспечение для атоматического ограничения доступа...235Глава 18PortSentry – программное обеспечение для автоматического ограничения доступа ссистем, используемых для деструктивного воздействияВ этой главе:1. Ограничения и допущения2. Пакеты3. Инсталляция с помощью rpm-пакетов4. Компиляция, оптимизация и инсталляция Portsentry5. Конфигурирование PortSentry6. Конфигурационный файл /etc/portsentry/portsentry.conf7. Конфигурационный файл /etc/portsentry/portsentry.ignore8.
Конфигурационный файл /etc/portsentry/portsentry.modes9. Файл инициализации /etc/init.d/portsentry10. Тестирование PortSentry236Часть 4. Программное обеспечение для ограничения доступа к серверу...Система сетевой защиты позволяет ограничить доступ от различного рода злоумышленников, оставляя открытыми только некоторые порты, необходимые для нормального функционирования используемыхвами служб. Существуют программы, осуществляющие сканирование всех портов сервера и выявление открытых портов. Одной из таких программ является программа Network Mapper (Nmap), исходные коды которой, описания по инсталляции, настройке и использованию могут быть получены с домашней страницыпроекта http://www.insecure.org/nmap/.
Сканирование портов – если оно не осуществляется администратором системы для проверки правильности настроек – является признаком повышенного интереса квашей системе. Программа PortSentry позволяет обнаруживать факт сканирования портов и реагировать наэто событие в автоматическом режиме, делая соответствующие записи в файле регистрации и запуская различные приложения.Ограничения и допущенияИсходные коды находятся в каталоге /var/tmp.Все операции выполняются пользователем с учетной записью root.Используется дистрибутив ASPLinux 7.3 (Vostok).Перекомпиляция ядра не требуется.Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы этого не проверяли.ПакетыПоследующие рекомендации основаны на информации, полученной с домашней страницы проектаhttp://www.psionic.com в сентябре 2002г.