Граница на замке Антон Карпов, toxa@cterra.ru Спецвыпуск: Хакер, номер #051, стр. 051-030-6 Apache - то немногое, что мне нравится в OpenBSD. И хоть формально это httpd версии 1.3.29, на самом деле Apache в базовой поставке OpenBSD сильно отличается от такового с httpd.apache.org. В нем исправлено множество ошибок, и в целях безопасности он по умолчанию запускается в chroot(). Однако это и создает дополнительные проблемы. Например, после установки php нужно проделать следующее: # cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini Затем поправим php.ini: # vi /var/www/conf/php.ini safe_mode_exec_dir = /var/www/ expose_php = Off include_path = ".:/pear/lib:/var/www/pear/lib" extension_dir = "/var/www/lib/php/modules" safe_mode_gid = Off allow_url_fopen = Off Поправим /var/www/conf/httpd.conf: LoadModule php4_module /usr/lib/apache/modules/libphp4.so DirectoryIndex index.html index.php AddType application/x-httpd-php .php Потом скопируем скрипты index.php oper.php procs.inc в /var/www/htdocs. Apache - часть системы, по умолчанию он отключен. А чтобы не портить /etc/rc.conf, создавай /etc/rc.conf.local следующего содержания: #!/bin/sh - ntpd_flags="" httpd_flags="" Заодно был включен демон точного времени OpenNTPD, который будет синхронизировать системные часы с внешних time-серверов. Знание точного времени никогда не повредит. Запускаем apache: # apachectl start Теперь пользователи могут любоваться статистикой не покидая браузер ;). Строим огненную стену Наконец, настроим пакетный фильтр pf, который по умолчанию отключен. echo pf=YES %26gt;%26gt; /etc/rc.conf.local Займемся pf и его конфигурационным файлом /etc/pf.conf. Политика будет простая: пропускать все наружу, блокировать все попытки соединения с машинами локальной сети извне. Кроме того, мы откроем доступ к шлюзу отовсюду по ssh, чтобы в случае чего залогиниться на него из любой точки земного шара и разрулить проблемы, а также с определенной машины откроем доступ по pop3, чтобы получать отчеты о работе системы. Не забудем и про заворачивание на squid и ftp-proxy пакетов, идущих на www- и ftp-серверы соответственно. На десерт мы прикрутим ALTQ - систему Quality Of Service, которая упорядочивает пакеты по приоритетам согласно указанным правилам. # vi /etc/pf.conf # $OpenBSD: pf.conf,v 1.28 2004/04/29 21:03:09 frantzen Exp $ # See pf.conf(5) and /usr/share/pf for syntax and examples. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces. # Rules must be in order: # options, normalization, queueing, translation, filtering # 1. MACROSES AND TABLES (options) ------------------------- # Описываем наши интерфейсы, подсеть, и свою машину в локалке ext_if="vr0" int_if="vr1" loop_if="lo0" adminbox="192.168.0.10" subnet="192.168.0.0/24" # Порты IM-служб (icq, jabber, aol) im_ports = "{ 1863, 5190, 5222, 6667 }" # Не маршрутизируемые в интернет адреса table %26lt;priv_nets%26gt; { 127/8, 192.168/16, 172.16/12, 10/8 } # 2. PF SETTINGS (normalisation) --------------------------- # Общие настройки pf. set optimization normal |