Instal dan Konfigurasi Proxy Squid di Fedora 29/Fedora 28/CentOS 7

Selamat datang teman-teman di tutorial tentang cara menginstal dan mengkonfigurasi proxy Squid di Fedora 29/Fedora 28/CentOS 7. Squid adalah aplikasi server cache proxy web berfitur lengkap yang menyediakan service proxy dan cache untuk HTTP, FTP, permintaan SSL, dan DNS pencarian. Itu juga melakukan caching transparan yang mengurangi bandwidth dan meningkatkan waktu respons dengan caching dan menggunakan kembali halaman web yang sering diminta.

Instal dan Konfigurasi Proxy Squid di Fedora 29/Fedora 28/CentOS 7

Proxy squid tersedia di repositori default Fedora dan CentOS dan dapat diinstal dengan menjalankan perintah di bawah ini.

dnf install squid -y << Fedora or yum install squid -y << Fedora/CentOS

Setelah instalasi selesai, mulai dan aktifkan squid untuk berjalan di sistem start.

systemctl start squid systemctl enable squid

Saat dijalankan, squid mendengarkan port 3128 secara default di semua interface jaringan di engine. Namun Anda dapat mengubahnya dengan mengganti nomor port pada http_portdirektif ke nomor port masing-masing pada file konfigurasi proxy squid, /etc/squid/squid.conf. Misalnya, untuk menggunakan port 8080,

vim /etc/squid/squid.conf
... # Squid normally listens to port 3128 # http_port 3128 << comment the default port http_port 8080...

Konfigurasi Squid

File konfigurasi squid default terletak di /etc/squid/squid.conf. File konfigurasi ini berisi opsi konfigurasi minimum yang disarankan.

Untuk membuat kustomisasi konfigurasi Anda sendiri, Anda dapat membuat copyan dari file konfigurasi asli.

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

File konfigurasi squid default tanpa komentar terlihat seperti;

acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|?) 0 0% 0 refresh_pattern. 0 20% 4320 

Konfigurasikan Daftar Kontrol Akses Squid

Untuk mengizinkan jaringan tertentu atau rentang CIDR untuk mengakses Internet melalui server proxy, Anda perlu menentukan ACL untuk jaringan yang sama. Misalnya untuk mengizinkan host di jaringan 192.168.56.0/24 mengakses internet melalui server proxy kami, edit /etc/squid/squid.conffile konfigurasi dan tambahkan entri ACL seperti yang ditunjukkan di bawah ini.

... # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # acl internal src 19.168.56.0/24 # Allow Internal hosts...

Selanjutnya, Anda perlu mengizinkan akses dari jaringan berdasarkan ACL yang Anda tentukan di atas.

... # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # acl internal src 19.168.56.0/24 # Allow Internal hosts http_access allow internal...

Memblokir Situs Web Tertentu

Proxy squid dapat digunakan untuk membatasi akses ke situs web tertentu. Misalnya untuk memblokir akses ke youtube, facebook, netflix Anda harus membuat file yang mendefinisikan domain situs web ini seperti yang ditunjukkan di bawah ini;

vim /etc/squid/restricted-sites.squid
.youtube.com.facebook.com.netflix.com

Setelah itu, buat ACL untuk situs terlarang di atas dalam file konfigurasi squid. Setelah itu, aturdeny aturan untuk aturan yang ditentukan.

... # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # acl internal src 19.168.56.0/24 # Allow Internal hosts acl blockedsites dstdomain "/etc/squid/restricted-sites.squid" # For restricted sites http_access deny blockedsites http_access allow internal... 

Blokir Situs berdasarkan Kata Kunci Tertentu

Sama seperti cara Anda memblokir situs web berdasarkan domain, Anda juga dapat membatasi akses ke situs web dengan menggunakan kata kunci. Buat file dengan kata kunci tertentu.

vim /etc/squid/keyword-ban.squid
porn ads movie gamble

Buat perubahan yang diperlukan pada file konfigurasi squid.

... # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # acl internal src 19.168.56.0/24 # Allow Internal hosts acl blockedsites dstdomain "/etc/squid/restricted-sites.squid" # For restricted sites <strong>acl keyword-ban url_regex "/etc/squid/keyword-ban.squid" </strong> http_access deny blockedsites <strong>http_access deny keyword-ban</strong> http_access allow internal...

Menutupi Lalu Lintas Keluar

Sebanyak Anda menggunakan server proxy untuk menganonimkan alamat IP Anda dengan menyajikan alamat IP proxy ke server web lain, server proxy dapat mengekspos Anda dengan memasukkan alamat IP Anda pada permintaan HTTP keluar. Namun Anda dapat menonaktifkan ini dengan memasukkan arahan berikut di akhir file konfigurasi squid Anda.

... # refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|?) 0 0% 0 refresh_pattern. 0 20% 4320 # Anonymize Traffic via off forwarded_for off request_header_access From deny all request_header_access Server deny all request_header_access WWW-Authenticate deny all request_header_access Link deny all request_header_access Cache-Control deny all request_header_access Proxy-Connection deny all request_header_access X-Cache deny all request_header_access X-Cache-Lookup deny all request_header_access Via deny all request_header_access X-Forwarded-For deny all request_header_access Pragma deny all request_header_access Keep-Alive deny all 

Setelah Anda selesai dengan konfigurasi, simpan file dan restart squid.

systemctl restart squid

Jika Firewalld berjalan, Anda harus mengizinkan service proxy squid.

firewall-cmd --add-service=squid --permanent firewall-cmd --reload

Konfigurasikan Client Proxy untuk terhubung ke server Proxy

Untuk mengkonfigurasi client agar terhubung ke Internet melalui server proxy squid, Anda dapat mengatur konfigurasi proxy di seluruh sistem, mengkonfigurasi client untuk menggunakan proxy Squid sebagai gateway dan mengatur pengaturan proxy di browser.

Konfigurasi proxy Lebar Sistem

Untuk mengatur konfigurasi proxy seluruh sistem, buat file konfigurasi di bawah /etc/profile.ddengan variabel lingkungan yang mendefinisikan detail server proxy squid sebagai berikut;

vim /etc/profile.d/squid.sh
PROXY_URL="192.168.43.70:3128" HTTP_PROXY=$PROXY_URL HTTPS_PROXY=$PROXY_URL FTP_PROXY=$PROXY_URL http_proxy=$PROXY_URL https_proxy=$PROXY_URL ftp_proxy=$PROXY_URL export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy

Setelah itu, sumber file konfigurasi baru.

source /etc/profile.d/squid.sh

Untuk menguji ini, coba download apa pun dari terminal client sambil mengekor log akses di server proxy squid.

Di terminal client, jalankan;

wget google.com
--2018-11-20 12:46:29-- http://google.com/ Connecting to 192.168.43.70:3128... connected. Proxy request sent, awaiting response... 301 Moved Permanently Location: http://www.google.com/ [following] --2018-11-20 12:46:29-- http://www.google.com/ Reusing existing connection to 192.168.43.70:3128. Proxy request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘index.html’ index.html [ <=> ] 11.59K 44.0KB/s in 0.3s 2018-11-20 12:46:30 (44.0 KB/s) - ‘index.html’ saved [11865]

Di server;

tail -f /var/log/squid/access.log 
1542327358.562 0 192.168.43.214 TCP_MEM_HIT/301 667 GET http://google.com/ - HIER_NONE/- text/html 1542327359.036 472 192.168.43.214 TCP_MISS/200 12756 GET http://www.google.com/ - HIER_DIRECT/216.58.223.68 text/html

Gunakan Squid Proxy sebagai gateway dan Konfigurasikan Pengaturan Proxy di browser

Untuk mengatur proxy Squid sebagai gateway default, ubah konfigurasi interface Anda.

ip route add default via 192.168.43.70 dev enp0s3

atau

nmcli con mod eth0 ipv4.gateway 192.168.43.70

Untuk mengatur pengaturan proxy di browser, navigasikan ke Preferences > Generaaku > Network Settings > Manual Proxy Configuration. Masukkan detail server proxy seperti yang ditunjukkan b di bawah ini. Pastikan untuk memeriksaUse this proxy server for all protocols.

Mencoba mengakses Netflix di browser;

Di server;

tail -f /var/log/squid/access.log
1542328269.419 0 192.168.43.214 TCP_DENIED/403 3995 CONNECT facebook.com:443 - HIER_NONE/- text/html 1542328289.684 0 192.168.43.214 TCP_DENIED/403 4080 GET http://netflix.com/ - HIER_NONE/- text/html 1542328289.820 0 192.168.43.214 TCP_HIT/200 13052 GET http://localhost.localdomain:3128/squid-internal-static/icons/SN.png - HIER_NONE/- image/png 1542328289.922 0 192.168.43.214 TCP_DENIED/403 4075 GET http://netflix.com/favicon.ico - HIER_NONE/- text/html

Itu saja tentang cara menginstal dan mengkonfigurasi proxy Squid di Fedora 29/Fedora 28/CentOS 7.

Pada artikel kami berikutnya, kami akan membahas cara mengkonfigurasi otentikasi proxy Squid. Terima kasih telah membaca.

Kami juga membahas cara mengatur pengaturan proxy lebar sistem di Ubuntu 18.04 di artikel kami sebelumnya.

Cara Mengatur Proxy Lebar Sistem di Ubuntu 18.04

Tutorial lainnya

Pantau log Squid dengan Grafana dan Graylog

Buat Squid Logs Extractors di Graylog Server

Pantau Log Akses Squid dengan Server Graylog