Skip to main content

SSL bumping ile Ubuntu 22.04 üzerinde Squid Server 5.7

Squid 5.7 yi ubuntu 20.04 üzerine compile ederek kaynaktan kurmak için yapılması gerekenler

Derlemek için ön gereklilikler

apt-get install build-essential openssl libssl-dev pkg-config

Bu işlem bitince download ediyoruz

wget -c http://www.squid-cache.org/Versions/v5/squid-5.7.tar.gz

Download edilen kaynak dosyasını açıyoruz.

tar zxvf squid-5.7.tar.gz 

Çıkardığımız klasöre geçiyoruz

Derleme

Aşağıdaki parametreler ile compile başlatıyoruz

./configure --prefix=/usr --with-openssl --enable-ssl-crtd --localstatedir=/var --libexecdir=${prefix}/lib/squid --datadir=${prefix}/share/squid --sysconfdir=/etc/squid --with-default-user=proxy --with-logdir=/var/log/squid --with-pidfile=/var/run/squid.pid

Hiçbir warning yada hata almadan bitmeli. Ardından derleme işlemini aşağıdaki komut ile başlatıyoruz. Bu 15 dakika kadar sürebiliyor.

make all

Make işlemi sorunsuz şekilde bittikten sonra

make install

yapıyoruz ve kurulum bitiyor.

Kontrol edelim.

squid -v

Aşağıdaki gibi görünmeli

Systemd dosyası

Systemd servisi Ubuntu 22.04 versiyon linux kurulumlarının sistem servis yöneticisidir. Bu yöneticiye squid için gerekli detayların eklenmesi gerekir.

Derleyerek kurduğumuz squid 5.7 systemd dosyasyı olmadan gelir, oluşturmak için aşağıdaki şablonu kullana bilirsiniz

Bu şablonu kopyalayıp aşağıdaki komutu kullanarak yeni systemd servis dosyasının içine kopyalayalım

sudo nano /lib/systemd/system/squid.service

kopyaladıktan sonra aşağıdaki gibi görünmelidir.

ctrl+x, yes, yes yapıp çıkıyoruz

root@log01:~# systemctl daemon-reload

yapıp dameon dosyalarının yeniden yüklendiğine emin oluyoruz

systemctl status squid.service 

yaptıktan sonra squid servisinin çalıştığını görebilirsiniz.

Konfigürasyon

squid konfigürasyon dosyalarının olduğu yere gidiyoruz

cd /etc/squid/

mevcut konfigürasyonu yedekliyoruz.

root@log01:/etc/squid# mv squid.conf squid.conf.disabled

Yeni konfigürasyonu yapıştıracağımız dosyayı nano kullanarak açıyoruz

root@log01:/etc/squid# nano squid.conf

Aşağıdaki şablonu yeni açtığımız dosya içerisine kaydediyoruz.

Sertifikalandırma

kullanıcılara gönderilecek sertifikayı generate ediyoruz

openssl req -new -newkey rsa:2048 -days 720 -nodes -x509 -keyout bump.key -out bump.crt

Otomatik sertifika jenerasyonu için kullanacağımız parametrelere örnek dosyayı oluşturuyoruz.

openssl dhparam -outform PEM -out /etc/squid/ssl_certs/bump_dhparam.pem 2048
chmod 400 bump_dhparam.pem 

Sertifikanını güvenlik ayarlarını yapıyoruz

chown proxy:proxy /etc/squid/bump*
chmod 400 /etc/squid/bump*

Ubuntu için çalışacak olan ssl sertifikalarını içeren klasör ve veri tabanını oluşturuyoruz

mkdir -p /var/lib/squid/ssl_db
/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

devreye alma

Yukarıdaki adımların tamamını yaptıktan sonra,

systemctl restart squid.services

ve kontrol için

systemctl status squid.service

Bu noktadan sonra ;

  • oluşturduğumuz ssl sertifikasını clientlara gönderip trusted root authorities klasörüne import ediyoruz
  • client üzerinde proxy ayarlarını sunucu_ip _adresi:3128 gösterecek şekilde yapıyoruz.

test için

curl -kv -x http://172.17.21.7:3128 https://docs.mikronet.tech