authoryanuarakhid - 22 Jun 2021 • Baca 4 Menit

Tutorial Ubuntu 20.04 LTS : Cara Membuat Proxy Server Menggunakan Squid


Tutorial Ubuntu 20.04 LTS : Cara Membuat Proxy Server Menggunakan Squid

Proxy server memiliki tiga fitur penting yaitu sebagai content filtering, caching, dan Connection Sharing. Cara kerja proxy server sebenarnya cukup sederhana yaitu mula-mula user yang terkoneksi dengan proxy server melakukan request ke suatu jaringan tertentu, akan tetapi yang sebenarnya terjadi adalah proxy server tersebutlah yang melakukan request. Sehingga dapat dikatakan bahwa jika kita menggunakan proxy server lalu lintas jaringan kita akan cenderung lebih aman. Beberapa manfaat proxy server adalah :

  1. Menghemat Bandwidth Internet (Karena adanya fitur Caching)
  2. Memblokir Situs (Content Filtering)
  3. Keamanan (Request Dilakukan Oleh Proxy Server)
  4. Akses Internet terasa lebih cepat (Jika mengunjungi situs yang sama)

Tapi jangan pake proxy gratisan ya biasanya disana ada anunya 🤭 lebih baik buat sendiri ya kan ?

Pada postingan ini kita akan membuat proxy server menggunakan squid pada sistem operasi Ubuntu 20.04 LTS.

Install


Langkah awal sebelum instalasi paket lakukan update dan upgrade sistem.

$ sudo apt update && sudo apt upgrade

Setelah itu lakukan instalasi squid dengan perintah berikut. Tunggu proses instalasi hingga selesai.

$ sudo apt install squid

Settings Browser (Firefox)


Secara default proxy server running pada port 3128. Untuk penggunaan cukup mudah kalian tinggal ganti settingan network pada browser kalian dan arahkan ke alamat proxy server. Setting Proxy ini akan berbeda-beda sesuai dengan browser yang kalian pakai. Berikut merupakan konfigurasi proxy pada firefox web browser.

Masuk ke PreferencesNetworkSettings…

Network Settings Firefox Web Browser

Kemudian pilih Manual proxy configuration → Masukan HTTP Proxy (IP Address Proxy Server) dan Port Proxy (Default 3128).

Proxy Settings Firefox Web Browser

Setelah kita selesai melakukan konfigurasi browser agar memakai proxy server yang kita buat, jika kita mencoba melakukan akses ke internet maka secara default akan tidak bisa (Access Denied).

Panik Ga? Jangan Panik ya memang defaultnya seperti itu… 😁

By Default Internet access has been blocked

By Default Internet access has been blocked

By Default Internet access has been blocked

Tuh dilihat di access log proxynya pun begitu default nya memang si proxy gak ngebolehin akses… Btw nantinya lalu lintas akses internet akan tercatat pada log ini juga.

$ sudo tail -f /var/log/squid/access.log

Proxy Squid Access Log

Terus Gimana? Ya diconfig dulu lah… 🙃

Config


Untuk melakukan konfigurasi squid kita dapat melakukan edit pada file squid.conf

$ sudo nano /etc/squid/squid.conf

Agar nantinya kita bisa melakukan akses internet dari web browser. Terlebih dahulu kita lakukan pendefinisian acl (Access Control List) network. Definisikan acl pada line berikut. Sesuaikan src addressnya dengan network yang akan diperbolehkan untuk menggunakan proxy server. Contoh disini network yang sedang saya pakai adalah 10.1.1.0/24.

Awas ya jangan sampe salah… 🙂

# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
acl jaringan_saya src 10.1.1.0/24

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
include /etc/squid/conf.d/*

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow jaringan_saya

# And finally deny all other access to this proxy
http_access deny all

Terakhir masih didalam file yang sama, definisikan dns server yang kalian sedang pakai.

#  TAG: dns_nameservers
#       Use this if you want to specify a list of DNS name servers
#       (IP addresses) to use instead of those given in your
#       /etc/resolv.conf file.
#
#       On Windows platforms, if no value is specified here or in
#       the /etc/resolv.conf file, the list of DNS name servers are
#       taken from the Windows registry, both static and dynamic DHCP
#       configurations are supported.
#
#       Example: dns_nameservers 10.0.0.1 192.172.0.4
#Default:
# Use operating system definitions
dns_nameservers 8.8.8.8 8.8.4.4

Oke jika kalian sudah yakin benar dalam melakukan konfigurasi, save dan exit lalu restart service squidnya.

Jangan panik ya memang agak sedikit lama ini restartnya 🙂 kalau pengen cepet bisa direload saja sudo systemctl reload squid.service.

Lah bedanya apa ngab ? Nih Baca…

$ sudo systemctl restart squid.service

Pengujian


Setelah semua konfigurasi berhasil dilakukan sekarang saatnya untuk melakukan pengujian. Akses internet yang semula semua terblokir maka sekarang sudah bisa teratasi.

Internet Access with Proxy Squid Server

Internet Access with Proxy Squid Server

Sebenarnya masih banyak konfigurasi dan parameter yang ada pada squid proxy. Mungkin yang menyebabkan service squid ini lama saat direstart adalah karena banyaknya konfigurasi yang ada pada squid proxy.

Apa Selanjutnya ?

Tentang Penulis‎ ‏‏

author

Akhid Yanuar A.F

Linux System Administration | Computer Network | Operating System | Cloud Computing | IT Security | Linux Enthusiast 🐧

Find Me