Выражаю благодарность двум формучанам
blind_oracle и leg0las,читая топики которых, я немного разобрался в теме.
Тем не менее, безуспешно бьюсь над этим вопросом, в котором прощу помощи:
HTTP работает нормально, а при попытке, например, зайти на Гугл, пишет «Ошибка сертификата» ---> «Доступ запрещён»..
ОС: Debian 7.8
В Debian стоит старая версия squid, у которой есть трудности с https.
Ставить новую версию из исходников не хотелось, поэтому, временно подключив тестовый репозиторий, качнул оттуда библиотеки и исходники squid3.4.8 для создания .deb-пакета.
Если кому интересно - подробности:
apt-get install libecap2-dev libnetfilter-conntrack-dev nettle-dev
...
cd /usr/src
apt-get source squid3
Отрубил тестовый репозиторий.
Делаю squid. Ставлю пакеты для сборки (из обычного репозитория):
apti-get install dpkg-dev squid-langpack devscripts build-essential fakeroot
apt-get build-dep squid3
apt-get build-dep openssh
apt-get build-dep openssl
nano debian/rules
--enable-ssl \
--enable-ssl-crtd \
--with-openssl \
nano src/ssl/certificate_db.cc
#include <unistd.h>
./configure
...
debuild -us -uc -b
...
cd ..
dpkg -i squid3_3.4.8-6_i386.deb squid3-common_3.4.8-6_all.deb squid3-dbg_3.4.8-6_i386.deb squid-cgi_3.4.8-6_i386.deb squidclient_3.4.8-6_i386.deb squid-purge_3.4.8-6_i386.deb
squid3 -v
Squid Cache: Version 3.4.8
Debian linux
configure options: '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--enable-ssl' '--enable-ssl-crtd' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-openssl' '--with-default-user=proxy' '--enable-build-info=Debian linux' '--enable-linux-netfilter' 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'
mkdir /etc/squid3/ssl && cd /etc/squid3/ssl
openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squid.pem -out squid.pem
openssl x509 -in squid.pem -outform DER -out squid.der
rm -rf /var/lib/ssl_db && /usr/lib/squid3/ssl_crtd -c -s /var/lib/ssl_db && chown -R proxy:proxy /var/lib/ssl_db
http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl/squid.pem key=/etc/squid3/ssl/squid.pem
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all
ssl_bump client-first all
ssl_bump server-first all
ssl_bump none all
sslcrtd_program /usr/lib/squid3/ssl_crtd -s /var/lib/ssl_db -M 4MB
$IPT -t nat -A PREROUTING -i $LAN -p TCP --source $LAN_NET --dport 80 -j DNAT --to-destination $LAN_IP:3129
$IPT -t nat -A PREROUTING -i $LAN -p TCP --source $LAN_NET --dport 443 -j DNAT --to-destination $LAN_IP:3130