Kaynaktan Oluşturma


Squid kaynaklarından SSL destekli kaynak dosyasını çekip, build ayarlarını da ekledikten sonra squid'i kaynağından oluşturacağız.

apt-get source squid3
wget http://www.squid-cache.org/Versions/v3/3.4/squid-3.4.9.tar.gz
cp squid-3.4.9.tar.gz squid3_3.4.9.orig.tar.gz
tar -zxf squid-3.4.9.tar.gz

Debian/rules altında rules dosyasına aşağıdaki ssl desteği için gerekli değerleri ekliyoruz.

--enable-ssl and
--enable-ssl-crtd and
--disable-arch-native 

Daha sonra aşağıda ki komut ile paketleri oluşturuyoruz.

dpkg-buildpackage

Kurulum ve Ayarlama

 

DPKG paket yöneticisi ile kurulumu başlatıyoruz

dpkg -i squid3-*.deb

Paket kurulumları tamamlandıktan sonra Squid SSL desteği için gerekli sertifika oluşturma işini hallediyoruz.

mkdir /etc/squid3/ssl
chmod +x /etc/squid3/ssl
cd /etc/squid3/ssl
openssl genrsa -out squid.key 2048
openssl req -new -key squid.key -out squid.csr
openssl x509 -req -days 3650 -in squid.csr -signkey squid.key -out squid.crt
cat squid.key squid.crt > squid.pem
scp squid.crt /usr/local/share/ca-certificates/
/usr/sbin/update-ca-certificates

SSL tarafı tamamlandıktan sonra Squid'i yapılandırmaya geçiyoruz.

shutdown_lifetime 3
#standart proxy ulaşım portu
http_port 3128
#yönlendirdiğimiz 80. porttan trafikten gelen paketleri karşılayacak port
http_port 3129 intercept
#yönlendirdiğimiz 443. porttan trafikten gelen paketleri karşılayacak port
https_port 3130 intercept ssl-bump  generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl/squid.pem

always_direct allow all
ssl_bump none localhost
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

Squid ssl_db'yi hazırlıyoruz

/usr/lib/squid3/ssl_crtd -c -s /var/lib/ssl_db/
chown -R proxy /var/lib/ssl_db

Bu aşağamadan sonra ip:3128 ile normal proxy , ip:3129 ile http trafiği, ip:3130 ile https trafiğini proxy edeceğiz.

service squid3 restart

Squid3'ün gateway olarak tanımlı olması yönlendirecek ağ trafiğinin, yönlendirme tekrarına girmesinden kurtaracaktır.Kullanabileceğiniz iptables ve ufw komutları.

/sbin/iptables -t nat -A PREROUTING -p TCP -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3129
/sbin/iptables -t nat -A PREROUTING -p TCP -s 192.168.1.0/24 --dport 443 -j REDIRECT --to-port 3130

ufw

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
-A PREROUTING -p TCP -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3129
-A PREROUTING -p TCP -s 192.168.1.0/24 --dport 443 -j REDIRECT --to-port 3130
COMMIT