Диалапные радости рыбаков - Рулим модемом в собственной операционке

Andrushock

Xakep, номер #050, стр. 050-072-6


'anekdot\.ru/cgi-bin/banner/',

...

);

while (<>) {

($url, $who, $ident, $method) = /^(\S+) (\S+) (\S+) (\S+)$/ ;

$url = 'http://localhost/manual/images/pixel.gif'

if grep ($url=~/$_/i, @banners) ;

print "$url $who $ident $method\n" ;

}

Теперь вместо указанных в массиве @banners адресов баннеров, счетчиков и другой нечисти, будет отображаться gif'чик размером 1х1 пиксель. Постоянно пополняющийся список "черных" URL'ов ты всегда можешь взять на http://linuxnews.ru/redirector.

Все, создаем кэш прокси-сервера:

# /usr/local/squid/bin/squid -z

Для автоматической загрузки squid'а, прописываем его в /etc/rc.local:

if [ X"${squid}" == X"YES" -a -x /usr/local/squid/bin/squid \

-a -e /etc/squid/squid.conf ]; then

echo -n ' squid'; /usr/local/squid/bin/squid -sDY > /dev/null 2>&1

fi

Подробнее о параметрах запуска:

-s - производить дополнительное журналирование с помощью syslogd в /var/log/messages;

-D - не делать DNS-тест (без этой опции и без постоянного подключения к интернету squid может совершенно спокойно не загрузиться);

-Y - более быстрое восстановление после сбоев.

Для разрешения запуска создадим еще один конфиг:

# vi /etc/rc.conf.local

#!/bin/sh

squid=YES

Закрываем двери в систему

Несмотря на лозунг разработчиков "Secure by default", я порекомендовал бы все же отказаться от использования inetd, ntpd, sshd и sendmail. Потому как, во-первых, незачем они на клиентском хосте, во-вторых, драгоценную памятку и такты проца высвободишь, да и на душе легче станет :). Отключаются ненужные/неиспользуемые сервисы в файле /etc/rc.conf.

Сказка об огненной стене

По причине разногласий разработчиков OpenBSD и IPFilter, начиная с версии 3.0 в дистрибутив входит брандмауэр Packet Filter (пока существует версия только для OpenBSD), не уступающий по скорости работы и возможностям ipf, а также обладающий новыми интересными фичами и еще более простым синтаксисом по сравнению со своим предшественником. Ниже приведен _пример_ создания цепочки правил pf для клиентского хоста, подключенного к инету с помощью интерфейса tun0.

# vi /etc/pf.conf

/* используемые макросы */

loopback = "lo0"

iface = "tun0"

/* указываем диапазоны с зарезервированными для внутреннего использования IP-адресами (см. RFC1918), а также исходный и целевой широковещательные адреса */

fake = "{

0.0.0.0, 10.0.0.0/8, 20.20.20.0/24, 127.0.0.0/8,

169.254.0.0/16, 172.16.0.0/12, 192.0.2.0/24, 224.0.0.0/4,

240.0.0.0/5, 255.255.255.255 }"

/* опциональные установки */

set loginterface $iface

set optimization aggressive

set timeout tcp.established 3600

/* производим нормализацию и дефрагментацию пакетов IPv4 */

scrub in all fragment reassemble

/* не дожидаясь проверки всех правил, немедленно блокируем пакеты с недопустимыми IP-адресами с добавлением записи о фальсификации в отчет */

antispoof log quick for $loopback

block in log quick on $iface from $fake to any

block out log quick on $iface from any to $fake

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