Modul Proxy Server dengan Squid, Squid Report dengan Sarg dan DNS Server dengan Bind

17
Konfigurasi Proxy Server menggunakan Squid Proxy Server menggunakan squid dapat difungsikan sebagai : 1. Penyimpan halaman web di proxy untuk mempercepat akses internet. 2. Akses control internet berdasarkan IP Address menggunakan 2 (dua) network yang berbeda dapat difungsikan juga sebagai router dengan IP Forwarding, 3. Blacklist situs terlarang secara manual 4. Membatasi ukuran download file dengan extension tertentu dan hanya berlaku pada jam tertentu 5. Pesan error dalam format bahasa Indonesia 6. Rule atau aturan untuk memperbolehkan akses internet hanya protocol tertentu saja. Lankah – langkah yang dilakukan : Saya anggap untuk penginstalan Sistem Operasi sudah bisa. 1. Login ke server menggunakan nama dan password yang sudah di buat pada saat penginstalan sistem operasi, untuk lebih jelasnya lihat gambar di bawah ini :

Transcript of Modul Proxy Server dengan Squid, Squid Report dengan Sarg dan DNS Server dengan Bind

Konfigurasi Proxy Server menggunakan Squid

Proxy Server menggunakan squid dapat difungsikan sebagai :

1. Penyimpan halaman web di proxy untuk mempercepat akses internet.

2. Akses control internet berdasarkan IP Address menggunakan 2 (dua) network yang berbeda dapat difungsikan juga sebagai router dengan IP Forwarding,

3. Blacklist situs terlarang secara manual4. Membatasi ukuran download file dengan extension tertentu dan

hanya berlaku pada jam tertentu5. Pesan error dalam format bahasa Indonesia6. Rule atau aturan untuk memperbolehkan akses internet hanya

protocol tertentu saja.

Lankah – langkah yang dilakukan :

Saya anggap untuk penginstalan Sistem Operasi sudah bisa.

1. Login ke server menggunakan nama dan password yang sudah di buat pada saat penginstalan sistem operasi, untuk lebih jelasnya lihat gambar di bawah ini :

2. Jika ingin masuk sebagai root bisa dengan perintah sudo bash (enter) dan masukkan passwordnya.- Untuk membuat password root baru, ketika sudah masuk

sebagai root langsung ketik passwd (enter), masukkan password lama, setelah itu disuruh untuk memasukkan password baru, kemudian disuruh untuk mengulangi password yang baru dibuat.Gambar dibawah memperlihatkan hasil ketika kita langsung masuk sebagai root.

Okeh selanjutnya mari kita lanjutkan dengan menginstall aplikasi squidnya.

3. Install aplikasi squid melalui terminal (ingat harus terkoneksi keinternet) untuk penjelasan tentang IP Address Static buka modul pengelamatan IP Address static:- Sudo apt-get install squid dan tunggu sampai proses

penginstalan selesai.- Setelah selesai kemudian

4. Edit file squid yang berada di :- File : /etc/squid- kemudian untuk melihat isi yang ada dalam folder squid

bisa menggunakan ls, ls –l atau ls –al

untuk lebih jelasnya lihat gambar dibawah :

-

5. Untuk mengedit file squid.conf bisa dengan perintah nano squid.conf (ingat : perintah disamping bisa berjalan jika sudah berada di dalam folder squid), jika masih diluar foldersquid ketikkan perintah : nano /etc/squid/squid.conf (enter).lebih jelasnya seperti gambar dibawah ini :

isi dari squid.conf bisa dilihat dibawah dan untuk penjelasanmasing – masing bagian dapat dilihat di file README Squid.txt:

#------------------- Basic Configuration -------------------------#http_port 172.20.2.13:3128 transparenticp_port 3130icp_hit_stale on

#dns_nameservers 172.20.2.1#append_domain .ceraput.intra.net#visible_hostname ceraput#unique_hostname krisna.intra.net

hierarchy_stoplist cgi-bin ? localhost .js .jspacl youtube dstdomain .youtube.comacl QUERY urlpath_regex cgi-bin \? localhostno_cache deny QUERYno_cache allow youtube

mime_table /usr/share/squid/mime.confpid_filename /var/run/squid.pid#---------------------- End Basic Configuration ------------------#

#---------------------- Deny Site --------------------------------#acl deny_site url_regex –i "/etc/squid/deny_site.list"http_access deny deny_siteno_cache deny deny_site#---------------------- END Deny Site ----------------------------#

#--------------------- Access Control List -------------------------#acl all src 0.0.0.0/0.0.0.0 #all networkacl manager proto cache_object #manager object cachingacl hotspot src 172.20.0.0/255.255.255.0 #hotspot network acl warnet src 172.20.1.0/255.255.255.0 #warnet networkacl dns src 172.20.2.0/255.255.255.248 #dns-server networkacl proxy src 172.20.2.12/255.255.255.252 #proxy networkacl localhost src 127.0.0.1/255.255.255.255 #localhost network

acl SSL_ports port 443 8443 563 777

acl Safe_ports port 21 25 70 80 81 110 119 210 443 acl Safe_ports port 563 777 1025-65535 6667 7000 10000acl Safe_ports port 280 6668 6669acl Safe_ports port 488acl Safe_ports port 591acl Safe_ports port 777acl lewat dst_as 4622 4761 4787 4795 4796 4855 4800 7587 7597 7713 9326 9340acl CONNECT method CONNECT

always_direct allow lewatalways_direct deny allclient_netmask 255.255.255.0client_netmask 255.255.255.248client_netmask 255.255.255.252#-------------------- Access Control List ---------------------------#

#-------- HTTP Access Allow ----------------#http_access allow manager localhosthttp_access allow hotspothttp_access allow warnethttp_access allow dnshttp_access allow proxyhttp_access allow localhost#-------- END HTTP Access Allow ------------#

#----------- HTTP Access Deny --------------#http_access deny managerhttp_access deny CONNECT !SSL_portshttp_access deny !Safe_portshttp_access deny CONNECThttp_access deny all#----------- END HTTP Access Deny ----------#

#------------ HTTPD Configuration ----------##httpd_accel_host virtual#httpd_accel_port 80#httpd_accel_with_proxy on#httpd_accel_uses_host_header on#----------- END HTTP Configuration -------#

#---------------- Proxy Cache Hardisk ------------------------#

memory_replacement_policy heap GDSFcache_replacement_policy heap LFUDAcache_mem 512 MBcache_dir aufs /var/squid/cache 80000 28 256 cache_dir aufs /var/squid/local/cache 80000 28 256 cache_swap_low 98cache_swap_high 99access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logcache_mgr [email protected]_effective_user ceraputcache_effective_group ceraputipcache_size 4096ipcache_low 98ipcache_high 99fqdncache_size 4096#--------------- END Proxy Cache Hardisk ----------------------#

#--------------- FTP Pattern Configuration --------------------#refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmodrefresh_pattern . 180 95% 120960 reload-into-ims override-lastmodredirect_rewrites_host_header off#--------------- END FTP Pattern Configuration ----------------#

#--------------- Log Configuration --------------------#buffered_logs offlog_icp_queries onlogfile_rotate 1log_fqdn off#-------------- END Log Configuration -----------------#

#-------------- Miscellaneous -------------------------#memory_pools offmaximum_object_size 128 MBmaximum_object_size_in_memory 8 KBquick_abort_min 0quick_abort_max 0quick_abort_pct 75shutdown_lifetime 10 secondforwarded_for offquery_icmp on

reload_into_ims onemulate_httpd_log offnegative_ttl 2 minutepipeline_prefetch onvary_ignore_expire onhalf_closed_clients offhigh_page_fault_warning 2nonhierarchical_direct onprefer_direct off#------------- END Miscellaneous -----------------------#

6. Setelah selesai megedit atau mengkonfigurasi squidnya, lakukan restart terhadap squid dengan perintah /etc/init.d/squid restart, squidnya sudah selesai tinggal melakukan testing utnuk melakukan testing buka browser dengankata kunci di google lagado proxy test, jika nama computer server kita masuk maka proxy yang kita buat sudah berjalan dengan normal.

7. Buat folder supaya proxy server bisa menyimpan sesuai dengan konfigurasi kita diatas di bagian :#---------------- Proxy Cache Hardisk ------------------------#

cache_dir aufs /var/squid/cache 80000 28 256 cache_dir aufs /var/squid/local/cache 80000 28 256

dengan perintah :- mkdir /var/squid/cache- mkdir /var/squid/local/cache

okeh selesai sudah.

Bagaimana kalau kita ingin melihat konfigurasi kita melalui webmin ???

oke bos akan saya jawab pertanyaan anda.

Langkah – langkah yang dilakukan untuk bisa melihat konfigurasi yangsudah kita lakukan dengan squid proxy adalah sebagai berikut :

1. Install packet webmin lewat terminal - Perintahnya : sudo apt-get install webmin dan tunggu

sampai selesai

- Setelah selesai : Misalkan IP Address dari eth0 : 172.20.2.13 maka dibrowser kita ketik https://172.20.2.13:10000 (enter), sehingga tampilannya seperti gambar dibawah ini :

Tampilan Login Webmin

Username : root

Password : sesuaikan dengan password yang dibuat tadi, Oke.

- Setelah login maka akan dibawa ke tampilan awal webmin seperti gambar dibawah ini :

Bingung ya mau ngapain??? Okeh lanjut yah

- Mari kita coba buka menu Server sehingga akan tampil seperti pada gambar dibawah ini dan lanjutkan dengan mengklik menu Squid Proxy Server:

- Selanjutnya mari kita telusuri satu persatu, untuk melihatapakah konfigurasi tempat penyimpanan sudah bener atau belum klik menu Cache Option maka akan tampil seperti gambar dibawah ini :

Okeh untuk folder penyimpanannya sudah pas dengan konfigurasi kita di atas.

- Selanjtunya kita akan membuat laporan / reports (harian, mingguan dan bulanan). Supaya kita bisa memantau situs-situs apa saja yang sudah di akses oleh client dengan bantuan aplikasi sarg, namun sebelum kita menggenerate dengan menu Squid Report Generator yang ada di Webmin, mari kita belajar melalui terminal terlebih dahulu.

Konfigurasi Sarg

Setelah proxy berjalan dengan lancar dengan menggunakan squid,maka kita perlu untuk memonitoring proxy tersebut. Hal-hal yang bisakita monitoring adalah aktifitas setiap user baik itu berupa alamatweb site yang dituju , jumlah bandwidth yang digunakan. Denganadanya report dalam bentuk web base maka akan memudahkan seorangadministrator untuk memantau jaringan internal.

1. Instalasi sargPastikan paket gcc sudah terinstal supaya bisa melakukankompilasi:Ketikkan di terminal perintah dibawah ini :[root@ceraput]#wget http://biznetnetworks.dl.sourceforge.net/sourceforge/sarg/sarg-2.2.5.tar.gz============================================================[root@ceraput]#tar -zxvf sarg-2.2.5.tar.gz[root@ceraput]#cd sarg-2.2.5[root@ftp sarg-2.2.5]#./configure

[root@ftp sarg-2.2.5]#make[root@ftp sarg-2.2.5]#make install

2. konfigurasi sarg:[root@ceraput]#nano /etc/sarg/sarg.confYang di hilangkan tanda pagarnya (uncomment) adalah :language Englishaccess_log /var/log/squid/acces.loggraphs yesgraph_days_bytes_bar_color orangetitle "Squid User Access Reports"output_dir /var/www/html/sarg-phpresolve_ip notopuser_sort_field BYTES reverseuser_sort_field BYTES reverselastlog 3remove_temp_files yesindex yesindex_tree fileoverwrite_report yestopsites_num 200topsites_sort_order CONNECT Dindex_sort_order Dreport_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloadsshow_successful_message yesshow_read_statistics yestopuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGEtopuser_num 0

3. Jalankan sarg untuk menyimpan log ke folder /var/www/html/sarg-php, dimana sekaligus akan membuat foldersarg-php:[root@ceraput]# /usr/bin/sarg -l /var/log/squid/access.log

Supaya perintah diatas berjalan secara otomatis maka sintakstersebut kita eksekusi lewat cron. Supaya reportnya lebih menarik maka kita bagi bersasarkan hari, minggu, dan bulan. Caranya adalah sebagai berikut :

Report harian:[root@ftp ~]#nano /usr/sbin/sarg-report-harianIsinya :#harian:#======#!/bin/bash#Get current dateTODAY=$(date +%d/%m/%Y)#Get one week ago todayYESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)/usr/bin/sarg -l /var/log/squid/access.log -o /var/www/html/sarg-php/harian -z -d $YESTERDAY-$TODAY/usr/sbin/squid -k rotateexit 0Report Mingguan:[root@ftp ~]#nano /usr/sbin/sarg-report-mingguanIsinya :#Mingguan:#========#!/bin/bash#Get current dateTODAY=$(date +%d/%m/%Y)#Get one week ago todayYESTERDAY=$(date --date "1 week ago" +%d/%m/%Y)/usr/bin/sarg -l /var/log/squid/access.log -o /var/www/html/sarg-php/mingguan -z -d $YESTERDAY-$TODAY/usr/sbin/squid -k rotateexit 0Report bulanan:[root@ftp ~]#nano /usr/sbin/sarg-report-bulananIsinya :#Bulanan:#========#!/bin/bash#Get current dateTODAY=$(date +%d/%m/%Y)#Get one week ago todayYESTERDAY=$(date --date "1 month ago" +%d/%m/%Y)

/usr/bin/sarg -l /var/log/squid/access.log -o /var/www/html/sarg-php/bulanan -z -d $YESTERDAY-$TODAY/usr/sbin/squid -k rotateexit 0Mengubah permission file report :[root@ftp sarg-php]# chmod 755 /usr/sbin/sarg-report-harian[root@ftp sarg-php]# chmod 755 /usr/sbin/sarg-report-mingguan[root@ftp sarg-php]# chmod 755 /usr/sbin/sarg-report-bulananEksekusi report secara manual :[root@ftp sarg-php]# /usr/sbin/sarg-report-harian[root@ftp sarg-php]# /usr/sbin/sarg-report-mingguan[root@ftp sarg-php]# /usr/sbin/sarg-report-bulanan

Perintah ini akan menghasilan report sesuai dengan output yang ada pada masing-masing sintaks.

Error yang sering terjadi :Pada saat perintah diatas dieksekusi sering terjadi error seperti dibawah, hal ini disebabkan oleh sintaks yang salah pada tanggal dan tanda “, dimana biasanya ditulis –date padahal seharusnya –date atau saat kopi paste tanda “ berubah jadi tanda titik .SARG: No records foundSARG: End

Setting contab:[root@ftp sarg-php]# crontab –eSupaya report di generate secara otomatis oleh sistem maka di crintab dibuat settingan berikut :00 00 * * * /usr/sbin/sarg-report-harian00 01 * * 1 /usr/sbin/sarg-report-minggu03 02 1 * * /usr/sbin/sarg-report-bulanan

4. HasilUntuk melihat hasil bisa dilihat di :

http://ip-server/sarg-php/ untuk kasus ini saya menggunakan IP Address : http://172.20.2.13/sarg-php/Tampilan menu utama :

Report harian :http://172.20.2.13/sarg-php/harian/

Aktifitas salah satu host

Konfigurasi Bind

Pengertian DNS BIND9Server yang berfungsi untuk memberikan sebuah penamaan dimana

sebuah IP diberikan sebuah nama/penamaan supaya lebih gampang di ingat dan penyebutan nya, dibandingkan dengan IP misal 192.168.10.1dan di beri penamaan slashgen.com” pasti kita lebih mudah mengingat slashgen.com dibandingkan dengan IP yang tadi jadi intinya DNS Server berfungsi untuk mempermudah dalam hal memberikan penamaan kepada sebuah IP agar mudah diingat.

Cara Kerja DNS BIND9

Secara sederhana cara kerja DNS bisa dilihat pada gambar berikut ini:

DNS menggunakan relasi client – server untuk resolusi nama.Pada saat client mencari satu host, maka ia akan mengirimkan queryke server DNS. Query adalah satu permintaan untuk resolusi nama yangdikirimkan ke server DNS.1. Pada komputer Client, sebuah program aplikasi misalnya http,

meminta pemetaan IP Address (forward lookup query). Sebuahprogram aplikasi pada host yang mengakses domain system disebutsebagai resolver, resolver menghubungi DNS server, yang biasadisebut name server.

2. Name server meng-cek ke local database, jika ditemukan, nameserver mengembalikan IP Address ke resolver jika tidak ditemukanakan meneruskan query tersebut ke name server  root server.

3. Terakhir barulah si client bisa secara langsung menghubungisebuah website / server yang diminta dengan menggunakan IPAddress yang diberikan oleh DNS server.

Jika permintaan tidak ada pada database,  name server akanmenghubungi server root dan server lainnya dengan cara sebagaiberikut :

1. Saat kita mengetikkan sebuah nama domain misalnya http://www. neon.cs.virginia.edu pada web browser,  maka aplikasi http (resolver) akan mengirimkan query ke Name Server DNS Server local atau DNS Server Internet Service Provider.

2. Awalnya name server akan menghubungi server root. Server root tidak mengetahui IP Address domain tersebut, ia hanya akan memberikan IP Address server edu.

3. Selanjutnya name server akan bertanya lagi pada server edu berpa IP Address domain neon.cs.virginia.edu.  Serveredu tidak mengetahui IP Address domain tersebut, ia hanyaakan memberikan IP Address server virginia.edu.

4. Selanjutnya name server akan bertanya ke server virginia.edu tentang  IP Address neon.cs.virginia.edu. Dan server virginia.edu hanya mengetahui dan memberikan jawaban berupa  IP Address server cs.virginia.edu

5. Selanjutnya name server akan bertanya ke server cs.virginia.edu tentang  IP Address neon.cs.virginia.edu.Dan barulah cs.virginia.edu mengetahui dan menjawab berapa IP Address domain neon.cs.virginia.edu.

6. Terakhir barulah computer client bisa secara langsung menghubungi domain neon.cs.virginia.edu dengan menggunakan IP Address yang diberikan oleh server cs.virginia.edu.

7. IP Address milik neon.cs.virginia.edu kemudian akan disimpan sementara oleh DNS server Anda untuk keperluan nanti. Proses ini disebut caching, yang berguna untuk mempercepat pencarian nama domain yang telah dikenalnya.

Cara Installasi

- Pertama – tama yang perlu anda lakukan terlebih dahuluadalah masuk ke dalam root, etc dengan cara buka terminalroot lalu ketikan perintah : su (enter) dan masukkanpassword root

- Tahap kedua adalah menginstall paket Bind9 telebih dahuludenagn menggunakan perintahApt-get install bind9

- apabila telah terinstall maka langkah berikutnya andamasuk ke directory bind dengan menggunakan perintahcd /etc/bindsetelah berada pada directory bind ketikan perintah :

- nano named.conf- nano ceraput.intra.net.db- nano named.conf.options- nano named.conf.local

note : untuk sintaksnya silahkan copy file yang sudah saya sertakan didalamcd

Kesimpulan

Jadi kesimpulannya DNS adalah hasil pengembangan dari metode pencarian hostname terhadap IP address di internet. Pada DNS client (resolver) mengirimkan queries ke name server (DNS). Name server akan menerima permintaan dan memetakan nama komputer ke IP address. Domain Name Space adalah pengelompokkansecara hirarki yang tebagi atas root-level domains, top-level domains, second-level domains, dan hostname.