Cara Mengatur Server "Squid Proxy" di Ubuntu dan Debian
Squid adalah server proxy web HTTP yang paling populer untuk menyimpan dan meneruskan cache yang digunakan oleh berbagai perusahaan saya untuk menyimpan cache halaman web dari server web guna meningkatkan kecepatan server web, mengurangi waktu respons, dan mengurangi penggunaan bandwidth jaringan.
Baca Juga: Cara Membuat Proxy HTTP Menggunakan Squid di CentOS 7
Pada artikel ini, kami akan menjelaskan cara memasang server proksi Squid pada distribusi Ubuntu dan Debian dan menggunakannya sebagai server proksi HTTP.
Cara Install Squid di Ubuntu
Sebelum kita mulai, Anda harus tahu bahwa server Squid tidak memiliki persyaratan apa pun, namun jumlah penggunaan RAM mungkin berbeda berdasarkan klien yang menjelajah internet melalui server proxy.
Paket Squid tersedia untuk diinstal dari repositori dasar Ubuntu, tetapi sebelum itu pastikan untuk memperbarui paket Anda dengan menjalankannya.
sudo apt update
Setelah paket Anda diperbarui, Anda dapat melanjutkan lebih jauh dengan menginstal Squid dan memulai serta mengaktifkannya pada startup sistem menggunakan perintah berikut.
sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid
Pada titik ini proxy web Squid Anda seharusnya sudah berjalan dan Anda dapat memverifikasi status layanan dengan.
sudo systemctl status squid
Contoh Keluaran
● squid.service - LSB: Squid HTTP Proxy version 3.x
Loaded: loaded (/etc/init.d/squid; generated)
Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 4 (limit: 1717)
CGroup: /system.slice/squid.service
├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
├─2766 (squid-1) -YC -f /etc/squid/squid.conf
├─2768 (logfile-daemon) /var/log/squid/access.log
└─2772 (pinger)
Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]: * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]: ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started
Berikut adalah beberapa lokasi file Squid penting yang harus Anda waspadai:
- File konfigurasi Squid: /etc/squid/squid.conf
- Log Akses Squid: /var/log/squid/access.log
- Log Cache Squid: /var/log/squid/cache.log
File konfigurasi default berisi beberapa arahan konfigurasi yang perlu dikonfigurasi untuk mempengaruhi perilaku Squid.
Sekarang buka file ini untuk diedit menggunakan editor Vi dan buat perubahan seperti yang ditunjukkan di bawah ini.
sudo vim /etc/squid/squid.conf
Sekarang, Anda dapat mencari baris berikut dan mengubahnya sesuai permintaan, di editor Vi, Anda dapat mencari baris tersebut dengan menekan 'ESC' dan mengetik “/ ” kunci untuk menulis baris spesifik yang harus dicari.
- http_port : Ini adalah port default untuk server proxy HTTP, secara default adalah 3128, Anda dapat mengubahnya ke port lain yang Anda inginkan, Anda juga dapat menambahkan Tag “transparent ” di akhir baris seperti http_port 8888 transparan untuk membuat proksi Squid bertindak seperti proksi transparan jika Anda mau.
- http_access reject all : Baris ini tidak akan membiarkan siapa pun mengakses server proxy HTTP, itu sebabnya Anda perlu mengubahnya menjadi http_access izinkan semua untuk mulai menggunakan server proxy Squid Anda .
- visible_hostname : Direktif ini digunakan untuk mengatur nama host tertentu ke server Squid. Anda dapat memberikan nama host apa pun ke cumi-cumi.
Setelah melakukan perubahan di atas, Anda dapat me-restart server proxy Squid menggunakan perintah.
sudo systemctl restart squid
Mengonfigurasi Squid sebagai Proxy HTTP di Ubuntu
Di bagian konfigurasi cumi ini, kami akan menjelaskan cara mengkonfigurasi cumi sebagai proksi HTTP hanya dengan menggunakan alamat IP klien untuk autentikasi.
Tambahkan Squid ACL
Jika Anda hanya ingin mengizinkan satu alamat IP untuk mengakses internet melalui server proxy baru, Anda perlu menentukan acl (daftar kontrol akses) baru di file konfigurasi.
sudo vim /etc/squid/squid.conf
Aturan acl yang harus Anda tambahkan adalah:
acl localnet src XX.XX.XX.XX
Dimana XX.XX.XX.XX
adalah alamat IP mesin klien. acl ini harus ditambahkan di awal bagian ACL seperti yang ditunjukkan pada tangkapan layar berikut.
Sebaiknya berikan komentar di samping ACL yang akan menjelaskan siapa yang menggunakan alamat IP ini, misalnya.
acl localnet src 192.168.0.102 # Boss IP address
Anda harus memulai ulang layanan Squid agar perubahan baru dapat diterapkan.
sudo systemctl restart squid
Buka Port di Squid Proxy
Secara default, hanya port tertentu yang diperbolehkan dalam konfigurasi Squid, jika Anda ingin menambahkan lebih banyak, cukup tentukan di file konfigurasi seperti pada gambar.
acl Safe_ports port XXX
Dimana XXX
adalah nomor port yang ingin Anda izinkan. Sekali lagi, sebaiknya berikan komentar di samping acl yang akan menjelaskan tujuan penggunaan port tersebut.
Agar perubahan diterapkan, Anda perlu me-restart Squid sekali lagi.
sudo systemctl restart squid
Otentikasi Klien Proxy Squid
Untuk memungkinkan pengguna melakukan autentikasi sebelum menggunakan proxy, Anda perlu mengaktifkan autentikasi http dasar di file konfigurasi, namun sebelumnya Anda perlu menginstal paket apache2-utils menggunakan perintah berikut.
sudo apt install apache2-utils
Sekarang buat file bernama “passwd” yang nantinya akan menyimpan nama pengguna untuk otentikasi. Squid berjalan dengan pengguna “proxy ” sehingga file tersebut harus dimiliki oleh pengguna tersebut.
sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd
Sekarang kita akan membuat pengguna baru bernama “tecmint” dan mengatur kata sandinya.
sudo htpasswd /etc/squid/passwd tecmint
New password:
Re-type new password:
Adding password for user tecmint
Sekarang untuk mengaktifkan otentikasi http dasar, buka file konfigurasi.
sudo vim /etc/squid/squid.conf
Setelah port ACL tambahkan baris berikut:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Simpan file dan restart Squid agar perubahan baru dapat diterapkan:
sudo systemctl restart squid
Blokir Situs Web di Squid Proxy
Untuk memblokir akses ke situs web yang tidak diinginkan, pertama-tama buatlah file bernama “blacklisted_sites.acl” yang akan menyimpan situs-situs yang masuk daftar hitam di dalamnya.
sudo touch /etc/squid/blacklisted_sites.acl
Sekarang tambahkan situs web yang ingin Anda blokir aksesnya, misalnya.
.badsite1.com
.badsite2.com
titik selanjutnya memberitahukan Squid untuk memblokir semua referensi ke situs tersebut termasuk www.badsite1, subsite.badsite1.com dll.
Sekarang buka file konfigurasi Squid.
sudo vim /etc/squid/squid.conf
Tepat setelah ACL di atas tambahkan dua baris berikut:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls
Sekarang simpan file dan restart Squid:
sudo systemctl restart squid
Blokir Kata Kunci Tertentu dengan Squid
Untuk memblokir daftar kata kunci, pertama-tama buatlah file bernama “blockkeywords.lst” yang akan menyimpan kata kunci yang masuk daftar hitam di dalamnya.
sudo touch /etc/squid/blockkeywords.lst
Sekarang tambahkan kata kunci yang ingin Anda blokir aksesnya, misalnya.
facebook
instagram
gmail
Sekarang buka file konfigurasi Squid dan tambahkan aturan berikut.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist
Sekarang simpan file dan restart Squid:
sudo systemctl restart squid
Setelah semuanya dikonfigurasi secara akurat, kini Anda dapat mengonfigurasi browser web klien lokal atau pengaturan jaringan sistem operasi untuk menggunakan proksi HTTP Squid yang baru dikonfigurasi.
Konfigurasikan Klien untuk Menggunakan Squid Proxy
Sekarang untuk menguji apakah server proxy Anda berfungsi atau tidak, Anda dapat membuka Firefox dan pergi ke Edit –> Preferences –> Advanced –> Network –> Settings dan pilih “Konfigurasi proxy manual ” dan masukkan alamat IP server proxy Anda dan Port yang akan digunakan untuk semua koneksi sebagai berikut.
Setelah Anda mengisi semua rincian proxy yang diperlukan, Anda akan dapat menjelajahi Web menggunakan server proxy Squid Anda, Anda dapat melakukan hal yang sama di browser atau program lain yang Anda inginkan.
Untuk memastikan bahwa Anda menjelajahi web menggunakan server proxy, Anda dapat mengunjungi http://www.ipaddresslocation.org/, di pojok kanan atas Anda harus melihat alamat IP yang sama dengan server Anda Alamat IP.
Untuk pengaturan konfigurasi tambahan lainnya, Anda dapat memeriksa dokumentasi resmi Squid. Jika Anda memiliki pertanyaan atau komentar, silakan tambahkan di bagian komentar di bawah.