berikut panduan langkah-demi-langkah untuk memasang Squid proxy di server Debian dan mengaktifkan Basic Authentication (username/password) menggunakan htpasswd. Saya sertakan perintah, cuplikan konfigurasi, pemeriksaan, dan tips keamanan.
Asumsi: Anda punya akses root (atau
sudo) ke server Debian dan koneksi internet untuk mengunduh paket.
1) Update & install package
sudo apt update
sudo apt install -y squid apache2-utils
apache2-utils menyediakan htpasswd untuk membuat file password.
2) Buat file password (NCSA format)
Buat direktori & file password di /etc/squid (lokasi konvensional):
sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
sudo chmod 640 /etc/squid/passwd
Tambahkan user pertama (flag -c hanya saat membuat file baru):
# hanya pakai -c saat membuat file pertama kali
sudo htpasswd -c /etc/squid/passwd namauser
# masukkan password saat diminta
Untuk menambah user lain:
sudo htpasswd /etc/squid/passwd user2
3) Konfigurasi Squid untuk Basic Auth
Buat custom konfigurasi terpisah supaya mudah maintain :
sudo nano /etc/squid/conf.d/auth.conf
##### Basic Auth Configuration #####
# Program helper untuk otentikasi NCSA
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Proxy
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# ACL user yang login
acl authenticated proxy_auth REQUIRED
# Izinkan akses untuk user yang sudah login
http_access allow authenticated
# Pastikan rule ini tetap paling akhir
http_access deny all
/usr/lib/squid/basic_ncsa_auth bisa berbeda-beda tergantung operaing system nya,
- /usr/lib/squid/basic_ncsa_auth
4) Ubah Port Default (Custom Port)
Matikan port default di file config default:
sudo nano /etc/squid/squid.conf
Cari baris http_port 3128 lalu berikan komentar degan memberikan tanda ‘#` atau hapus baris tersebut:
# http_port 3128
sudo nano /etc/squid/conf.d/port.conf
Masukan misal:
# Custom listening port
http_port 8080
# (opsional) — jika kamu ingin tetap mendengarkan default 3128 + port tambahan:
# http_port 3128
# Jika kamu ingin binding ke IP tertentu saja (contoh 192.168.1.10):
# http_port 192.168.1.10:8080
5) Restart Service (systemd)
Restart service systemd untuk menerapkan perubahan
sudo systemctl restart squid
⚠️ Catatan / Hal yang perlu diperhatikan
- Jika di file
squid.confsudah ada barishttp_port 3128, maka Squid akan mendengarkan dua port — default 3128 dan port kustom (misalnya 8080), kecuali kamu mengomentari baris default atau override. - Jika kamu hanya ingin port kustom, kamu bisa di file
port.confmendefinisikanhttp_port 8080dan disquid.confpastikan baris defaulthttp_port 3128dikomentari atau dihapus. - Setelah perubahan, selalu restart dan periksa status Squid. Juga pastikan firewall (jika ada) membuka port yang baru.