GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengkonfigurasi Squid Proxy di Ubuntu 18.04

Squid adalah proxy caching berfitur lengkap yang mendukung protokol jaringan populer seperti HTTP, HTTPS, FTP, dan banyak lagi. Squid sebagian besar digunakan untuk meningkatkan kinerja server web dengan menyimpan permintaan berulang, memfilter lalu lintas web, dan mengakses konten yang dibatasi secara geografis.

Tutorial ini akan memandu Anda melalui proses menyiapkan Proxy Squid di Ubuntu 18.04 dan mengonfigurasi browser web Firefox dan Google Chrome untuk menggunakannya.

Menginstal Squid di Ubuntu #

Paket squid disertakan dalam repositori default Ubuntu 18.04. Untuk menginstalnya masukkan perintah berikut sebagai pengguna sudo:

sudo apt updatesudo apt install squid

Setelah instalasi selesai, layanan Squid akan dimulai secara otomatis.

Untuk memverifikasi bahwa instalasi berhasil dan layanan Squid berjalan, ketik perintah berikut yang akan mencetak status layanan:

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Thu 2019-06-27 11:45:17 UTC
...

Konfigurasi Squid #

Squid dapat dikonfigurasi dengan mengedit /etc/squid/squid.conf mengajukan. Anda juga dapat menggunakan file terpisah dengan opsi konfigurasi yang dapat disertakan menggunakan perintah “include”.

File konfigurasi berisi komentar yang menjelaskan fungsi setiap opsi konfigurasi.

Sebelum membuat perubahan apa pun, sebaiknya buat cadangan file konfigurasi asli:

sudo cp /etc/squid/squid.conf{,.orginal}

Untuk mengedit file, buka di editor teks Anda:

sudo nano /etc/squid/squid.conf

Secara default, Squid dikonfigurasi untuk mendengarkan pada port 3128 pada semua antarmuka jaringan di server.

Jika Anda ingin mengubah port dan menyetel antarmuka pendengar, cari baris yang dimulai dengan http_port dan tentukan alamat IP antarmuka dan port baru. Jika tidak ada antarmuka yang ditentukan, Squid akan mendengarkan semua antarmuka.

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

Menjalankan Squid di semua antarmuka dan pada port default tidak masalah bagi sebagian besar pengguna.

Di Squid, Anda dapat mengontrol bagaimana klien dapat mengakses sumber daya web menggunakan Access Control Lists (ACLs).

Secara default, Squid mengizinkan akses hanya dari localhost.

Jika semua klien yang akan menggunakan proxy memiliki alamat IP statis, Anda dapat membuat ACL yang akan menyertakan IP yang diizinkan.

Alih-alih menambahkan alamat IP di file konfigurasi utama, kami akan membuat file khusus baru yang akan menyimpan IP:

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

Setelah selesai buka file konfigurasi utama dan buat ACL baru bernama allowed_ips (baris pertama yang disorot) dan izinkan akses ke ACL tersebut menggunakan http_access direktif (baris kedua yang disorot):

/etc/squid/squid.conf
# ...
acl allowed_ips  src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

Urutan http_access aturan itu penting. Pastikan Anda menambahkan baris sebelum http_access deny all .

http_access direktif bekerja dengan cara yang sama seperti aturan firewall. Squid membaca aturan dari atas ke bawah, dan ketika aturan cocok, aturan di bawah tidak diproses.

Setiap kali Anda membuat perubahan pada file konfigurasi, Anda perlu me-restart layanan Squid agar perubahan diterapkan:

sudo systemctl restart squid

Otentikasi Squid #

Squid dapat menggunakan back end yang berbeda, termasuk Samba, LDAP, dan otentikasi dasar HTTP untuk pengguna yang diautentikasi.

Dalam tutorial ini, kami akan mengonfigurasi Squid untuk menggunakan auth dasar. Ini adalah metode otentikasi sederhana yang dibangun ke dalam protokol HTTP.

Kami akan menggunakan openssl untuk membuat kata sandi dan menambahkan username:password pasangkan ke /etc/squid/htpasswd file menggunakan tee perintah seperti yang ditunjukkan di bawah ini:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Mari kita buat user bernama “josh” dengan password “Sz$Zdg69 ":

printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM

Sekarang pengguna telah dibuat, langkah selanjutnya adalah mengaktifkan otentikasi dasar HTTP dan menyertakan htpasswd berkas.

Buka konfigurasi utama dan tambahkan berikut ini:

/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

Tiga baris pertama yang disorot membuat ACL baru bernama authenticated dan baris terakhir yang disorot memungkinkan akses ke pengguna yang diautentikasi.

Mulai ulang layanan Squid:

sudo systemctl restart squid

Mengonfigurasi firewall #

Dengan asumsi Anda menggunakan UFW untuk mengelola firewall Anda, Anda harus membuka port Squid. Untuk itu aktifkan profil 'Squid' yang menyertakan aturan untuk port default Squid.

sudo ufw allow 'Squid'

Untuk memverifikasi jenis status:

sudo ufw status

Outputnya akan terlihat seperti berikut:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Squid                      ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Squid (v6)                 ALLOW       Anywhere (v6)  
Jika Squid berjalan di port non-default lain, misalnya 8888 anda dapat mengizinkan lalu lintas pada port tersebut dengan:sudo ufw allow 8888/tcp .

Mengonfigurasi Browser Anda untuk Menggunakan Proxy #

Sekarang setelah Anda menyiapkan Squid, langkah terakhir adalah mengonfigurasi browser pilihan Anda untuk menggunakannya.

Firefox #

Langkah-langkah di bawah ini sama untuk Windows, macOS, dan Linux.

  1. Di pojok kanan atas, klik ikon hamburger untuk membuka menu Firefox:

  2. Klik pada ⚙ Preferences tautan.

  3. Gulir ke bawah ke Network Settings dan klik Settings... tombol.

  4. Jendela baru akan terbuka.

    • Pilih Manual proxy configuration tombol radio.
    • Masukkan alamat IP server Squid Anda di HTTP Host bidang dan 3128 di Port lapangan.
    • Pilih Use this proxy server for all protocols kotak centang.
    • Klik OK tombol untuk menyimpan setelan.

Pada titik ini, Firefox Anda telah dikonfigurasi dan Anda dapat menjelajahi Internet melalui proxy Squid. Untuk memverifikasinya, buka google.com , ketik “what is my ip” dan Anda akan melihat alamat IP server Squid Anda.

Untuk kembali ke pengaturan default, buka Network Settings , pilih Use system proxy settings tombol radio dan simpan pengaturannya.

Ada beberapa plugin yang juga dapat membantu Anda mengonfigurasi pengaturan proxy Firefox seperti FoxyProxy.

Google Chrome #

Google Chrome menggunakan pengaturan proxy sistem default. Alih-alih mengubah setelan proxy sistem operasi, Anda dapat menggunakan addon seperti SwitchyOmega atau memulai browser web Chrome dari baris perintah.

Untuk meluncurkan Chrome menggunakan profil baru dan terhubung ke server Squid, gunakan perintah berikut:

Linux :

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

macOS :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

Windows :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

Profil akan dibuat secara otomatis jika tidak ada. Dengan cara ini Anda dapat menjalankan beberapa instance Chrome secara bersamaan.

Untuk memastikan server proxy berfungsi dengan baik, buka google.com , dan ketik "apa ip saya". IP yang ditampilkan di browser Anda harus menjadi alamat IP server Anda.


Ubuntu
  1. Cara menginstal dan mengkonfigurasi Proxy Squid di Ubuntu 20.04

  2. Cara Menginstal dan Mengkonfigurasi Squid 3 di Ubuntu

  3. Cara menginstal dan mengkonfigurasi Tinyproxy di Ubuntu 14.04

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Squid Proxy di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Squid Proxy di CentOS 7