Инструменты пользователя

Инструменты сайта


сервис_http_proxy

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
сервис_http_proxy [2009/06/22 13:12]
val
сервис_http_proxy [2014/02/20 17:33] (текущий)
val
Строка 1: Строка 1:
 ====== Сервис HTTP Proxy ====== ====== Сервис HTTP Proxy ======
  
-===== Установка,​ настройка минимальной конфигурации,​ инициализация кэша и запуск пакета ​squid ===== +  * [[Установка,​ настройка и запуск пакета ​SQUID]] 
- +  ​* ​[[Обработка лог файлов сервера SQUID]] 
-==== FreeBSD ==== +  * [[Антивирусная защита web трафика ​SQUID]] 
-<​code>​ +  * [[Аутентификация доступа к SQUID]] 
-[gX:~# pkg_add -r squid +  ​* ​[[Авторизация доступа к ресурсам ​через SQUID]] 
-[gX:~# rehash +  ​* ​[[Автоматизация ​использования SQUID]]
- +
-[gX:~] # cd /​usr/​local/​etc/​squid/​ +
-</​code>​ +
- +
-==== Ubuntu ==== +
-<​code>​ +
-root@gX:~# apt-get install squid +
- +
-root@gX:~# /​etc/​init.d/​squid stop +
- +
-root@gX:~# cd /​etc/​squid/​ +
-</​code>​ +
- +
-==== FreeBSD/​Ubuntu ==== +
-<​code>​ +
-gX# cat squid.conf +
-... +
-#​http_access allow localnet +
-acl our_networks src 192.168.X.0/​24 +
-http_access allow our_networks +
-... +
-cache_dir ufs /​usr/​local/​squid/​cache 200 16 256 +
-... +
- +
-gX# squid -k parse +
- +
-gX# squid -z +
-</​code>​ +
- +
-==== FreeBSD ==== +
-<​code>​ +
-[gX:~# cat /​etc/​rc.conf +
-... +
-squid_enable=yes +
-... +
- +
-[gX:~# /​usr/​local/​etc/​rc.d/​squid start +
- +
-[gX:~] # tail -f /​usr/​local/​squid/​logs/​access.log +
-</​code>​ +
- +
-==== Ubuntu ==== +
-<​code>​ +
-root@gX:~# /​etc/​init.d/​squid start +
- +
-root@gX:~# tail -f /​var/​log/​squid/​access.log +
-</​code>​ +
- +
-===== Антивирусная защита web трафика ​===== +
- +
-==== Запуск демона антивируса ==== +
- +
-=== FreeBSD === +
-<​code>​ +
-[gX:~] # cat /​etc/​rc.conf +
-... +
-clamav_clamd_enable="​YES"​ +
- +
-[gX:~] # /​usr/​local/​etc/​rc.d/​clamav-clamd start +
- +
-[gX:~] # ls -l /​var/​run/​clamav/​clamd.sock +
-</​code>​ +
- +
-=== Ubuntu === +
-<​code>​ +
-root@gX:~# /​etc/​init.d/​clamav-daemon start +
- +
-root@gX:~# ls -l /​var/​run/​clamav/​clamd.ctl +
-</​code>​ +
- +
-=== FreeBSD/​Ubuntu === +
-<​code>​ +
-gX# clamdscan virus.zip +
-</​code>​ +
- +
-==== Установка и настройка ​пакета для связи squid и clamav (squidclamav) ==== +
- +
-=== FreeBSD === +
-<​code>​ +
-[gX:~# pkg_add -r squidclamav +
-</​code>​ +
-или +
-<​code>​ +
-[gate:~# cd /​usr/​ports/​security/​squidclamav +
-[gate:​ports/​security/​squidclamav] # make install clean +
-</​code>​ +
- +
-<​code>​ +
-[gX:~] # cat /​usr/​local/​etc/​squidclamav.conf +
-proxy http://​127.0.0.1:​3128/​ +
-logfile /​var/​log/​squidclamav.log +
-redirect http://​gX.dX.class/​cgi-bin/​test-cgi +
-clamd_local /​var/​run/​clamav/​clamd.sock +
- +
-[gX:~] # touch /​var/​log/​squidclamav.log +
- +
-[gX:~] # chown squid /​var/​log/​squidclamav.log +
-</​code>​ +
- +
-=== Ubuntu === +
-<​code>​ +
-root@gX:~# apt-get install libcurl4-openssl-dev +
- +
-root@gX:~# wget http://​www.darold.net/​projects/​squidclamav/​squidclamav-4.0.tar.gz +
- +
-root@gX:~# tar -xvf squidclamav-4.0.tar.gz +
- +
-root@gX:~# cd squidclamav-4.0 +
- +
-root@gX:​~/​squidclamav-4.0#​ ./configure --prefix=/​usr/​local/​ +
- +
-root@gX:​~/​squidclamav-4.0#​ make && make install +
- +
-root@gX:​~/​squidclamav-4.0#​ mkdir /​usr/​local/​etc +
- +
-root@gX:​~/​squidclamav-4.0#​ cp squidclamav.conf.dist /​usr/​local/​etc/​squidclamav.conf +
- +
-root@gX:~# cat /​usr/​local/​etc/​squidclamav.conf +
-squid_ip 127.0.0.1 +
-squid_port 3128 +
-logfile /​var/​log/​squidclamav.log +
-redirect http://​gX.dX.class/​cgi-bin/​test-cgi +
-clamd_local /​var/​run/​clamav/​clamd.ctl +
-content ^.*\/.*$ +
- +
-root@gX:~# touch /​var/​log/​squidclamav.log +
- +
-root@gX:~# chown proxy:proxy /​var/​log/​squidclamav.log +
-</​code>​ +
- +
-==== Настройка squid на использование squidclamav ==== +
-<​code>​ +
-gX# cat squid.conf +
-... +
-redirector_access deny localhost +
-acl localnet src 192.168.X.0/​24 127.0.0.1 +
-... +
-url_rewrite_program /​usr/​local/​bin/​squidclamav /​usr/​local/​etc/​squidclamav.conf +
-... +
-</​code>​ +
- +
-==== Отладка ==== +
-<​code>​ +
-gX# /​usr/​local/​bin/​squidclamav /​usr/​local/​etc/​squidclamav.conf +
-SquidClamav running as UID 0: writing logs to stderr +
-Thu Dec  4 16:06:14 2008 LOG Reading configuration from /​usr/​local/​etc/​squidclamav.conf +
-Thu Dec  4 16:06:14 2008 LOG SquidClamav (PID 14302) started +
-</​code><​code>​http://​g50.class/​virus.zip 10.5.1.50 squid GET</​code><​code>​ +
-Thu Dec  4 16:07:03 2008 LOG Redirecting URL to: http://​ya.ru?​url=http://​g50.class/​virus.zip&​source=10.5.1.50&​user=squid&​virus=stream:​+Worm.Sober.U-3+FOUND +
-http://​gX.class/​cgi-bin/​printenv?​url=http://​g50.class/​virus.zip&​source=10.5.1.50&​user=mylog&​virus=stream:​+Worm.Sober.U-3+FOUND 10.5.1.50 squid GET +
-</​code>​ +
- +
-===== Ограничение ​доступа к ресурсам ​===== +
- +
-==== FreeBSD ==== +
-<​code>​ +
-[gX:~] # cd /​usr/​local/​etc/​squid/​ +
-</​code>​ +
- +
-==== Ubuntu ==== +
-<​code>​ +
-root@gX:~# cd /​etc/​squid/​ +
-</​code>​ +
- +
-==== FreeBSD/​Ubuntu ==== +
-<​code>​ +
-gX# cat deny_hosts.txt +
-.*odnok.* +
-.*com\/.* +
- +
-gX# cat squid.conf +
-... +
-acl our_networks src 192.168.100+X.0/​24  +
-acl full_access src 192.168.100+X.2 127.0.0.1 +
- +
-#For FreeBSD +
-acl deny_hosts url_regex "/​usr/​local/​etc/​squid/​deny_hosts.txt"​ +
-#For Ubuntu +
-acl deny_hosts url_regex "/​etc/​squid/​deny_hosts.txt"​ +
- +
-http_access allow full_access +
-http_access allow our_networks !deny_hosts +
-... +
- +
-[gX:​local/​etc/​squid] # squid -k check +
-[gX:​local/​etc/​squid] # squid -k reconfigure +
-</​code>​ +
- +
-===== Обработка лог файлов сервера SQUID ===== +
- +
-==== Установка,​ настройка и использование пакета SARG ==== +
- +
-=== FreeBSD === +
-<​code>​ +
-[gX:~# pkg_add -r sarg +
-  +
-[gX:~# cd /​usr/​local/​etc/​sarg/​ +
- +
-[gX:​local/​etc/​sarg] # cp sarg.conf.default sarg.conf +
- +
-[gX:​local/​etc/​sarg] # cat sarg.conf +
-... +
-access_log /​usr/​local/​squid/​logs/​access.log.0 +
-... +
-output_dir /​usr/​local/​www/​data/​squid-reports +
-... +
- +
-[gX:~] # squid -k rotate +
- +
-[gX:~] # sarg +
-SARG: Records in file: 23, reading: 0.00% +
-SARG: Successful report generated on /​usr/​local/​www/​data/​squid-reports/​2006Jun28-2006Jun28 +
-</​code>​ +
- +
-=== Ubuntu === +
-<​code>​ +
-root@g13:~# apt-get install sarg +
- +
-root@g13:~# /​etc/​cron.daily/​sarg +
-Результаты на следующий день +
-</​code>​ +
- +
-Проверка:​ +
-Наберите в MSIE http://​gX.dX.class/​squid-reports/​ +
- +
-==== Автоматизация ​процесса построения отчета (FreeBSD) ==== +
- +
-на постоянно работающем сервере: +
-<​code>​ +
-[gX:~] # cat /​usr/​local/​etc/​periodic/​daily/​100.sarg.sh +
-#!/bin/sh +
-echo Generate Squid Access Report +
-/​usr/​bin/​find /​usr/​local/​www/​data/​squid-reports/​ -maxdepth 1 -mtime +60 -type d -name '​*-*'​ -exec rm -r {} \; +
-/​usr/​local/​sbin/​squid -k rotate +
-/​usr/​local/​bin/​sarg +
- +
-[gX:~] # chmod +x /​usr/​local/​etc/​periodic/​daily/​100.sarg.sh  +
-</​code>​ +
- +
-на сервере работающем в течении рабочего дня+
-<​code>​ +
-[gX:~] # cat /​usr/​local/​etc/​rc.d/​sarg.sh +
-#!/bin/sh +
-echo Generate Squid Access Report +
-/​usr/​bin/​find /​usr/​local/​www/​data/​squid-reports/​ -maxdepth 1 -mtime +60 -type d -name '​*-*'​ -delete +
-/​usr/​local/​sbin/​squid -k rotate +
-/​usr/​local/​bin/​sarg +
- +
-[gX:~] # chmod +x /​usr/​local/​etc/​rc.d/​sarg.sh  +
-</​code>​ +
- +
-===== Настройка "​прозрачного"​ (transparent) http proxy ===== +
-  +
-==== Настойка ​SQUID ==== +
-<​code>​ +
-[gX:​local/​etc/​squid# diff squid.conf.default squid.conf +
-... +
-938c938 +
-< http_port 3128 +
---- +
-> http_port 3128 transparent +
-... +
- +
-[gX:​local/​etc/​squid# squid -k check +
- +
-[gX:​local/​etc/​squid] # squid -k reconfigure +
-</​code>​ +
- +
-==== Настойка FreeBSD (pf) ==== +
-<​code>​ +
-[gX:~] # cat /​etc/​pf.conf +
-... +
-rdr proto tcp from 192.168.X/​24 to any port 80 -> 127.0.0.1 port 3128 +
-... +
- +
-[gX:~] # /​etc/​rc.d/​pf reload +
-</​code>​ +
- +
-==== Настойка Ubuntu (iptables) ==== +
-<​code>​ +
-root@gX:~# iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.X.0/​24 --dport 80 -j REDIRECT --to-port 3128 +
-</​code>​ +
- +
-==== Мониторинг ==== +
-<​code>​ +
-gX# tail -f access.log +
-</​code>​ +
сервис_http_proxy.1245661950.txt.gz · Последние изменения: 2013/05/22 13:50 (внешнее изменение)