Setelah sebelumnya kami memberikan tutorial install Proxy menggunakan password dan proxy tanpa password, pada artikel ini update.or.id akan memberikan tutorial mengaktifkan SSL Squid Bump agar dapat melakukan cache kontent https.
Perlu kita ketahui, pada saat pertama kali melakukan instalasi squid proxy server maka secara default hanya akan berjalan pada koneksi http saja Untuk mengatasinya kita bisa menggunakan SSL Bump agar squid dapat berjalan pada koneksi https dan melakukan cache https.
Saat ssl-bumping diaktifkan, Squid akan mendekripsi dan mengenkripsi ulang lalu lintas SSL menggunakan sertifikat CA yang dapat dikonfigurasi. Sertifikat yang dibuat secara dinamis ini lebih mirip dengan sertifikat aslinya untuk memudahkan pelacakan kegagalan sertifikat.
Oke kita langsung saja mulai ke tutorialnya ya.
Tutorial Install Proxy Squid dengan SSL Squid Bump

1. Login ke SSH
Langkah pertama adalah melakukan login terlebih dahulu ke server yang akan jadikan proxy melalui SSH.
2. Update dan Upgrade Sistem Operasi
Setelah berhasil login ke server silahkan kalian lakukan update dan upgrade Sistem Operasi terlebih dahulu agar OS kalian menggunakan sistem terbaru dengan menjalankan perintah :
sudo apt-get update && sudo apt-get upgrade -y
3. Unduh Squid Proxy
Setelah melakukan update dan upgrade sistem operasi maka langkah selanjutnya adalah mengunduh squid proxy dan melakukan extract terlebih dahulu dengan menjalankan perintah:
1. wget http://www.squid-cache.org/Versions/v5/squid-5.1.tar.gz
2. tar -xvf squid-5.1.tar.gz
4. Install Build Essential
Langkah keempat adalah melakukan instalasi Build Essential dengan menjalankan perintah :
1. sudo apt-get update
2. sudo apt-get install build-essential openssl libssl-dev pkg-config
5. Compile dan Install Squid
Langkah kelima adalah melakukan compile serta melakukan instalasi squid proxy dengan menjalankan perintah :
cd squid-5.1
./configure --with-default-user=proxy --with-openssl --enable-ssl-crtd
make
sudo make install
6. Konfigurasi OpenSSL
Langkah keenam adalah melakukan konfigurasi OpenSSL agar nantinya dapat berjalan normal dengan menjalankan perintah dibawah ini:
nano /etc/ssl/openssl.cnf
Kemudian pastekan perintah dibawah ini
[ v3_ca ]
keyUsage = cRLSign, keyCertSign
Kemudian simpan dan keluar dari editor.
7. Membuat Folder Sertifikat
Langkah selanjutnya adalah membuat folder sertifikat SSL dengan menjalankan perintah dibawah ini:
mkdir /tmp/ssl_cert
cd /tmp/ssl_cert
8. Membuat Sertifikat dan CA Sertifikat
Langkah kedelapan adalah membuat sertifikat dan CA sertifikat dengan menjalankan perintah dibawah ini:
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -extensions v3_ca -keyout squid-self-signed.key -out squid-self-signed.crt
contohnya seperti dibawah ini
# Country Name (2 letter code) [AU]:ID
# State or Province Name (full name) [Some-State]:Bengkulu
# Locality Name (eg, city) []:Kepahiang
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:Qiannah Update Media
# Organizational Unit Name (eg, section) []:PRoxy Team
# Common Name (e.g. server FQDN or YOUR name) []: Team Updateorid
# Email Address []:emailku@gmail.com
9. Konversi CRT ke DER dan PEM Format
Setelah membuat sertifikat maka langkah selanjutnya adalah mengkonversi file sertifikat yang awalnya .crt menjadi .der dan .pem dengan mengetikkan perintah dibawah ini:
1. openssl x509 -in squid-self-signed.crt -outform DER -out squid-self-signed.der
2. openssl x509 -in squid-self-signed.crt -outform PEM -out squid-self-signed.pem
3. openssl dhparam -outform PEM -out squid-self-signed_dhparam.pem 2048
10. Copy Folder Sertifikat
Langkah kesepuluh adalah melakukan copy folder sertifikat ke folder squid dengan langkah menjalakan perintah dibawah ini:
sudo cp -rf /tmp/ssl_cert /usr/local/squid/etc/ssl_cert
11. Menambahkan CA ke Trusted CA
1. sudo cp /usr/local/squid/etc/ssl_cert/squid-self-signed.pem /usr/local/share/ca-certificates/squid-self-signed.crt
2. sudo update-ca-certificates
12. Setting Squid.conf
Setelah seluruh langkah diatas kalian lakukan maka langkah selanjutnya adalah setting squid.conf agar dapat berjalan pada https atau ssl dengan menjalankan perintah dibawah ini:
nano /usr/local/squid/etc/squid.conf
Masukkan kode dibawah pada bagian bawah acl
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching
kemudian pastekan kode dibawah ini tepat dibawah tulisan acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
Selanjutnya ubah http_port 3128 menjadi seperti dibawah ini:
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/usr/local/squid/etc/ssl_cert/squid-self-signed.crt tls-key=/usr/local/squid/etc/ssl_cert/squid-self-signed.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/usr/local/squid/etc/ssl_cert/squid-self-signed_dhparam.pem
Dan tambahkan kode ini dibawahnya
sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/var/logs/ssl_db -M 20MB
sslcrtd_children 5
ssl_bump server-first all
ssl_bump stare all
sslproxy_cert_error deny all
Selanjutnya masukkan kode ini
#cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
maximum_object_size 6 GB
cache_mem 8192 MB
cache_dir ufs /usr/local/squid/var/cache/squid 32000 16 256 # 32GB as Cache
Dan tambahkan kode dibawah ini pada baris paling bawah squid.conf
refresh_pattern -i .(jar|zip|whl|gz|bz) 259200 20% 259200 ignore-reload ignore-no-store ignore-private override-expire
refresh_pattern -i conda.anaconda.org\/.* 259200 20% 259200 ignore-reload ignore-no-store ignore-private override-expire
refresh_pattern . 0 20% 4320
Selanjutnya adalah setting permissionsnya dengan menjalankan perintah dibawah ini
sudo chown -R proxy:proxy /usr/local/squid
13. Menjalankan Squid Dengan SSL Bump
Pada awal mula mengaktifkan atau menjalankan Proxy silahkan kalian jalankan perintah dibawah ini
sudo -u proxy -- /usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/var/logs/ssl_db -M 20MB
Kemudian
sudo -u proxy -- /usr/local/squid/sbin/squid -z
Lalu Start Proxy
sudo -u proxy -- /usr/local/squid/sbin/squid -d 10
Apabila berjalan normal maka pada layar akan menampilkan informasi sebagai berikut:
kid1| Done scanning /usr/local/squid/var/cache/squid dir (0 entries)
kid1| Finished rebuilding storage from disk.
kid1| 0 Entries scanned
kid1| 0 Invalid entries.
kid1| 0 With invalid flags.
kid1| 0 Objects loaded.
kid1| 0 Objects expired.
kid1| 0 Objects cancelled.
kid1| 0 Duplicate URLs purged.
kid1| 0 Swapfile clashes avoided.
kid1| Took 0.04 seconds ( 0.00 objects/sec).
kid1| Beginning Validation Procedure
kid1| Completed Validation Procedure
kid1| Validated 0 Entries
kid1| store_swap_size = 0.00 KB
kid1| storeLateRelease: released 0 objects
Silahkan kalian coba koneksi ke Proxy kalian.
Untuk mematikan atau stop proxy tersebut silahkan kalian jalankan perintah dibawah ini:
sudo -u proxy -- /usr/local/squid/sbin/squid -k shutdown
PERHATIAN
Ketikan kalian mencoba untuk mengakses situs dengan cara ini maka kalian akan ditampilkan pesan error dan tidak dapat tersambung karena permasalahan sertifikat.
Untuk mengatasinya kalian bisa mengunduh sertifikat squid-self-signed.der melalui ftp dan mengunggahnya ke browser yang kalian gunakan.
Itulah tadi informasi dan tutorial yang bisa kami berikan semoga dapat membantu kalian