В БОЙ ИДУТ ОДНИ СТАРИКИ
Vint(vint@townnet.ru)
Спецвыпуск Xakep, номер #033, стр. 033-042-4
make install; - прога устанавливает себя, как хочет (все из-под рута).
Бинарик ставят так:
rpm -i имя_файла.rpm
А вот более сложный процесс конфигурирования сквида я опишу. Естественно, все настройки будем проводить редактируя конфигурационные файлы всенародным vi. Место нахождения этих файлов сильно отличается, в зависимости от дистрибутива (могут быть в /etc, в /usr/local/etc/squid, в /usr/local/squid/etc). Так что их придется поискать. Заюзаем команду поиска главного файла squid.conf:
find / -name "squid. conf" -print
Поиск веди от рута. А дальше грузи его в vi да не пугайся, что там 3000 строк, - настроек гораздо меньше. Вот самые необходимые:
# IP-адрес и порт, на котором будет доступен прокси-сервер для клиентов:
http_port 192.168.0.2:3128
# Уберем "общение" с соседними прокси-серверами:
icp_port 0 htcp_port 0
# Отключим кэширование динамически загружаемых страниц:
acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY
# Укажем местонахождение и размер кэша (200Мб):
cache_dir ufs /var/squid 200 32 384
# Местонахождение логов запросов к прокси-серверу:
cache_access_log /usr/local/squid/logs/access.log
# Местонахождение логов кэша:
cache_log /usr/local/squid/logs/cache.log
# Отключим лог менеджера кэша (большинство уверяет, что он не нужен):
cache_store_log none
# Пароль для анонимного ftp-соединения:
ftp_user ano@shadrinsk.net
# Откроем доступ к прокси-серверу с клиентов из нашей подсети:
acl all src 192.168.0.0/16 http_access allow all
Но это еще не все :), проблема в том, что демон сквида по умолчанию запускается с правами nobody из группы nogroup (это один из самых бесправных юзеров в Линухе). Нам следует это учесть и разрешить доступ к файлам прокси такому юзеру. Делаем это так:
chmod nobody:nogroup /usr/local/squid/logs
mkdir /var/squid
chmod nobody:nogroup /var/squid
Дальше последует первый (об этом говорит параметр z) запуск:
/usr/local/squid/bin/squid -z
Если все прошло успешно, можешь скакать от радости - твоя четверка превратилась в могучий прокси-сервант, основанный на устойчивой ОС Линукс.
ЗАЩИЩАЕМ ФАЗЕНДУ
Прокси - вещь хорошая, это тебе и анонимность, и распределение трафа, и экономия. Но это не все, на что способна наша четверочка: сейчас мы настроим на базе сей машинки межсетевой экран aka фаерволл. Пингвиний фаерволл использует принцип фильтрации пакетов, то есть он просматривает заголовки пакетов по мере их прихода и решает дальнейшую судьбу всего пакета. Защитник может прибить пакет, принять пакет или сделать с ним что-то еще более сложное, типа маскарадинга или хитрого редиректа ;). То, что Линух - правильная ОС, доказывается уже тем, что защита сетей заложена в ее ядре. Чтобы заюзать эту мазу, тебе нужно скомпилировать ядро, указав одобрение в пунктах IP forwarding/gatewaying (CONFIG_IP_FORWARD) и IP firewalling (CONFIG_IP_FIREWALL). Если включить эти пункты и задать определенные правила, Линь будет шерстить вообще все пакеты, проходящие с одного интерфейса на другой (если тебе так проще, то с одной машины на другую). Этого вполне достаточно, чтобы защитить всю локалку с помощью одного компа - гейта в Инет, что нам идеально подходит.