Лабораторные работы по ПО/Настройка Proxy-сервера Squid
Прокси-сервер (от англ. proxy — «представитель, уполномоченный») — служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим серверам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, web-страницу), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс, либо возвращает ресурс из собственного кэша.
Основные задачи, решаемые с помощью proxy-сервера:
- Кэширование данных, проходящих через основной сервер сети (это единственный способ кэширования информации)
- Блокировка доступа к нежелательным web-сайтам или нежелаемому контенту (это единственный способ блокировки информации по типу данных или по содержимому)
- Поточная проверка данных, передаваемых в сеть, на вирусы (единственный способ)
- Изменение содержания передаваемой клиенту информации (например, блокировка рекламы, подмена на свой логотип)
Существует большое количество реализаций системы проксирования (3proxy, usergate, kerio и др.). Мы будем рассматривать самый распространенный в Internet прокси-сервер Squid.
Установка Squid
Как и другие программы в пакетных дистрибутивах Linux, squid устанавливается с помощью пакетного менеджера из репозитория.
Вам нужно проверить подключен ли репозиторий и дать команду обновить список доступных пакетов:
sudo aptitude update
Далее, даем команду для установки прокси-сервера squid
sudo aptitude install squid
Базовая настройка Squid
Для правильной работы прокси-сервера Squid вам понадобится сделать базовые настройки в файле /etc/squid/squid.conf
sudo nano /etc/squid/squid.conf
Вам нужно найти и проверить следующие параметры:
Настройка прокси-сервера ACL (список контроля доступа) описывается в конце секции TAG: ACL
Параметры досупа - src Откройте конфигурационный файл сервера
sudo nano /ect/squid/squid.conf
Добавьте новую acl запись
acl name src ip
где: name - имя пользователя или группы пользователей для которых будет устанавливаться правила доступа. ip - ip-адреса компьютеров для которых будет устанавливаться правила доступа.
После описания пользователей необходима разрешить или запретить доступ к прокси-серверу.
Добавьте разрешение доступа к интернет ресурсам по протоколу HTTP.
http_access allow name http_access deny all
Сохраним файл и перезапустим сервис squid
sudo /etc/init.d/squid restart
Проверьте работоспособность сервера.
Параметры доступа - dst Запретите пользователь доступ к ресурсам,расположенном в сети 168.250.0.0/16.
Добавьте новую acl запись
acl NET168 dst 168.250.0.0/16
Добавьте запрет доступа к ресурсам в под сети по 168.250.0.0/16 протоколу HTTP.
http_access deny name NET168 http_access deny all
Сохраним файл и перезапустим сервис squid
sudo /etc/init.d/squid restart
Параметры доступа - dstdomain Разрешите пользователям посещать сайты находящиеся в нижегородском кольце.
acl SitesWarez dstdomain .nnov.ru http_access deny name SitesWarez
Параметры доступа - srcdomains Запретите доступ к доменам com, net, org.
Добавьте новую acl запись
Acl SitesRegexComNetOrg dstdom_regex \.com$ \.net$ \.org$
Добавьте запрет доступа к ресурсам находящимся в доменах com, net, ogr по протоколу HTTP.
http_access deny name SitesRegexComNetOrg
Сохраним файл и перезапустим сервис squid
Ограничение доступа по контенту Запретите доступ к файлам с расширением avi, начинающихся на слово sex:
acl NoAviFromSex url_regex -i sex.*\.avi$ http_access deny name NoAViFomSex
Запретите доступ к музыкальным файлам:
acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$ http_access deny name media
Блокировка рекламных банеров
Ограничение доступа по портам Запретите всем использование программы Mirc через прокси сервер:
Acl Mirc port 6667-6669 7770-7776 http_access deny all Mirc
Запретите пользователям использование протокола FTP через прокси сервер:
acl ftpproto proto ftp http_access deny name ftpproto
Ограничения методов GET и POST
Запретите пользователю просмотр его страничке на сайте vkontakte.ru, но при этом разрешить прогуливаться по сайту без запретов
acl SiteVkontakteRu dstdomain .vkontakte.ru acl methodpost method POST http_access deny name methodpost SiteVkontakteRu
Ограничение скорости
Ограничения по времени
Запретите пользователю доступ в сеть Интернет с 10 до 15 часов каждый день:
acl Time time 10:00-15:00 http_access deny name Time
Разрешить пользователю пользоваться программой ICQ с 13 до 14 часов:
acl TimeICQ time 13:00-14:00 http_access allow name TimeICQ ICQ http_access deny name ICQ