Squid на CentOS 6.5.

Добавляем репозитории
yum -y install squid sarg httpd

Настраиваем squid на аторизацию по логину/паролю
vim /etc/squid/squid.conf:

visible_hostname example.com
#make web browzing faster
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
#hide IP address
forwarded_for off
#auth user by password
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/internet_users
auth_param basic children 100
#users
acl myuser proxy_auth REQUIRED
acl myuser2 proxy_auth REQUIRED
#acls
acl bad_url url_regex "/etc/squid/acl/badurl"
acl upload url_regex "/etc/squid/acl/uploadurl"
acl filetypes urlpath_regex -i "/etc/squid/acl/filetypes"
acl banners url_regex "/etc/squid/acl/ads"
acl blockkeywords url_regex -i "/etc/squid/acl/keywords"
acl blockip src "/etc/squid/acl/badip"
http_access deny bad_url
http_access deny upload
http_access deny filetypes
http_access deny banners
http_access deny blockkeywords
http_access deny blockip
http_port 8080
error_directory /usr/share/squid3/errors/Russian-1251

Добавляем пользователей squid:
htpasswd -c /etc/squid/internet_users myuser
htpasswd /etc/squid/internet_users myuser2

Настраиваем списки доступа
mkdir /etc/squid/acl
vim /etc/squid/acl/badurl:

facebook.com
twitter.com
vk.com
odnoklassniki.ru
myspace.com
my.mail.ru

vim /etc/squid/acl/uploadurl:

brb.to
ex.ua
depositfiles.com
mediafire.com

vim /etc/squid/acl/filetypes:

.exe
.js
.torrent
.msi

vim /etc/squid/acl/ads:

^http://r\.mail\.ru/(cl)?b[[:digit:]]+
^http://images\.rambler\.ru/upl/
^http://(www\.)?sunradio\.ru/upload/bx/
^http://(www\.)?nnm\.ru/ban/
^http://(www\.)?java2phone\.ru/pict/b
^http://([[:alpha:]]+[[:digit:]]*\.)+bigmir\.net
^http://[[:alpha:]]+[[:digit:]]*\.[[:digit:]]+mdn\.net/viewad/
^http://(www\.)?nasvyazi\.ru/img/banner_
^http://(www\.)?games\.ru/b/
^http://(www\.)?computerra\.ru/upload/bx/
^http://(www\.)?finbs\.ru/Upload/
^http://(www\.)?torrents\.ru/forum/bn/
^http://(www\.)?powerclip\.ru/baner/
^http://(www\.)?nnm\.ru/rec/[[:digit:]]+/banner
^http://[[:alpha:]-]+\.nnm\.ru/rec/[[:digit:]]+/
^http://i\.ru-board\.com/temp/
^http://adserv\.top500\.org/b/
^http://([[:alpha:]-]+\.)+traf\.spb\.ru/(upload|b)/
^http://([[:alpha:]-]+\.)*inf\.by/i/b/
^http://(www\.)?gzt\.ru/files/
^http://([[:alnum:]]+\.)*ru-board\.com/board/temp/
^http://(www\.)?rb\.ru/img/content/ushki/

vim /etc/squid/acl/keywords:

fuck
sex
porno
nud
naked
condon
bitch

vim /etc/squid/acl/badip:

122.99.99.97
195.82.146.115
94.100.180.199

service squid start
chkconfig squid on

Включаем пересылку пакетов в ядре:
vim /etc/sysctl.conf:

net.ipv4.ip_forward=1

sysctl -p

Настраиваем анализатор логов squid
vim /etc/sarg/sarg.conf:

graphs yes
graph_days_bytes_bar_color blue
graph_font /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
title "Squid User Access Reports"
topsites_sort_order BYTES D
max_elapsed 28800000
long_url no
charset UTF-8
exclude_string "127.0.0.1:example.com"

Настраиваем алиас в apache для sarg с авторизацией по логину/паролю:
vim /etc/httpd/conf.d/sarg.conf:

Alias /sarg /var/www/sarg
<Directory /var/www/sarg>
    DirectoryIndex index.html
    Order deny,allow
    Deny from all
    Allow from All
    Options Indexes
    AuthType Digest
    AuthName "sarg"
    AuthUserFile "/var/www/sarg/htpasswd"
    require valid-user
</Directory>

htpasswd -c /var/www/sarg/.htpasswd sarg myuser
При последующем добавлении пользователей ключ -c не нужен

Отчёты squid будут доступны по адресу http://example.com/sarg

service httpd start
chkconfig httpd on

Открываем порт для squid
iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -i eth0 -p tcp -m state --state NEW --dport 8080 -j ACCEPT
service iptables save

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *