Selasa, 13 November 2012

FIREWALL DAN IPTABLES DI LINUX

 Firewall adalah sebuah sistem yang didesain untuk mengontrol akses-akses yang tidak diinginkan ke atau dari sebuah jaringan lokal. Firewall dapat diimplementasikan menggunakan hardware maupun software, atau keduanya.
Semua paket-paket dari dan ke jaringan lokal harus melewati Firewall terlebih dahulu, dan akan dieksekusi boleh atau tidak lewatnya paket tersebut berdasarkan kriteria keamanan Firewall masing-masing.
Saat ini istilah Firewall menjadi istilah lazim yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda. Mengingat saat ini banyak perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan berbadan hukum di dalamnya, maka perlindungan terhadap modal digital perusahaan tersebut dari serangan para hacker (peretas, pemata-mata, ataupun pencuri data lainnya) menjadi wajib.



Ada beberapa metode yang digunakan oleh Firewall :
  • Packet Filter
  • Application Gateway
  • Circuit-level Gateway
  • Proxy Server

Dalam prakteknya, Firewall adalah pertahanan pertama untuk membendung serangan dari hacker di dalam sebuah jaringan. So, jika ingin jaringan kalian aman jangan lupa terapkan Firewall!
Operating system Linux dan keluarganya yang lain memang cukup terkenal akan kekebalannya terhadap gangguan dari luar. Salah satu yang membuktikan pernyataan tersebut adalah fasilitas IPTables.


Keamanan jaringan, PC, server-server, dan perangkat komputer Anda yang lainnya memang merupakan faktor yang cukup penting untuk diperhatikan saat ini. Jika beberapa dekade yang lalu keamanan jaringan masih ditempatkan pada urutan prioritas yang rendah, namun akhir-akhir ini perilaku tersebut harus segera diubah. Pasalnya, kejahatan dengan menggunakan bantuan komputer, media komunikasi, dan perangkat elektronik lainnya meningkat sangat tajam belakangan.
Hal ini sangat kontras dengan perkembangan kebutuhan perangkat komputer untuk kehidupan sehari-hari yang juga semakin meninggi. Tidak hanya di dalam kegiatan bisnis saja, kehidupan rumah tangga pun sudah sangat relevan jika dilengkapi dengan sebuah komputer. Maka dari itulah, mengapa keamanan jaringan komputer dan PC menjadi begitu penting untuk diperhatikan saat ini.

Apalagi jika kebutuhannya sudah berhubungan dengan kegiatan bisnis, dan kegiatan bisnis tersebut banyak berhubungan dengan server yang dapat diakses dari mana saja atau dengan koneksi Internet yang aktif 24x7. Tentu keamanan komunikasi data harus menjadi
prioritas nomor satu. Mengapa demikian, karena semua fasilitas tersebut bisa juga diartikan sebagai titik celah baru menuju ke jaringan pribadi Anda.

Anda tidak bisa membiarkan begitu saja perangkat komputer Anda tanpa perlindungan dalam dunia Internet yang sebenarnya. Jika Anda biarkan, tentu segala macam jenis pengganggu akan bercokol di komputer Anda. Mulai dari virus sampai hacker yang menanam backdoor akan menggunakan komputer Anda sebagai alat bersenang-senang.

Sangat penting memang untuk rajin melakukan patch dan update terhadap software-software bug yang Anda gunakan di komputer Anda. Karena hal ini cukup menolong untuk sedikit menyulitkan para hacker dan pengganggu lain untuk bisa bersenang-senang dengan komputer Anda. Namun rasanya, patch yang up-to-date saja belum cukup untuk melindungi resource Anda yang berharga di dalam komputer. Maka dari itu, rasanya cukup penting untuk Anda bisa membatasi apa dan siapa saja yang boleh masuk dan keluar dari dan ke perangkat komputer Anda. Semua proses ini bisa Anda lakukan dengan mengandalkan sebuah sistem pengaman khusus yang biasanya disebut dengan istilah firewall atau IP filter.

Apakah Firewall?
Mungkin banyak para praktisi komputer yang sudah sangat akrab dengan istilah ini. Namun rasanya, cukup adil untuk memberikan sedikit penjelasan singkat mengenai firewall, bagi para pendatang baru di dunia komputer. Firewall atau dalam arti harafiahnya adalah tembok api merupakan sebuah sistem yang memiliki tugas utama menjaga keamanan dari jaringan komputer dan semua perangkat yang ada di dalamnya.

Firewall adalah sebuah sistem pengaman, jadi firewall bisa berupa apapun baik hardware maupun software. Firewall dapat digunakan untuk memfilter paket-paket dari luar dan dalam jaringan di mana ia berada. Jika pada kondisi normal semua orang dari luar jaringan Anda dapat bermain-main ke komputer Anda, dengan firewall semua itu dapat diatasi dengan mudah.

Firewall merupakan perangkat jaringan yang berada di dalam kategori perangkat Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7 OSI layer. Seperti diketahui, layer 3 adalah layer yang mengurus masalah pengalamatan IP, dan layer 4 adalah menangani permasalahan port-port komunikasi (TCP/UDP). Pada kebanyakan firewall, filtering belum bisa dilakukan pada level data link layer atau layer 2 pada 7 OSI layer. Jadi dengan demikian, sistem pengalamatan MAC dan frame-frame data belum bisa difilter. Maka dari itu, kebanyakan firewall pada umumnya melakukan filtering dan pembatasan berdasarkan pada alamat IP dan nomor port komunikasi yang ingin dituju atau diterimanya.

Firewall yang sederhana biasanya tidak memiliki kemampuan melakukan filterin terhadap paket berdasarkan isi dari paket tersebut. Sebagai contoh, firewall tidak memiliki kemampuan melakukan filtering terhadap e-mail bervirus yang Anda download atau terhadap halaman web yang tidak pantas untuk dibuka. Yang bisa dilakukan firewall adalah melakukan blokir terhadap alamat IP dari mail server yang mengirimkan virus atau alamat halaman web yang dilarang untuk dibuka. Dengan kata lain, firewall merupakan sistem pertahanan yang paling depan untuk jaringan Anda.

Tetapi, apakah hanya sampai di situ saja fungsi dari perangkat firewall? Ternyata banyak firewall yang memiliki kelebihan lain selain daripada filtering IP address saja. Dengan kemampuannya membaca dan menganalisis paket-paket data yang masuk pada level IP, maka firewall pada umumnya memiliki kemampuan melakukan translasi IP address. Translasi di sini maksudnya adalah proses mengubah sebuah alamat IP dari sebuah alamat yang dikenal oleh jaringan diluar jaringan pribadi Anda, menjadi alamat yang hanya dapat dikenal dan dicapai dari jaringan lokal saja. Kemampuan ini kemudian menjadi sebuah fasilitas standar dari setiap firewall yang ada di dunia ini. Fasilitas ini sering kita kenal dengan istilah Network Address Translation (NAT).

Dengan menggunakan firewall yang dipadukan dengan fasilitas NAT, maka komputer dan jaringan di belakangnya sudah cukup aman dibandingkan tidak sama sekali. Mengapa menggunakan NAT jaringan Anda dapat selangkah lebih aman? Bagaimana cara kerja NAT akan dibahas pada edisi berikutnya.

Bagaimana Membuat Firewall?
Firewall bisa Anda dapatkan dengan berbagai cara. Jika tidak ingin repot-repot membuat dari nol, Anda harus mengeluarkan uang yang cukup banyak untuk membeli perangkat keras firewall yang sudah jadi dan tinggal Anda pasang saja di jaringan. Tetapi perlu diingat, tidak semua perangkat keras firewall dapat bekerja hebat dalam melakukan IP filtering. Jadi akan percuma saja uang yang Anda keluarkan jika Anda membeli firewall yang tidak andal.

Jika Anda mau sedikit repot, namun hasilnya mungkin akan memuaskan Anda, buat saja sendiri perangkat firewall Anda. Yang Anda perlukan hanyalah sebuah PC dengan processor dan memory yang lumayan besar dan sebuah aplikasi firewall yang canggih dan lengkap yang dapat memenuhi semua kebutuhan Anda.

Aplikasi firewall yang lengkap dan canggih pada umumnya juga mengharuskan Anda mengeluarkan kocek yang tidak sedikit. Seperti misalnya Checkpoint yang sudah sangat terkenal dalam aplikasi firewall, untuk memilikinya Anda harus merogoh kocek yang lumayan banyak pula.

Namun jika Anda pecinta produk-produk open source dan sudah sangat familiar dengan lingkungan open source seperti misalnya operating system Linux, ada satu aplikasi firewall yang sangat hebat. Aplikasi ini tidak hanya canggih dan banyak fasilitasnya, namun aplikasi ini juga tidak akan membuat kantong Anda dirogoh dalam-dalam. Bahkan Anda bisa mendapatkannya gratis karena aplikasi ini pada umumnya merupakan bawaan default setiap distro Linux. Aplikasi dan system firewall di sistem open source tersebut dikenal dengan nama IPTables.

Dengan menggunakan IPTables, Anda dapat membuat firewall yang cukup canggih dengan program open source yang bisa dengan mudah Anda dapatkan di Internet. Memang perlu diakui, firewall dengan menggunakan IPTables cukup sulit bagi pemula baik di bidang networking maupun pemula di bidang operating system Linux. Namun jika Anda pelajari lebih lanjut, sebenarnya firewall ini memiliki banyak sekali fitur dan kelebihan yang luar biasa.

Apa Itu IPTables?
IPTables merupakan sebuah fasilitas tambahan yang tersedia pada setiap perangkat komputer yang diinstali dengan sistem operasi Linux dan keluarganya. Anda harus mengaktifkannya terlebih dahulu fitur ini pada saat melakukan kompilasi kernel untuk dapat menggunakannya. IPTables merupakan fasilitas tambahan yang memiliki tugas untuk menjaga keamanan perangkat komputer Anda dalam jaringan. Atau dengan kata lain, IPTables merupakan sebuah firewall atau program IP filter build-in yang disediakan oleh kernel Linux untuk tetap menjaga agar perangkat Anda aman dalam berkomunikasi.

Mengapa Linux bersusah payah menyediakan fasilitas ini untuk Anda? Karena dari dulu Linux memang terkenal sebagai operating system yang unggul dalam segi keamanannya. Mulai dari kernel Linux versi 2.0, Linux sudah memberikan fasilitas penjaga keamanan berupa fasilitas bernama ipfwdm. Kemudian pada kernal 2.2, fasilitas bernama ipchain diimplementasikan di dalamnya dan menawarkan perkembangan yang sangat signifikan dalam menjaga keamanan.

Sejak kernel Linux memasuki versi 2.4, sistem firewall yang baru diterapkan di dalamnya. Semua jenis firewall open source yang ada seperti ipfwadm dan ipchains dapat berjalan di atasnya. Tidak ketinggalan juga, IPTables yang jauh lebih baru dan canggih dibandingkan keduanya juga bisa berjalan di atasnya. Maka itu, IPTables sangatlah perlu untuk dipelajari untuk Anda yang sedang mempelajari operating system Linux atau bahkan yang sudah menggunakannya. Karena jika menguasai IPTables, mengamankan jaringan Anda atau jaringan pribadi orang lain menjadi lebih hebat.

Di mana Anda Mendapatkan IPTables?
Untuk mendapatkan fasilitas IPTables, hal yang pertama harus dilakukan adalah memeriksa kernel versi berapa yang Anda gunakan. Jika menggunakan kernel Linux versi 2.4 ke atas, maka Anda boleh tenang karena fasilitas IPTables sudah merupakan default di dalamnya. Namun jika Anda menggunakan kernel di bawah itu, maka Anda harus melakukan modifikasi dan editing pengaturan kernel yang rasanya cukup sulit dan memakan waktu lama. Maka dari itu, gunakanlah operating system Linux dengan kernel Linux 2.4 ke atas saja untuk lebih menghemat waktu dan tenaga.

Sebenarnya ada dua bagian penting yang bisa membuat perangkat komputer Anda menjadi sebuah firewall yang menggunakan fasilitas IPTables, yaitu pengaturan kernel dan penginstalan program IPTables itu sendiri. Jadi dengan demikian, untuk menginstal IPTables pada PC Anda, kedua bagian tersebut harus selalu dipenuhi.

Seperti telah dijelaskan di atas, versi kernel yang cocok untuk menghantarkan fasilitas ini untuk Anda adalah Linux dengan kernel 2.4 keatas. Apabila sebelumnya Anda menggunakan program Ipchain atau Ipfwadm, ada sebuah modul tambahan di dalam kernel 2.4 yang dapat tetap menggunakan pengaturan Anda yang lama pada program IPTables. Namun sebaiknya jika memang sudah memungkinkan, Anda harus membiasakan diri untuk menggunakan perintah dan ekspresi-ekspresi yang ada pada IPTables, karena IPTables jauh lebih hebat dibangingkan keduanya.

Namun jika Anda sudah memutuskan program firewall mana yang Anda gunakan, maka Anda hanya dapat mengaktifkan satu jenis firewall saja pada kernel level. Apakah itu IPTables, Ipchain, atau ipfwadm. Anda tidak dapat mengaktifkan ketiganya secara bersamaan (melihat orang, namun disarankan untuk selalu menggunakan fasilitas IPTables. Setelah semua parameter pendukung ditambahkan dalam kernelnya, kompile-lah kernel Anda, maka sesaat kemudian komputer Anda telah siap untuk diinstali program IPTables.

Setelah kernel selesai dimodifikasi (jika memang belum dikonfigurasi mendukung IPTables) langkah berikutnya adalah menginstal programnya. Anda dapat men-download programnya di link http://www.netfilter.org/. Bagaimana cara melakukan instalasi dan kompile kernelnya akan dibahas pada edisi berikutnya.

Istilah-istilah dan Ekspresi yang Ada pada IPTables
Istilah-istilah ekspresi di dalam firewall bawaan Linux ini memang sangat banyak. Setiap ekspresi pada umumnya mewakili satu fungsi spesifik untuk melakukan tugas menjaga keamanan. Meskipun banyak yang sudah sering terdengar pada aplikasi firewall lain atau pada perangkat-perangkat keras firewall, namun IPTables juga memiliki banyak sekali ekspresi yang merupakan ciri khasnya.

Berikut ini adalah beberapa istilah dan ekspresi yang paling umum digunakan di dalam IP filtering:

Drop/Deny
Ketika ada paket yang terkena policy seperti ini, maka paket tersebut langsung dihapus tanpa banyak basabasi lagi. Tidak ada tindakan lebih lanjut lagi terhadap data yang telah dihapus dan tidak ada informasi balasan apakah paket tersebut didrop atau tidak. Paket data tersebut benar-benar menghilang.
Reject
Policy ini sebenarnya memiliki fungsi yang sama dengan drop/deny, namun bedanya policy ini akan mengirimkan pemberitahuan kepada si pengirimnya bahwa paket datanya ditolak.
State
Policy ini memiliki fungsi untuk memberikan sebuah status kepada paket informasi yang melewatinya, dan kemudian status tersebut akan dibandingkan dengan paket yang lain. Sebagai contoh jika sebuah paket merupakan paket pertama yang dilihat oleh IPTables, maka akan dianggap sebagai paket baru yang akan membuka jalan komunikasi. Informasi status ini dapat dimonitor menggunakan sistem connection tracking yang akan menyimpan semua informasi state tersebut.
Chain
Chain merupakan seperangkat aturan yang saling berkaitan atau berantai yang dikenakan pada paket-paket data yang keluar-masuk. Setiap Chain memiliki kegunaan yang spesifik dan juga area penempatan yang spesifik.
Table
Table merupakan kumpulan informasi pengaturan dan fasilitas yang ada pada IPTables. Di dalam aplikasi ini, terdapat tiga jenis table, yaitu tabel NAT, tabel Mangle, dan tabel Filter. Masing-masing tabel memiliki tugasnya masing-masing dalam aplikasi ini, misalnya tabel filter berfungsi untuk menampung pengaturan yang bertugas melakukan filtering paket, sedangkan tabel NAT untuk menampung informasi translasi NAT.
Match
Satu kata ini dapat memiliki dua arti ketika berada dalam aplikasi firewall seperti IPTables. Arti pertama adalah dalam membuat sebaris aturan parameter yang dimasukkan haruslah match atau cocok. Misalnya dalam membuat sebuah aturan harus memasukkan alamat source IP dengan alamat yang sesuai format, baik alamat network range maupun alamat single host. Arti kedua adalah jika sebuah paket cocok dengan seluruh aturan yang dibuat, maka dapat dikatakan dengan istilah match.
Target
Target merupakan seperangkat aturan yang akan melakukan eksekusi untuk mencapai tujuan akhir. Biasanya target ada di dalam atura-naturan yang Anda buat. Jika aturan-aturan yang Anda buat Match seluruhnya dengan paket yang ditentukan, maka target akan bekerja mengeksekusi sesuatu hingga tujuan akhirnya tercapai. Contoh dari target misalnya jika Match maka paket dengan alamat IP 1.1.1.1 harus di-DROP atau di NAT atau diteruskan, dan sebagainya. Tujuan akhir seperti DROP, NAT, atau yang lainnya tadilah yang disebut dengan target.
Rule
Rule atau aturan merupakan sebuah baris aturan atau lebih yang di dalamnya berisi apa saja yang ingin Anda kenai tujuan akhir atau target yang Anda buat. Misalnya alamat IP tujuan 1.1.1.1 dengan nomor port 25 dikenakan target DROP. Pemeriksaan yang dilanjutkan dengan sebuah tindakan inilah yang disebut dengan istilah Rule.
Ruleset
Ruleset merupakan kumpulan dari rule yang Anda buat yang kemudian dipasang pada implementasi IP filtering. Dalam kasus pada IPTables sebuah ruleset sudah meliputi seperangkat aturan pada tabel filter, tabel NAT dan tabel mangle. Dan semuanya berada dalam satu urutan CHAIN yang dibuat sebelumnya. Pada umumnya, ruleset ditulis pada file konfigurasi atau sejenisnya.
Jump
Jump merupakan sebuah instruksi yang akan mengarahkan sebuah rule untuk menuju ke target tertentu. Instruksi jump pasti ada dalam setiap target pada rule IPTables, kecuali Anda menggunakan CHAIN yang lain sebagai tujuan akhir dari sebuah rule. Ketika sebuah paket Match dengan rule yang dibuat, maka instruksi jump akan bekerja mengarahkan paket tersebut ke sebuah target atau ke CHAIN yang lainnya untuk diproses lebih lanjut.
Connection tracking
Connection tracking merupakan sebuah fasilitas untuk memonitor atau melacak koneksi-koneksi atau aliran paket yang lalu-lalang melalui firewall. Fasilitas ini biasanya digunakan pada perangkat yang memiliki kekuatan processing dan memory yang tinggi. Jika perangkat Anda tidak memiliki spesifikasi yang cukup, sebaiknya tidak menggunakan fasilitas ini. Dengan adanya fasilitas ini, keuntungannya adalah firewall Anda akan lebih aman dan dapat termonitor dengan baik.
Accept
Ekspresi ini sebenarnya merupakan sebuah target yang merupakan kebalikan dari fungsi target DROP dan DENY. Accept menandakan bahwa apabila ada paket yang MATCH dengan rule yang dibuat maka paket tersebut akan dilewatkan ke tujuan yang diinginkannya.
Policy
Ada dua arti yang menggambarkan istilah policy dalam dunia IP filtering. Pertama, policy diartikan sebagai sebuah peraturan akhir yang akan mengarahkan paket-paket yang tidak MATCH dengan rule apapun ke tujuan akhirnya. Pengartian inilah yang akan kita pakai untuk istilah policy pada pembahasan selanjutnya. Arti kedua adalah security policy atau peraturan keamanan yang biasanya dimiliki oleh implementer dari sistem firewall. Contohnya sebuah perusahaan memiliki peraturan dimana pegawai dengan tingkat staff tidak diperbolehkan mengakses Internet, atau para supervisor tidak diperbolehkan membuka halaman intranet. Semua itu merupakan security policy yang idealnya harus didokumentasikan dengan baik.
Fasilitas Hebat yang Cukup Rumit
IPTables memang sangat hebat. Banyak sekali fasilitas dan kemampuan yang dapat diberikannya untuk mengamankan PC dan jaringan milik Anda dibelakangnya. Namun saking hebatnya, terkadang pengguna menjadi cukup sulit untuk mempelajarinya pada awal pemakaiannya. Namun setelah Anda kuasai logikanya, maka IPTables bisa menjadi tameng yang kuat untuk Anda gunakan dalam menahan serangan dari luar. Dengan IPTables yang terkonfigurasi dengan baik, maka Anda boleh sedikit lebih tenang karena PC Linux milik Anda sudah jauh lebih aman daripada sebelumnya. Selamat mencoba!
(Sumber: IT Staf)


0 komentar:

Posting Komentar