Get Adobe Flash player

postheadericon Настройка Proxy сервера

Если понадобится поднять Proxy-сервер на PCLinuxOS, делаем так:

1. Через пакетный менеджер Synaptic установите пакет squid.

2. Отконфигурируйте через Midnight Commander файл /etc/squid/squid.conf, изменив, следующие параметры (остальные настройки оставьте по умолчанию):

# укажем порт прокси-сервера

http_port 3128

# параметры, отменяющие кеширование динамических страниц (необязательная настройка)

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

# адрес администратора прокси-сервера, адрес будет отображаться в сообщениях об ошибках

cache_mgr admin@mypclinuxos.local

# объем памяти (по умолчанию стоит 8)

cache_mem 16 Mb

# расположение и объем кэша (256 - количество мегабайт для кэша)

cache_dir ufs /var/spool/squid/ 256 16 256

# DNS-сервер (если настроен)

dns_nameservers 192.168.0.1

# укажем, кто может пользоваться нашим proxy-сервером
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.0.0/24

# откроем доступ к proxy-серверу только своей сети, остальным вход запретим (параметр http_access allow all открывает доступ всем и не является безопасным)
http_access allow localnet
http_access allow localhost

http_access deny all

# запретим доступ к неизвестным портам, если это не SSL

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# файл, в котором будут сохраняться протоколы доступа для sarg

access_log /var/log/squid/access.log

# блокировка пользователей, которые привысили лимит (эти строки должны быть закомментированы при тестовом запуске Squid)

acl banusers proxy_auth "/var/spool/squid/blocklist"

http_access deny banusers

# подключение SquidGuard (эта строка должна быть закомментирована при тестовом запуске Squid)

redirect_program /usr/bin/squidGuard

# если конфигурационный файл находится в другом месте, указываем его так

redirect_program /usr/bin/squidGuard -c /usr/local/etc/squid/squidGuard.conf

# вместо redirect_program можно прописать url_rewrite_program

# ограничение скорости соединения в байтах (если будет необходимо)

delay_pools 1

delay_class 1 3

delay_access 1 allow all

# общая скорость (v - максимальная скорость)

delay_parameters 1 64000/64000 -1/-1 100/8000

3. Запустите Proxy-сервер:

  • service squid start - запуск proxy-сервера.
  • service squid stop - остановка proxy-сервера.
  • service squid restart - перезапуск proxy-сервера.

Или:

  • /etc/init.d/squid start
  • /etc/init.d/squid stop
  • /etc/init.d/squid restart

4. Для использования прокси-сервера клиенты должны будут указать следующие реквизиты:

  • Адрес: 192.168.0.1 (или server.mypclinuxos.local)
  • Порт: 3128

 

Примечание

При помощи Squid можно контролировать пользователей, фильтровать web-контент.

Во-первых, можно просто перекрыть доступ к Интернету в определенное время дня. Ограничение по времени устанавливается в ACL типа «time», только укажите день недели и временной промежуток. Дни недели обозначаются буквами: M — понедельник, T — вторник, W — среда, H — четверг, F — пятница, A — суббота, S — воскресенье; комбинация MTWHF (рабочие дни). Так, для того, чтобы создать ACL для периода с Воскресенья по Четверг с 19:00 до 20:00, вставьте в Squid.conf такую строку:

acl homework_time time SMTWH 19:00-20:00

Далее можно разграничить адреса, например, для детей (kids) и взрослых (adult):

acl kids_computers src 192.168.0.3 192.168.0.4 192.168.0.5
acl adult_computers src 192.168.0.0/24

Адреса взрослых расположены в диапазоне 192.168.0.1-255, но три адреса, хотя и входят в этот диапазон, в списке адресов взрослых не числятся, потому что раньше были указаны в другом списке — kids_computers. Создадим правила доступа для них:

http_access deny kids_computers block_time
http_access allow kids_computers
http_access allow adult_computers

Squid работает с правилами в том порядке, в каком вы их записали. То есть в данном случае, он при попытке соединения смотрит на первое правило — если компьютер принадлежит списку kids_computers и текущее время входит во временной промежуток block_time, то он сразу запрещает соединение. При несоблюдении хотя бы одного из указанных условий он переходит к разборке следующего правила, и так далее. Если список начинается с «accept all», то ни до каких дальнейших ограничений дело не дойдет.

Также с помощью Squid можно заблокировать скачивание файлов с сайтов сомнительного содержания.

Анализу подлежат три объекта: сомнительные сайты, о которых вы знаете, сомнительные сайты, о которых вы не знаете, и файлы, которые могут нанести вред компьютеру.

Для первого случая (запрет конкретного ресурса) предусмотрена директива dstdomain. Вот пример ее использования:

acl banned_sites dstdomain bbc.co.uk
http_access deny kids_computers block_time
http_access deny kids_computers banned_sites
http_access allow kids_computers

Мы запретили детям посещать любые сайты во время block и bbc.co.uk в любое время. Причем в список запрещенных сайтов не попадают, например, news.bbc.co.uk и www.bbc.co.uk. Для того, чтобы запретить все ресурсы домена bbc.co.uk, нужно добавить перед ним точку: .bbc.co.uk.

Неизвестные вам сайты сомнительного содержания, вычисляются по употреблению нехороших слов, например «sex», «porno». Здесь можно  воспользоваться регулярными выражениями:

acl noporno url_regex -i porno

Параметр -i означает, что регулярное выражение не различает строчных и заглавных букв (то есть включает Porno, PORNO, PoRNo и т. д.). Теперь блокируем все сомнительные сайты:

acl nosex url_regex -i sex
acl noporno url_regex -i porno

Наконец, можно запретить пользователям скачивать подозрительные файлы. В регулярных выражениях можно использовать знаки «^» и «$», означающие начало и конец строки соответственно. Так, для того, чтобы заблокировать скачивание исполняемых файлов для Windows (с расширением exe), следует добавить такую строку:

acl noexe $ url_regex -i exe$

Знак доллара означает конец строки URL, так что сайт www.hexen.com не вызовет никаких подозрений у Squid, а вот http://evilsite.com/virus.exe будет заблокирован.

Скачать PCLinuxOS

Новости
Поиск
Язык сайта