16 Oktober 2009

Security Networking

IPTABLES Firewall canggih dalam Linux

IP TABLES
IPTables memang bukanlah sebuah firewall yang mudah untuk dikuasai dan dimengerti. Namun ketika Anda sudah mengetahui apa yang ada di baliknya, maka IPTables akan sangat membantu Anda dalam mengamankan perangkat komputer dan jaringan Anda. Mungkin kira-kira begitulah kesimpulan yang dapat ditangkap dari fasilitas canggih nan gratis ini. Anda tidak akan mungkin cukup untuk menguasainya dalam 24 jam atau 36 jam. Anda harus terus-menerus mencoba dan membaca apa saja fasilitas dan keunggulan yang ada di dalamnya. Plus Anda juga harus mengetahui sedikit mengenai sifat-sifat dari komunikasi menggunakan protokol TCP/IP. Dalam artikel kali ini, akan dibahas mengenai cara instalasi IPTables secara garis besar dan juga bagaimana proses penjagaan keamanan dilakukan oleh program IPTables.
1.Cara Penginstallan IP TABLES
IPTables terbilang mudah untuk dinstal di mesin Linux Anda. Ada dua komponen yang harus Anda perhatikan dalam menyediakan fasilitas IPTables di komputer Anda. Hal pertama yang harus Anda perhatikan adalah tersedia atau tidaknya fasilitas ini di dalam sistem operasi yang Anda gunakan. Atau dengan kata lain, tersedia atau tidak modul kernel untuk mengaktifkan fasilitas ini. Konfigurasi kernel merupakan salah satu titik penting yang harus Anda periksa terlebih dahulu. Untuk dapat menjalankan fasilitas IPTables yang begitu komplit dan canggih, Anda memerlukan minimal sebuah kernel Linux versi 2.4.x atau versi-versi di atasnya. Karena di dalam kernel-kernel tersebut sudah ada modul IPTables yang tinggal diaktifkan saja. Versi kernel ini merupakan hal yang mutlak untuk diperhatikan. Jika versinya di bawah 2.4.x, mungkin saja IPTables dapat berjalan. Namun menurut situs www.unixreview.com, Anda disarankan agar tidak menggunakannya untuk keperluan serius seperti misalnya untuk menangani beratus-ratus pelanggan dan pengguna jaringan, untuk melindungi jaringan penting yang banyak data rahasianya, dan banyak lagi. Modul IPTables dalam kernel, merupakan bagian dari framework Netfilter yang ada pada kernel 2.4.x. Modul ini dapat memberikan Anda kemampuan filtering dan manajemen dari paketpaket IP yang masuk maupun keluar. Anda jangan terkecoh antara istilah Netfilter dengan IPTables itu sendiri. Banyak yang beranggapan fasilitas Netfilter sama dengan IPTables, namun sebenarnya Netfilter merupakan sekumpulan dari skrip dan modul programming pada level kernel yang membentuk sebuah sistem. Sistem ini kemudian banyak melakukan pekerjaan seputar paket-paket yang keluar masuk ke dan dari jaringan.
Modul-modul yang ada di dalam Netfilter kemudian dapat melakukan macam-macam terhadap paketpaket tersebut. Meneruskannya atau men-drop-nya, mengubah tujuan dan arah perjalanannya, memasukkannya dalam antrian apabila diperlukan, atau hanya benar-benar membiarkannya lewat, semua itu dapat dilakukan oleh Netfilter beserta modul-modulnya. Salah satu modulnya ini adalah IPTables. Dalam melakukan instalasi dan mengaktifkan fasilitas IPTables, Anda memerlukan modul-modul pendukung lainnya untuk juga terinstal dalam PC Anda. Modul-modul tersebut memiliki batas inimal versi yang dapat bekerja sama dengan IPTables. Modul-modul pendukung dan versi minimal untuk dapat mengaktifkan IPTables adalah sebagai berikut:
_ GNU C 2.91.66
_ GNU Make 3.77
_ binutils 2.9.1.0.25
_ util-linux 2.10o
_ modutils 2.4.2
_ e2fsprogs 1.19
_ reiserfsprogs 3.x.0b
_ pcmcia-cs 3.1.21
_ PPP 2.4.0
_ isdn4k-utils 3.1pre1
Beberapa dari modul-modul ini seperti pcmcia-cs 3.1.21, isdn4k-utils 3.1pre1, dan reiserfsprogs 3.x.0b hanya perlu diinstal jika Anda menggunakan fasilitasfasilitas tersebut. Seperti misalnya PCMCIA tidak akan Anda perlukan jika Anda menggunakan sebuah server untuk membuat IPTables ini. Anda dapat memperoleh informasi lebih lanjut di direktori /usr/src/linux/Documentation/ Changes di setiap mesin Linux Anda. Setelah semua modulnya terinstal dengan baik, jangan lupa untuk melakukan back-up terhadap kernel Anda yang sebelum di modifikasi. Tahap ini sangat penting karena jika terjadi masalah pada kernel yang dimodifikasi, Anda tidak akan kehilangan kernel yang tidak bermasalah sebelumnya. Konfigurasi di LILO atau GRUB jangan lupa di-back-up juga untuk berjaga-jaga jika masalah booting terjadi pada kernel yang baru. Setelah semuanya selesai dilakukan, Anda telah siap melakukan compiling kernel untuk mengaktifkan fasilitas IPTables pada modul Netfilter. Pastikan Anda telah berada di directory /usr/src/ linux, atau di manapun Anda meletakkan source kernel Anda. Anda juga harus login sebagai root pada komputer yang ingin Anda modifikasi kernelnya. Ikutilah semua instruksi pada file README yang ada pada directory source kernel Anda sampai Anda dianjurkan untuk melakukan perintah make. Anda dapat menggunakan perintah make config atau make menuconfig atau make xconfig untuk masuk ke dalam menu utama dari pengaturan kernel. Yang paling nyaman digunakan biasanya adalah make menuconfig atau make xconfig karena memungkinkan Anda melakukan modifikasi kernel dengan lebih cepat. Karena setiap PC atau server berbeda-beda, maka yang perlu untuk diperhatikan dalam modifikasi kernel di semua PC adalah Anda harus mengaktifkan kartu-kartu jaringan, perangkat-perangkat SCSI, dan perangkat-perangkat lainnya yang berhubungan dengan jaringan. Setelah masuk ke dalam menu pengaturannya, aktifkan fasilitas Netfilter dan IPTables support dengan cara memilih menu Networking Options, kemudian berilah tanda * pada menu Network packet filtering (replaces Ipchains). Setelah itu akan muncul lagi banyak opsi, kemudian pilihlah opsi IP : Netfilter Configuration. Setelah masuk ke dalam subbagiannya, pilihlah opsi IP tables support (required for filtering/masq/NAT). Aktifkan fasilitas ini dengan memberi tanda * pada opsi ini. Untuk fasilitas lainnya, jika tidak yakin akan keperluannya, Anda dapat membuatnya menjadi hanya berfungsi sebagai modul saja, tidak terinstal ke dalam kernel yang aktif. Tetapi suatu saat jika ingin digunakan lagi Anda tidak perlu repotrepot meng-compile ulang kernel ini. Kini pengaturan Anda sudah cukup untuk mengaktifkan fasilitas IPTables. Simpanlah konfigurasi kernel ini dan keluarlah hingga ke halaman prompt. Setelah itu gunakan perintah make bzImage, make modules, make module_ install. Sekali lagi pastikan konfigurasi kernel Anda yang lama tersimpan baik dan terdaftar pada script boot loader. Setelah semuanya beres, reboot-lah komputer Anda dan Anda sudah mendapatkan kernel yang baru.
Langkah selanjutnya installah program IPTables yang dapat Anda download di situs www.netfilter.org. Langkah instalasi program ini pun terbilang cukup mudah dan sederhana seperti layaknya menginstal program-program biasa. Setelah selesai, maka fasilitas IPTables dapat Anda gunakan.

2. Filtering
IPTables memecah-pecah penanganan lalu-lintas paket dengan menggunakan acuan dari tiga buah tabel. Setiap tabel terdiri dari beberapa buah Chain atau dengan kata lain adalah seperangkat aturan yang berantai. Peraturan yang kita buat dalam firewall tersebut adalah terbentuk dari beberapa chain. Ketiga tabel penting tersebut adalah Filter table, NAT table, dan Mangle table. Filter table merupakan tabel yang berisikan seperangkat aturan dan Chain yang berfungsi melakukan penyaringan paket baik yang masuk maupun keluar. NAT table berfungsi sebagai tabel acuan dalam memodifikasi atau melakukan translate paket yang keluar masuk perangkat. Modifikasi tersebut bertujuan untuk mengubah addressing maupun port-port komunikasi yang ada dalam sebuah paket, menjadi sebuah bentuk yang dikenali baik di luar maupun di dalam perangkat itu sendiri. Contohnya adalah NAT/PAT dan IP masquerading. Tabel ketiga adalah Mangle table yang berfungsi untuk melakukan modifikasipaket-paket data, namun fungsinya lebih kepada penandaan (marking) terhadap paket tersebut. Modifikasi tersebut terjadi pada level field-field tambahan dari protokol IP seperti misalnya Typeof-Service dan sebagainya. Di dalam Filter table terdapat tiga buah Chain yang akan melayani kebutuhan Anda dalam filtering paket-paket data, yaitu INPUT, OUTPUT, dan FORWARDING. Mengapa ditulis dengan huruf besar, karena begitulah penulisannya nanti pada saat pembuatan filter. Chain INPUT berguna untuk melakukan filter terhadap paket data yang masuk dan memang ditujukan untuk perangkat komputer itu sendiri. OUTPUT merupakan chain yang dikenakan pada semua paket yang akan keluar dari mesin tersebut ke alamat tujuan yang ditentukan.Sedangkan chain FORWARD merupakan chain yang paling canggih yang akan mengubah perangkat komputer Anda menjadi sebuah router. Chain ini melakukan filtering semua paket datayang masuk ke dalam mesin tersebut tetapi bukan diperuntukkan bagi mesinitu sendiri, melainkan diteruskan ke perangkat lainnya. Dari ketiga chain inilah Anda dapat membuat sebuah sistem filtering yang sesuai dengan kebutuhan. Di dalam NAT table, Anda dapat memodifikasi source dan destination address atau port dari paket-paket yang keluar-masuk. Keuntungan dari adanya fasilitas ini adalah untuk menyembunyikan alamat IP asli Anda atau sering disebut dengan istilah IP Masquerading. Penyembunyian IP lokal Anda menjadi sebuah bentuk lain yang dikenal dari luar merupakan salah satu sistem pengamanan yang paling dasar. Dengan demikian, tidak sembarang orang dapat mengetahui alamat IP Anda yang asli, apalagi sampai masuk ke dalamnya perangkat Anda. NAT table mempunyai tiga buah chain, yaitu PREROUTING, POSTROUTING, dan OUTPUT. Tabel ketiga adalah Mangle yang akan membuat paket-paket Anda ditandai satu per satu. Tujuannya adalah agar paket tersebut mempunyai ciri khas, sehingga paket tersebut dapat diolah lebih lanjut. Tabel Mangle memiliki kemampuan untuk menggunakan semua chain yang ada dalam IPTables seperti INPUT, OUTPUT, PREROUTING, dan sebagainya. Tabel ketiga adalah Mangle yang akan membuat paket-paket Anda ditandai satu per satu. Tujuannya adalah agar paket tersebut mempunyai ciri khas, sehingga paket tersebut dapat diolah lebih lanjut sesuai dengan policy yang akan Anda terapkan. Tabel Mangle memiliki kemampuan untuk menggunakan semua chain yang ada dalam IPTables seperti INPUT, OUTPUT, PREROUTING, dan sebagainya. Dengan menggunakan tabel ini, Anda bisa melakukan banyak hal, seperti misalnya melakukan pengubahan routing sesuai dengan kebijakan Anda, atau memberikan perlakuan khusus pada salah satu jenis paket atau yang sering disebut dengan istilah QoS, dan masih banyak lagi. Maka dari itu,Mangle banyak digunakan bersama dengan program lain untuk melayani pemprioritasan sebuah aplikasi.

Tidak ada komentar:

Posting Komentar