Настройка squid на ubuntu 14.04.5 с прозрачным прокси для работы с HTTP и HTTPS.
1. Первым делом подготовим систему
apt-get update
apt-get upgrade
apt-get install gcc g++ libssl-dev libgnutls28-dev
apt-get build-dep libecap2
apt-get build-dep squid3
2. Установим g++-4.9 gcc-4.9 cpp-4.9
apt-get install build-essential
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt-get install gcc-4.9 g++-4.9 cpp-4.9
cd /usr/bin
rm gcc g++ cpp
ln -s gcc-4.9 gcc
ln -s g++-4.9 g++
ln -s cpp-4.9 cpp
3. Соберем и установим пакет libecap
wget http://www.measurement-factory.com/tmp/ecap/libeca...
tar –xzvf libecap-1.0.1.tar.gz
cd libecap-1.0.1
./configure
make all
make install
4. Скачаем последнюю версию с squid, в нашем случае это (3.5.21)
wget http://www.squid-cache.org/Versions/v3/3.5/squid-3...
распаковываем и переходим в каталог для сборки
tar –xzvf squid-3.5.21.tar.gz
cd squid-3.5.21/
Сконфигурируем установку squid
Параметры конфигурации(развернуть)
5. Теперь компилируем
make (займет некоторое время)
6. Запускаем установку
make install
Если в окончание процесса установки не вылетело ни каких ошибок, то основная часть закончена.
7. Поправим конфигурационный файл squid
nano /etc/squid/squid.conf
acl localnet src 10.12.10.0/24 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
dns_nameservers 127.0.0.1
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
#прозрачный порт указывается опцией intercept
http_port 10.12.10.1:3128 intercept options=NO_SSLv3:NO_SSLv2
#также нужно указать непрозрачный порт, если захотите вручную указать адрес
#прокси сервера в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно
#указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах
#появляются ошибки о том, что непрозрачный порт не указан
http_port 10.12.10.1:3130 options=NO_SSLv3:NO_SSLv2
# указываем HTTPS порт с нужными опциями
https_port 10.12.10.1:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squid.pem
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
#укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com)
#acl blocked ssl::server_name "/etc/squid/blocked_url"
acl step1 at_step SslBump1
ssl_bump peek step1
#терминируем соединение, если клиент заходит на запрещенный ресурс
#ssl_bump terminate blocked
ssl_bump splice all
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
cache_dir aufs /var/spool/squid 20000 49 256
maximum_object_size 61440 KB
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
logfile_rotate 4
8. Создадим pem файл, переходим в каталог squid
cd /etc/squid/
openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squid.pem -out squid.pem
Заполняем информацию для сертификата
9. Выставляем права на /var/spool/squid/ и /var/log/squid/
chown proxy:proxy –R /var/spool/squid
chown proxy:proxy -R /var/log/squid/
10. Создадим свап директории командой
/usr/bin/squid –z
11. Добавляем файл /etc/init/squid.conf с содержимым
На этом настройка squid 3.5.21 на платформе Ubuntu 14.04.5 закончена.
Часть материала была взята с habrahabr.
0 комментариев