Cara Enable-kan squid untuk support SSL/HTTPS  ncuptea blog

Cara Enable-kan squid untuk support SSL/HTTPS

Saat posting ini di buat telah diketahui bahwa jika kita menginstall squid via apt-get maka belum support atau enable SSL. Cara check/ mengetahuinya bisa dengan mengetikan perintah :

squid -v

atau

squid3 -v

Berikut ini ialah Output dari squid yang ada di laptop saya, jika kita amati tidak ada --enable-ssl atau  --with-openssl :

root@mylaptop:/home/ute# squid -v
Squid Cache: Version 3.5.23
Service Name: squid
Debian linux
configure options:  '--build=i686-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' 'BUILDCXXFLAGS=-g -O2 -fdebug-prefix-map=/build/squid3-gT5oqG/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--libexecdir=/usr/lib/squid' '--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,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,time_quota,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-build-info=Debian linux' '--enable-linux-netfilter' 'build_alias=i686-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/squid3-gT5oqG/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fdebug-prefix-map=/build/squid3-gT5oqG/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security'



Berbeda dengan output squid yang telah di rebuild pada router saya, liat teks yang di warnai merah :

root@ncuptea:~/squid_src# 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-ssl' '--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'




Jadi untuk meng-enablekan squid supaya support SSL yang harus dilakukan me-rebuild squid nya. Dalam contoh saya ini sebelumnya telah terinstall dan berjalan squid v3.1, namun source squid untuk di rebuild yang saya dapatkan atau akan saya pakai ialah v3.4

Langkah-langkah :

Stop service squid yang berjalan sebelumnya :

/etc/init.d/squid3 stop

Buatlah folder atau direktori di mana kalian saat ini :

mkdir /root/squid_source

Masuk ke folder/direktori squid_source yang baru saja di buat :

cd squid_source

Install dependensi yang di butuhkan :

apt-get install build-essential fakeroot devscripts gawk gcc-multilib dpatch
apt-get build-dep squid3
apt-get build-dep openssl
apt-get source squid3
apt-get install libssl-dev

*cat : versi squid source-nya mungkin bisa berbeda di kalian, jadi check dulu dengan perintah ls pada direktori /root/source_squid.


Edit dan ganti default opsi compiler untuk support SSL :

nano squid3-3.4.8/debian/rules

Tambahkan atau sesuaikan seperti dibawah ini, (lihat yang di warnai merah) :

DEB_CONFIGURE_EXTRA_FLAGS := --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-ssl
--enable-zph-qos \
--enable-ecap \
--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-default-user=proxy

Pindah atau masuk ke direktori squid3-3.4.8 yang ada di source_squid yang telah di buat diatas sebelumnya :

cd squid3-3.4.8

Mulailah mengkompile. Tunggu sampai selesai prosesnya yang lumayan lama sekitar 30 menit dalam kasus saya ini :

debuild -us -uc -b

Install paket berekstensi .deb secara sekaligus yang telah di kompile pada folder atau direktori source_squid :

dpkg -i squid3_3.4.8-6+deb8u2~bpo70+1_i386.deb squid3-common_3.4.8-6+deb8u2~bpo70+1_all.deb squid3-dbg_3.4.8-6+deb8u2~bpo70+1_i386.deb squid-cgi_3.4.8-6+deb8u2~bpo70+1_i386.deb squidclient_3.4.8-6+deb8u2~bpo70+1_i386.deb squid-purge_3.4.8-6+deb8u2~bpo70+1_i386.deb

Selesai..

Next artikel mungkin akan saya posting setup squid untuk bisa cache https/ssl nya.


Troubleshoot :
Dalam kasus saya, saat menjalankan file konfigurasi squid.conf yang seharusnya tidak ada kesalahan jadi terdapat error saat mem-parse ulang seperti di bawah ini :

Command :
squid3 -k parse

Output :
WARNING: Cannot write log file: /var/log/cache.log
/var/log/cache.log: Permission denied
         messages will be sent to 'stderr'.



Maka untuk memperbaikinya adalah merubah level moderasi (chmod) pada link direktory target yang ada di dalam squid.conf :
  • cache_dir
  • cache.log 
Contoh :
Merubah moderasi tempat cache (cache_dir) yang ada di /home/proxy :
chmod 777 /home/proxy

Merubah moderasi tempat log cache yang ada di /var/log :
chmod 777 /var/log

Selesai, silahkan check squid3 -k parse lagi dan seharusnya hilang problem di atas.



No comments:

Facebook Blogger Plugin: Brought to by CITEUREUP FOUNDATION Enhanced by ncuptea

Post a Comment

Berkomentarlah dengan bijak untuk pengembangan dan sekaligus menjadi pembelajaran kita bersama.

Pilih Name/Url untuk mempermudah memasukan id anda!