Proxy Server
Proxy Server merupakan sebuah komputer server atau program computer yang dapat bertindak sebagai computer lainnya untuk melakukan request terhadap content dari internet atau intranet.
Proxy Server bertindak sebagai gateway terhadap dunia Internet untuk setiap komputer. Seorang pengguna komputer yang
berinteraksi dengan internet melalui sebuah proxy server tidak akan mengetahui bahwa sebuah proxy server sedang menangani request yang dilakukannya. Selain itu proxy server juga dapat digunakan untuk mengamankan jaringan pribadi yang dihubungkan ke sebuah jaringan public (seperti halnya internet).
Dari definisi diatas dapat disimpulkan bahwa proxy dapat berfungsi sebagai berikut :
- Menyimpan cache dari internet, sehingga apabila client lain melakukan request link yang telah diakses oleh client sebelumnya maka link tersebut akan di ambil dari proxy server bukan dari Internet. Hal ini membuat kuota internet yang digunakan lebih hemat.
- Mengamankan jaringan pribadi yang terhubung langsung ke jaringan internet.
- Melakukan bloking situs atau website yang tidak diinginkan, baik itu menggunakan system whitelist maupun blacklist.
Pada artikel ini, akan digunakan fungsi bloking dari proxy untuk memblokir beberapa domain. Berikut bentuk topologi Proxy Server yang akan dibuat :

1. Nyalakan Server/VirtualMachine pada aplikasi VirtualBox lalu login menggunkan user administrator yaitu "root". Pastikan Server yang ada telah dikonfigurasi Routing, DNS dan WEB Server sebelumnya.
2. Kali ini, gunakan Server Debian 9.5 dalam mode offline (tidak terhubung ke internet) oleh karena itu sebelumnya perlu membuat domain yang akan diblokir yaitu: "detik.com".

3. Masuk ke directory bind untuk melakukan penambahan pada DNS dengan cara mengetikkan perintah berikut :

4. Selanjutnya edit file named.conf.local dengan mengunakan perintah berikut :

5. Arahkan ke script paling bawah, kemudian tambahkan script berikur :

6. Save dengan cara menekan Ctrl+X , lalu tekan Y, kemudian Enter
7. Copy file db.local ke db.proxy dengan menggunakan perintah:

8. Lanjut untuk mengedit file db.proxy dengan mengetikkan perintah :

9. Maka akan muncul tampilan seperti berikut :

10. Edit script di dalam file db.proxy menjadi :

11. Save dengan cara menekan Ctrl+X , lalu tekan Y, kemudian Enter
12. Berikutnya edit file db.ip dengan menggunakan perintah berikut :

13. Maka akan muncul tampilan berikut :

14. Arahkan ke script paling bawah, kemudian tambahkan scrip berikut :

15. Save dengan cara menekan Ctrl+X , lalu tekan Y, kemudian Enter
16. Restart bind9 dengan menggunakan perintah berikut :

17. Pastikan hasilnya OK

18. Kemudian untuk mengecek apakah domain detik.com telah berhasil dibuat, pertama lakukan test nslookup pada ip address yang digunakan, dengan menggunakan perintah berikut :

19. Jika berhasil maka nama domain detik.com akan tertera seperti gambar berikut :

20. Kemudian yang ke dua pastikan nama domain detik.com bisa melakukan test nslookup dengan menggunakan perintah berikut :

21. Jika tampil seperti gambar berikut maka nama domain detik.com dalam pengecekan nslookup telah berhasil.

22. Kemudian yang ke tiga test ping pada domain detik.com dengan menggunakan perintah berikut : ping detik.com lalu tekan Enter
23. Jika hasilnya reply seperti gambar berikut, maka nama domain detik.com telah berhasil dibuat :
Tekan Ctrl+C untuk menghentikan proses PING

24. Kemudian pindah directoy dengan menggunaka perintah cd. Sepertipada gambar berikut :

25. Daftarkan DVD 3 Debian 9,5 (paket aplikasi Proxy Server yaitu Squid terdapat pada DVD 3 Debian 9,5). Dengan cara mengetikan perintah berikut :

26. Jika muncul seperti tampilan pada gambar di bawah ini, JANGAN TEKAN ENTER DULU. masukkan DVD-3 terlebih dahulu

27. Klik Devices -> Optical Drives -> Choose Disk image...
28. Kemudian pilih debian-9.5.0-i386-DVD-3, lalu klik Open

29. Jika muncul seperti tampilan pada gambar di bawah ini, klik Force Unmount.

30. Kemudian tekan ENTER

31. Sekarang Update sistemnya menggunakan perintah : apt-get update -> lalu tekan Enter

32. Kemudian install paket pendukung dari aplikasi Proxy Server dengan perintah :

33. Jika muncul pesan DVD Binary-2, masukkan Debian DVD-2
34. Klik Devices -> Optical Drives -> Choose disk image...
35. Pilih debian-9.5.0-i386-DVD-2 kemudian klik Open 
36. Jika muncul pertanyaan seperti ini, klik Force Unmount

37. Kemudian tekan ENTER 
38. Kemudian install paket aplikasi Proxy Server yaitu squid dengan menggunakan perintah berikut :

39. Apabila muncul pesan DVD Binary-3 seperti gambar di bawah ini, maka masukkan dvd debian-9.5.0-i386-DVD-3.iso.
40. Klik Devices -> Optical Drives -> Choose disk image...

41. Pilih debian-9.5.0-i386-DVD-3 kemudian klik Open

42. Jika muncul seperti tampilan pada gambar di bawah ini, klik Force Unmount.

43. Kemudian Tekan ENTER
44. Apabila muncul pesan DVD Binary-1 seperti gambar di bawah ini, maka masukkan dvd debian-9.5.0-i386-DVD-1.iso

45. Klik Devices -> Optical Drives -> Choose disk image ....
46. Pilih debian-9.5.0-i386-DVD-1 kemudian klik Open

47. Jika muncul seperti tampilan pada gambar di bawah ini, klik Force Unmount.
48. Kemudian lanjut mengedit file squid.conf dengan cara mengetikkan perintah :

49. Maka akan muncul tampilan seperti berikut :

50. Sekarang cari script yang akan diedit yaitu script http_port 3128. Cari script tersebut dengan cara menekan Ctrl+W, maka akan muncul kolom Search:. Kemudian ketikkan script yang dicari yaitu : http_port 3128 lalu tekan Enter

51. Maka secara otomatis script http_port 3128 akan muncul.

52. Didepan script http_port 3128 tambahkan kata transparent , Kemudian tekan Enter lalu tambahkan script berikut :
cache_mem 16 mb
cache_mgr
This email address is being protected from spambots. You need JavaScript enabled to view it.
visible_hostname This email address is being protected from spambots. You need JavaScript enabled to view it.
acl situs dstdomain .detikcom
http_access deny situs
acl lan src 192.168.77.0/29
http_access allow lan
http_access allow all

53. Masih pada script yang sama, cari http_access deny all dengan cara menekan Ctrl+W lalu ketikkan http_access deny all, lalu tekan Enter

54. Maka secara otomatis akan muncul script http_access deny all, seperti gambar berikut : 
55. Setelah itu perhatikan script http_access deny all. Kemudian blokir script tersebut dengan cara menambahkan tanda pagar dibelakangnya mejadi :
#http_access deny all
Seperti gambar berikut :

56. Save dengan cara menekan Ctrl+X , lalu tekan Y, kemudian Enter
57. Restart squid dengan menggunakan perintah berikut :

58. Pastikan hasilnya OK

59. Setelah itu buka file routing dengan cara mengetikkan perintah berikut :

60. Maka akan muncul tampilan berikut :

61. Kemudian di atas script iptables –t nat –nvL tambahkan script berikut :
iptables -t nat -A PREROUTING -s 192.168.77.0/29 -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

62. save dengan cara menekan Ctrl+X , lalu tekan Y, kemudian Enter
63. Restart routing dengan menggunakan perintah :

64. Pastikan hasilnya seperti berikut :

65. Buka browser pada client, lalu ketikkan nama domain yang diblokir detik.com pada address bar lalu tekan Enter. 
66. Jika berhasil, maka akan muncul tampilan ERROR seperti berikut. tampilan ERROR menandakan client tidak dapat mengakses situs tersebut di karenakan adanya pemblokiran dari proxy.

Sumber : TKJClub





