Product SiteDocumentation Site

11.6. HTTP/FTP Proxy

Прокси-сервер HTTP/FTP действует как посредник для соединений HTTP и/или FTP. Его роль двоякая:
Falcot Corp выбрала Squid в качестве прокси-сервера.

11.6.1. Установка

Debian пакет squid содержит только модульный (кэширующий) прокси. Чтобы превратить его в сервер фильтрации, необходимо установить дополнительный пакет squidguard. В дополнение squid-cgi предоставляет интерфейс запросов и администрирования для прокси-сервера Squid.
Перед установкой необходимо убедиться, что система может идентифицировать своё полное имя: hostname -f должен возвращать полное имя (включая домен). Если это не так, то файл /etc/hosts следует отредактировать, чтобы он содержал полное имя системы (например, arrakis.falcot.com). Официальное имя компьютера должно быть проверено у сетевого администратора во избежание потенциальных конфликтов имён.

11.6.2. Настройка кэша

Включение функции кэширующего сервера — это простой вопрос редактирования файла конфигурации /etc/squid/squid.conf и разрешения машинам из локальной сети выполнять запросы через прокси. В следующем примере показаны изменения, внесённые администраторами Falcot Corp:

Пример 11.22. Выдержки из файла /etc/squid/squid.conf

# ВСТАВЬТЕ СОБСТВЕННЫЕ ПРАВИЛА ЗДЕСЬ, ЧТОБЫ РАЗРЕШИТЬ ДОСТУП ВАШИМ КЛИЕНТАМ
#
include /etc/squid/conf.d/*

# Пример правила, разрешающего доступ из локальных сетей.
# Адаптируйте localnet в разделе ACL для отображения ваших (внутренних) IP-сетей.
# откуда должен быть разрешен просмотр

acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
http_access allow localhost
# И, наконец, запретите всем остальным доступ к этому прокси.
http_access deny all

11.6.3. Настройка фильтра

squid сам не выполняет фильтрацию; это действие делегировано squidGuard. Затем первый необходимо настроить для взаимодействия со вторым. Это включает добавление следующей директивы в файл /etc/squid/squid.conf:
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
CGI программа /usr/lib/cgi-bin/squidGuard.cgi также необходимо установить, используя /usr/share/doc/squidguard/examples/squidGuard.cgi в качестве отправной точки. Необходимые изменения в этом сценарии - переменные (имя прокси и контактный адрес электронной почты администратора соответственно): $proxy и $proxymaster. Переменные $image и $redirect должен указывать на существующие изображения, представляющие отклонение запроса.
Фильтр включается с помощью команды systemctl reload squid Однако, поскольку пакет squidguard по умолчанию не выполняет фильтрацию, определение политики является задачей администратора. Это можно сделать, создав файл /etc/squid/squidGuard.conf (используя /etc/squidguard/squidGuard.conf.default как шаблон при необходимости).
Рабочая база данных должна быть восстановлена с помощью update-squidguard после каждого изменения squidGuard файла конфигурации (или одного из списков доменов или URL-адресов, которые в нём упоминаются). Синтаксис файла конфигурации описан на следующем веб-сайте: