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.