Firewall dengan IPTables
FIREWALL DENGAN IPTABLES
- Firewall Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya, sebuah firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda.
- Fungsi Firewall
- Mengontrol dan mengawasi paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :
- Alamat IP dari komputer sumber
- Port TCP/UDP sumber dari sumber
- Alamat IP dari komputer tujuan.
- Port TCP/UDP tujuan data pada komputer tujuan
- Informasi dari header yang disimpan dalam paket data.
- Melakukan autentifikasi terhadap akses.
- Applikasi proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
- Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan.
- IPTables IPTables adalah salah satu aplikasi linux, yang berfungsi untuk firewall. Kegunaanya untuk memfiltering semua data yang melewatinya. Dengan aplikasi ini, kita bisa memblokir data yang masuk, atau mengijinkan data yang keluar. Selain IpTables, juga bisa menggunakan shorewall. Seperti namanya, firewall atau tembok api yang melindungi jaringan lokal dari jaringan luar atau Internet. Untuk mencegah ulah para cracker yang ingin meretas ke suatu sistem jaringan. Firewall ada yang berbentuk piranti lunak (software). Dan ada juga yang berbentuk piranti keras, yang sudah di implementasikan kedalam sistemnya. Router juga termasuk dalam firewall.
- 1. Perjalanan Paket yang diforward ke host yang lain
a. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringan
b. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NAT
c. Paket mengalami Routing apakah akan diproses oleh host lokal atau diteruskan ke host lain
d. Paket masuk ke rantai FORWARD pada tabel MANGLE dan tabel FILTER
e. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NAT
f. Paket keluar menuju ke interface jaringan
g. Paket kembali pada jaringan fisik (Network)
2. Perjalanan paket yang ditujukan bagi host lokal
a. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringan
b. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NAT
c. Paket mengalami Routing
d. Paket masuk ke rantai INPUT pada tabel MANGLE dan tabel FILTER untuk mengalami proses penyaringan
e. Paket akan masuk ke proses lokal (Local Process)
3. Perjalanan paket yang berasal dari host lokal
a. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan
b. Paket masuk ke rantai OUTPUT pada tabel MANGLE, lalu ke tabel NAT, kemudian ke tabel FILTERc. Paket mengalami Routing
d. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NAT
e. Paket keluar menuju ke interface jaringan
f. Paket kembali pada jaringan fisik (Network)
Perintah umum iptables :
$iptables [-t
table] command [match] [target/jump]
Untuk dapat melihat manual iptables, silakan ketik perintah
ini pada terminal :
$man iptables
Perintah dasar Iptables :
Untuk melihat aturan yang sudah ada di iptables :
$iptables -L
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
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
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
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
Untuk menonaktifkan atau mematikan fiewall, maka
perintahnya :
$iptables –F
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 di identifikasi
- -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
Komentar
Posting Komentar