Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

Граница на замке

Антон Карпов, 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

Назад на стр. 051-030-5  Содержание  Вперед на стр. 051-030-7