Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 62
Текст из файла (страница 62)
/etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0# Specify your network interface hereINTERFACE=eth0RETVAL=0prog="Snort"start() {echo -n $"Starting $prog: "daemon /usr/bin/snort -A fast -u snort -g snort -b -s -z -d -D \-i $INTERFACE -c /etc/snort/snort.conf -t /chroot/snort/RETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/snortreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "killproc snortRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/snortreturn $RETVAL}# See how we were called.case "$1" instart)start;;stop)stopГлава 19.
Snort – программное обеспечение для обнаружения попыток вторжения255;;status)status snort;;restart)stopstart;;condrestart)[ -f /var/lock/subsys/snort ] && restart;;*)echo $"Usage: $prog {start|stop|status|restart|condrestart}"exit 1esacexit $RETVALи установите права доступа к файлу:[root@drwalbr /]# chmod 700 /etc/init.d/snortШаг 4Запустите Snort:[root@drwalbr /]# /etc/init.d/snort startЗапускается Snort: eth0: Promiscuous mode enabled.[ОК]Шаг 5Проверьте, запущен ли Snort, и определите соответствующий номер процесса:[root@drwalbr /]# ps -ax | grep snort6171 ?R0:02 /usr/bin/snort -A fast -u snort -g snort -b -s -z -dШаг 6Проверьте, запущен ли Snort в окружении chroot-jail:[root@drwalbr /]# ls -la /proc/6171/root/Если вы получите вывод вида (отображающий ссылку на корневой каталог среды chroot-jail):lrwxrwxrwx1 rootroot0 Апр 23 21:01 /proc/6171/root > /chroot/snortто Snort корректно работает в окружении chroot-jail.Если вы получите вывод вида (отображающий корневой каталог системы, на которой он установлен):итого 124drwxr-xr-x19 rootroot1024 Апр 23 20:01 .drwxr-xr-x19 rootroot1024 Апр 23 20:01 ..-rw-r--r-1 rootroot0 Апр 23 20:01 .autofsckdrwxr-xr-x2 rootroot2048 Апр 22 12:13 bindrwxr-xr-x5 rootroot1024 Апр 5 17:31 bootdrwxr-xr-x5 rootroot1024 Апр 15 18:57 chrootdrwxr-xr-x19 rootroot82944 Апр 23 20:01 devdrwxr-xr-x28 rootroot3072 Апр 23 20:01 etcdrwxr-xr-x37 rootroot4096 Апр 23 19:02 homedrwxr-xr-x2 rootroot1024 Июн 21 2001 initrddrwxr-xr-x7 rootroot3072 Апр 5 14:16 libdrwx-----2 rootroot12288 Апр 5 03:10 lost+founddrwxr-xr-x5 rootroot1024 Апр 4 23:20 mntdrwxr-xr-x2 rootroot1024 Авг 23 1999 optdr-xr-xr-x45 rootroot0 Апр 24 2003 procdrwxr-x--5 rootroot1024 Апр 22 12:05 rootdrwxr-xr-x2 rootroot3072 Апр 4 23:23 sbindrwxrwxrwt4 rootroot2048 Апр 23 20:01 tmpdrwxr-xr-x15 rootroot4096 Апр 7 21:30 usrdrwxr-xr-x16 rootroot1024 Апр 16 20:29 varто Snort работает в обычной среде и, в принципе, может быть использован для реализации атаки на системувцелом.256Часть 4.
Программное обеспечение для ограничения доступа к серверу...Глава 20ucspi-tcp – программное обеспечение для запуска обычных программ в режимесервераВ этой главе:1. Ограничения и допущения2. Пакеты3. Компиляция, оптимизация и инсталляция ucspi-tcp4. Использование ucspi-tcpГлава 20. ucspi-tcp – программное обеспечение для запуска обычных программ в режиме сервера257Программное обеспечение ucspi-tcp (UNIX Client-Server Program Interface), разработанное Д. Бернштейном (D.R. Bernstein), содержит пакет программ. Эти программы используются при создании различныхклиент-серверных приложений и позволяют запускать в режиме сервера различные программы, которые немогут быть запущены в режиме службы. Программы tcpserver и tcpclient, наиболее часто используемые изданного пакета, являются более быстродействующей и безопасной альтернативой для таких широко известных программ, как inet и xinetd.При этом программа tcpserver позволяет ограничивать максимальное количество одновременных соединений, ограничивать доступ к запущенной службе в соответствии с заданными правилами, выполнятьпроверку легитимности IP-адреса через DNS и регистрировать соединения в файле регистрации.Ограничения и допущенияИсходные коды находятся в каталоге /var/tmp.Все операции выполняются пользователем с учетной записью root.Используется дистрибутив ASPLinux 7.3 (Vostok).Перекомпиляция ядра не требуется.Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы это не проверяли.ПакетыПоследующие рекомендации основаны на информации, полученной с домашней страницы проектаucspi-tcp по состоянию на 11.05.2003.
Регулярно посещайте домашнюю страницу проектаhttp://cr.yp.to/ucspi-tcp/install.html и отслеживайте обновления.Исходные коды ucspi содержатся в архиве ucspi-tcp-version.tar.gz (последняя доступная намомент написания главы стабильная версия ucspi-tcp-0.88.tar.gz).Компиляция, оптимизация и инсталляция ucspi-tcpДля установки ucspi-tcp необходимо выполнить следующие операции.Шаг 1Осуществите проверку подлинности имеющегося в вашем распоряжении архива с исходными кодамис использованием процедур, описанных в шаге 1 радела «Компиляция, оптимизация и инсталляцияOpenSSL» главы 12.Шаг 2Распакуйте архив с исходными кодами ucspi-tcp в каталоге /var/tmp:[root@drwalbr /]# cd /var/tmp/[root@drwalbr tmp]# tar xzpfи перейдите во вновь созданный каталог, содержащий исходные коды ucspi-tcp:[root@drwalbr tmp]# cd ucspi-tcp-0.88/Шаг 3В файле /var/tmp/ucspi-tcp-0.88/conf-home замените строку:/usr/localна:/usrШаг 4В файле /var/tmp/ucspi-tcp-0.88/conf-cc замените строку:gcc -О2на:gcc -O2 -march=i686 -funroll-loopsШаг 5Откомпилируйте исходные коды, проинсталлируйте файлы ucspi-tcp, создайте и сохраните списокинсталлированных файлов:[root@drwalbr ucspi-tcp-0.88]# make[root@drwalbr ucspi-tcp-0.88]# find /* > /root/ucspi1[root@drwalbr ucspi-tcp-0.88]# make setup check[root@drwalbr ucspi-tcp-0.88]# chmod 0510 /usr/bin/tcpserver258Часть 4.
Программное обеспечение для ограничения доступа к серверу...[root@drwalbr ucspi-tcp-0.88]# chmod 0510 /usr/bin/tcpclient[root@drwalbr ucspi-tcp-0.88]# find /* > /root/ucspi2[root@drwalbr ucspi-tcp-0.88]# diff /root/ucspi1 /root/ucspi2 >/root/ucspi.installed[root@drwalbr ucspi-tcp-0.88]# mv /root/ucspi.installed/very_reliable_place/ucspi.installed.YYYYMMDDШаг 6Удалите архив и каталог с исходными кодами ucspi-tcp:[root@drwalbr /]# cd /var/tmp/[root@drwalbr tmp]# rm -rf ucspi-tcp-0.88/[root@drwalbr tmp]# rm -f ucspi-tcp-0.88.tar.gzИспользование ucspi-tcpКак уже отмечалось, программы из пакета ucspi-tcp могут быть использованы для запуска ряда служб.Подробные инструкции по их использованию приведены в документации на соответствующее программноеобеспечение.
В этой главе рассматриваются простейшие варианты использования программы tcpserver, носящие иллюстративно-ознакомительный характер.Запуск службы с помощью программы tcpserver осуществляется с использованием команды:[root@drwalbr /]# tcpserver opts host port /path/progгде:opts – набор опций;host – имя системы, на которой требуется запустить службу;port – номер порта, на котором будет выполняться служба;prog – полный путь и имя исполняемого файла службы.Опция -c используется для определения максимального количества одновременных соединений, обрабатываемых tcpserver.
Значение по умолчанию – 40 . Т. е. не более 40 одновременных подключений могутобрабатываться tcpserver. Очевидно, что для высокопроизводительного и сильно загруженного сервера необходимо увеличить это значение.Опции -u и -g используется для определения пользователя и соответствующей ему группы пользователей, от имени которого должна быть запущена соответствующая служба.Опции –D, -H, -R и -I используются для повышения производительности системы.Для запуска vsFTPd FTP-сервера используется команда:[root@drwalbr /]# tcpserver -c 4096 –DRHl localhost 0 21 /usr/sbin/vsftpdВ результате выполнения команды будет запущен FTP-сервер, ожидающий соединений на 21 портувсех сетевых интерфейсов локальной системы.
При этом максимально возможное число устанавливаемыходновременно соединений не должно превышать 4096.Для запуска ipop3d POP3-сервера используется команда:[root@drwalbr /]# tcpserver -c 1024 –DRH1 localhost 195.2.72.152 110/usr/sbin/ipop3dВ результате выполнения команды будет запущен POP3-сервер, ожидающий подключений на 110порту сетевого интерфейса с IP-адресом 195.2.72.152.
При этом максимально возможное число одновременно устанавливаемых соединений не должно превышать 1024.Глава 21. xinetd – программное обеспечение для запуска обычных программ в режиме сервера259Глава 21xinetd – программное обеспечение для запуска обычных программ в режиме сервераВ этой главе:1. Ограничения и допущения2. Пакеты3. Инсталляция с помощью rpm-пакетов4. Компиляция, оптимизация и инсталляция xinetd5. Конфигурирование xinetd6.
Конфигурационный файл /etc/xinetd.conf7. Каталог /etc/xinetd.d8. Конфигурационный файл /etc/xinetd.d/pop3s9. Конфигурационный файл /etc/xinet.d.d/time10. Конфигурационный файл /etc/xinetd.d/chargen11. Конфигурационный файл /etc/xinetd.d/echo12. Конфигурационный файл /etc/xinetd.d/daytime13.