Jumat, 04 Mei 2012

SQUID dan IP Tables

SQUID dulu yaa
Squid sering diartikan secara pendek sebagai proxy. Lalu apa itu proxy? Squid sebagai proxy dapat dimanfaatkan untuk berbagai kebutuhan, antara lain 3 hal berikut. Pertama, komputer yang menjalankan Squid dapat bertindak sebagai gateway (gerbang atau jalur khusus) ke Internet bagi komputer lain dalam jaringan lokal. Kedua, Squid sebagai cache, artinya dapat berfungsi untuk menampung informasi (web) yang pernah diakses sebuah komputer, sehingga mempercepat akses komputer lainnya ke isi web tersebut. Ketiga, Squid sebagai filter atau penyaring terhadap pengaksesan web-web yang tidak diinginkan, misalnya web berisi pornografi.
Bagaimana agar setiap pengguna dipastikan mengakses Internet melalui Squid? Untuk ini kita dapat menerapkan transparent proxy. Transparent proxy dapat menggunakan gabungan antara Squid dengan Ipchains. Dengan transparent proxy, setiap Browser pada komputer yang menggunakan gateway ini secara otomatis melewati proxy.

Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, squid menangani semua permintaan tunggal (single), non-blocking, I/O-driven proses.

Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.

Squid mendukung SSL, access kontrol yang banyak, dan full request logging. Dengan menggunakan lightweight internet cache protokol, squid cache dapat dibuat dalam suatu hirarki atau mesh untuk meningkatkan penghematan bandwidth.

Squid terdiri dari program server utama squid, sebuah Domain Name System lookup (program dnsserver), beberapa program tambahan untuk permintaan menulis ulang dan melakukan authentication, dan beberapa tools management client. Ketika squid dijalankan, itu akan menambah jumlah proses dnsserver, masing-masing bertugas sendiri-sendiri, blocking Domain Name System (DNS) lookup. Ini akan mengurangi waktu tunggu DNS lookups.

Internet Object caching adalah suatu cara untuk menyimpan hasil permintaan internet-object. (seperti, data yang ada dari HTTP, FTP, dan ghoper protokol) untuk membuat sistem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth.

Untuk menginstal squid sebagai transparent proxy dianjurkan untuk memakai linux ataupun varian UNIX lainnya, misal : freebsd,openbsd (pilihan tergantung kesukaaan aja), walaupun di windows juga bisa, tapi tidak dianjurkan untuk masalah kestabilan.


nah baru IP Tables

ok, langsung aja..


pertama ane bakal jelasin yg namanya iptables. Iptables adalah salah satu tools firewall default pada system operasi linux. Iptables ini bekerja baik di kernel 2.4.x-2.6.x sedangkan untuk kernel 2.2.x masih menggunakan ipchains. Perintah 'iptables' digunakan untuk mengelola, memaintain, menginspeksi rule-rule IP packet filter dalam kernel linux. di sini ane mencoba berbagi sedikit cara mengkonfigurasi firewall pada iptables di sistem operasi linux, khususnya distribusi ubuntu.


Pada ubuntu, biasa telah terinstall iptables secara default.


Konsep chain :
1. INPUT
=> semua paket yang masuk ke komputer melalui chain/rantai ini.
2. OUTPUT
=> semua paket yang kelua ke komputer melalui chain/rantai ini.
3. FORWARD
=>paket data yang diterima dari satu jaringan dan diteruskan ke jaringan lainya.


Perintah umum iptables :
$iptables [-t table] command [match] [target/jump]


Berikut beberapa option dasar yang cukup sering dalam mengkonfigurasi iptables :
• -A
Tambahan aturan ini ke rantai aturan yang ada. Rantai atau chain yang valid adalah INPUT, FORWARD, dan OUTPUT. Biasanya lebih banyak menggunakan rantai INPUT yang berdampak pada paket data yang masuk


• -L
Memperlihatkan daftar aturan yang telah dipasang di iptables.


• -m state
Menjelaskan daftar dari kondisi / state bagi aturan untuk di bandingkan.


Beberapa state yang valid, adalah :
NEW => sambungan baru dan belum pernah terlihat sebelumnya
RELATED => sambungan baru, tapi berhubungan dengan sambungan lain telah diizinkan.
ESTABLISHED => sambungan yang telah terjadi.
INVALID => lalu lintas paket data yang karena berbagai alasan tidak bisa diidentifikasi


• -m limit
Dibutuhkan oleh aturan jika ingin melakukan pembandingan dan pencocokan dalam waktu / jumlah tertentu. Mengizinkan penggunaan option –limit. Berguna untuk membatasi aturan logging.


• --limit
Kecepatan maksimum pencocokan, diberikan dalam bentuk angka yang diikuti oelh ”/seconf”,”/minute”,”/hour”, atau ”/day” tergantung seberapa sering kita ingin melakukan pencocokan aturan. Jika option ini tidak digunakan maka secara defaultnya adalah ”3/hour”


• -p
Protokol yang digunakan untuk sambungan.


• --dport
Port tujuan yang digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu batasan jangkauan ditulis sebagai start:end, yang akan mencocokan semua port start sampai end


• -j
Jump ke target yang spesifik. Iptables mempunyai empat target default, yaitu


ACCEPT
->Accept / menerima paket dan berhenti memproses aturan dalam rantai aturan ini.


REJECT
->Reject /tolak paket data dan beritahu ke pengirim bahwa aturan firewall menolak paket data tersebut, stop pemrosesan aturan dalam rantai aturan ini


DROP
->Diam-diam mengacuhkan paket ini, dan stop pemrosesan aturan di rantai aturan ini.


LOG
->Log/catat paket, dan teruskan pemrosesan aturan di rantai aturan ini.
->Mengijinkan penggunaan option --log –prefix dan --log -level


• --log –prefix
Jika pencatatan dilakukan, letakan text atau tulisan sebelum catatan.


• --log –level
Pencatatan menggunakan syslog level.


• -i
Melakukan pencocokan jika paket yang masuk dari interface tertentu.


• -I
Memasukan aturan ke iptables.


• -v
Menampilkan lebih banyak informasi di layar




Option diatas adalah hanya sedikit dari option yang terdapat pada iptables. Silakan pembaca kembangan sendiri.




Untuk dapat melihat manual iptables, silakan ketik perintah ini pada terminal :


$man iptables


Manualnya terlihat seperti ini :







Perintah dasar Iptables :
1. Untuk melihat aturan yang sudah ada di iptables :
$iptables -L
Jika komputer baru diinstall, aturan yang terpasang akan terlihat seperti ini :





2. Untuk mengijinkan sesi sambungan yang terbentuk untuk menerima lalu lintas paket data
$iptables -A INPUT -m state –state ESTABLISHED, RELATED -j accept
Contohnya kita akan mengijinkan semua lalu lintas paket data di jaringan untuk masuk adalah sebagai berikut :
$iptables -A INPUT -p tcp –dport 80 -j ACCEPT
Contohnya kita akan mengijinkan semua lalu lintas paket data di jaringan untuk masuk adalah sebagai berikut :
$iptables -A INPUT -p tcp –dport 80 -j ACCEPT





Contohnya lain kita akan mengijinkan lalu lintas paket data masuk ke defaut port SSH nomor 22, maka harus mengizinkan semua TCP paket data masuk ke port 22, perintahnya :
$iptables -A INPUT -p tcp --dport ssh -j ACCEPT


Dari perintah diatas, kita dapat mengetahui bahwa aturan iptables tersebut mangatur agar masukan aturan ini ke rantai input (-A INPUT) artinya kita melihat lalu lintas paket data yang masuk cek protokol yang digunakan adalah TCP (-p tcp). Jika TCP, apakah paket data menuju port SSH (--dport ssh). Jika ya, maka paket diterima,


3. Untuk melakukan pemblokiran paket data.
Apabila aturan telah memutuskan untuk menerima paket data (ACCEPT), maka aturan selanjutnya tidak akan berefek pada paket data tersebut. Karena aturan yang kita buat mengijinkan SSH dan Web traffic, selama aturan untuk memblok semua traffic kita letakan terakhir sesudah aturan mengijinkan SSH dan Web, maka kita akan tetap dapat menerima traffic SSH dan Web yang kita inginkan. Jadi kita harus menambahkan (-A) aturan untuk mem-block traffic di akhir.
Perintahnya :
$iptables -A INPUT -j DROP



4. Untuk melakukan pencatatan paket yang di log , perintah yang paling cepat adalah :
$iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7


5. Untuk menyimpan konfigurasi iptables
Jika kita booting komputer yang kita gunakan, maka apa yang kita lakukan ini akan hilang. Kita pun harun mengetikkan ulang semua perintah yang kita masukan satu per satu ketika komputer hidup. Agar lebih effesien, kita dapat menggunakan iptables-save dan iptables-restore untuk menyimpan dan merestore iptables
Kita dapat menyimpan konfigurasi iptables agar di start setiap kali booting menggunakan perintah :


$sh -c "iptables-save > /etc/iptables.rules"


Setelah itu memodifikasi /etc/network/interfaces agar aturan iptables yang kita gunakan dapat berjalan secara automatis. Kita perlu mengetahui ke interface mana aturan yang akan digunakan. Biasanya menggunakan eth0. Untuk interface wireless, kita dapat mencek penggunaaannya mengunakan perintah,
$ iwconfig




Kita perlu mengedit file /etc/network/interfaces misalnya menggunakan perintah
$ sudo nano /etc/network/interfaces


Apabila telah menemukan nama interface yang digunakan, maka di akhir interface kita dapat menambahkan perintah,
pre-up iptables-restore < /etc/iptables.rules
Selanjutnya di bawahnya kita tambahkan perintah sesudah interface down, menggunakan perintah,
post-down iptables-restore < /etc/iptables.rules

Hasil gambarnya :

6. Untuk menonaktifkan atau mematikan firewall, maka perintahnya :
$iptables –F


Perintahnya akan seperti dibawah ini :




Adapun jika kesulitan dalam menkonfigurasi iptables secara command line, pada ubuntu telah tersedia perangkat lunak yang dapat mengkonfigurasi firewall secara menggunakan GUI yaitu firestater.


- cara menginstall firestarter di ubuntu 8.04
• ketik perintah ini di terminal
• sudo apt-get install firestater


- tampilan dari firestarter pada saat memulai:











note : Iptables merupakan salah satu perangkat lunak firewall yang bekerja pada sistem operasi linux. Walaupan bersifat free,namun iptables cukup powerfull asalkan aturan dan kebijakan yang diterapkan di firewall tersebut sangat tepat dalam melindungi jaringan..

Tidak ada komentar:

Posting Komentar