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.
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.
Perintah
man adalah untuk mendapatkan manual penggunaaan dari iptables ini. Sedangkan
help adalah untuk mendapatkan informasi help dari iptables tersebut.
- OPTION
Option terdiri dari command, dan parameter serta opsi tambahan
COMMAND
Command dan rule yang dipasang pada iptables (firewall) memiliki ketentuan. Pada dasarnya iptables pada komputer dianggap sebagai TABEL IP sesuai dengan namanya. System hanya akan menjalan rule yang ada pada tabel. Sedangkan rule yang sudah ada pada iptables juga dapat di hapus atau di replace dengan rule lain. Berikut beberapa command untuk penambahan, penghapusan dan operasi sejenisnya yang akan diperlakukan terhadap rule.
Daftar Perintah berikut keterangan
-A atau –append Melakukan penambahan rule
-D atau –delete Melakukan penghapusan rule
-R atau –replace Melakukan replacing rule
-L atau –list Menampilkan ke display, daftar iptables
-F atau –flush Menghapus daftar iptables/pengosongan
-I atau –insert Melakukan penyisipan rule
-N atau –new-chain Melakukan penambahan chain baru
-X atau –delete-chain Melakukan penghapusan chain
-P atau –policy Memberikan rule standard
-E atau –rename Memberikan penggantian nama
-h atau –help Menampilkan fasilitas help
- OPTION
Option terdiri dari command, dan parameter serta opsi tambahan
COMMAND
Command dan rule yang dipasang pada iptables (firewall) memiliki ketentuan. Pada dasarnya iptables pada komputer dianggap sebagai TABEL IP sesuai dengan namanya. System hanya akan menjalan rule yang ada pada tabel. Sedangkan rule yang sudah ada pada iptables juga dapat di hapus atau di replace dengan rule lain. Berikut beberapa command untuk penambahan, penghapusan dan operasi sejenisnya yang akan diperlakukan terhadap rule.
Daftar Perintah berikut keterangan
-A atau –append Melakukan penambahan rule
-D atau –delete Melakukan penghapusan rule
-R atau –replace Melakukan replacing rule
-L atau –list Menampilkan ke display, daftar iptables
-F atau –flush Menghapus daftar iptables/pengosongan
-I atau –insert Melakukan penyisipan rule
-N atau –new-chain Melakukan penambahan chain baru
-X atau –delete-chain Melakukan penghapusan chain
-P atau –policy Memberikan rule standard
-E atau –rename Memberikan penggantian nama
-h atau –help Menampilkan fasilitas help
Parameter
Parameter iptables digunakan sebagai pelengkap yang diperlukan untuk tujuan spesifikasi rule tersebut
Parameter iptables digunakan sebagai pelengkap yang diperlukan untuk tujuan spesifikasi rule tersebut
Parameter
berikut Keterangan
-p, –protocol (proto) Parameter ini untuk menentukan perlakuan terhadap protokol
-s, –source (address) –-src Parameter untuk menentukan asal paket
-d, –destination (address) –-dst Parameter untuk menentukan tujuan paket
-j, –jump (target)
-g, –goto (chain)
-i, –in-interface Masuk melalui interface (eth0, eth1 dst)
-o, –out-interface
[!] -f, –fragment
-c, –set-counters
-p, –protocol (proto) Parameter ini untuk menentukan perlakuan terhadap protokol
-s, –source (address) –-src Parameter untuk menentukan asal paket
-d, –destination (address) –-dst Parameter untuk menentukan tujuan paket
-j, –jump (target)
-g, –goto (chain)
-i, –in-interface Masuk melalui interface (eth0, eth1 dst)
-o, –out-interface
[!] -f, –fragment
-c, –set-counters
Parameter
berikut Keterangan
–sport
–source-port Menentukan port asal
–dport
–destination-port Menentukan port tujuan
–tcp-flags Menentukan perlakuan datagram
–syn
Table 3. Tabel Parameter detail
Selanjutnya apa itu yang disebut dengan chain?
Chain/rantai digambarkan sebagai jalur aliran data. Chains yang diperlukan untuk iptables ini antara lain:
Chain berikut Keterangan
FORWARD Route packet akan di FORWARD tanpa di proses lanjut di local
INPUT Route packet masuk ke dalam proses lokal sistem
OUTPUT Route packet keluar dari local sistem
PREROUTING Chain yang digunakan untuk keperluan perlakuan sebelum packet masuk route. Biasanya dipakai untuk proses NAT
POSTROUTING Chain yang digunakan untuk keperluan perlakuan sesudah packet masuk route. Biasanya dipakai untuk proses NAT
–sport
–source-port Menentukan port asal
–dport
–destination-port Menentukan port tujuan
–tcp-flags Menentukan perlakuan datagram
–syn
Table 3. Tabel Parameter detail
Selanjutnya apa itu yang disebut dengan chain?
Chain/rantai digambarkan sebagai jalur aliran data. Chains yang diperlukan untuk iptables ini antara lain:
Chain berikut Keterangan
FORWARD Route packet akan di FORWARD tanpa di proses lanjut di local
INPUT Route packet masuk ke dalam proses lokal sistem
OUTPUT Route packet keluar dari local sistem
PREROUTING Chain yang digunakan untuk keperluan perlakuan sebelum packet masuk route. Biasanya dipakai untuk proses NAT
POSTROUTING Chain yang digunakan untuk keperluan perlakuan sesudah packet masuk route. Biasanya dipakai untuk proses NAT
Chain
PREROUTING dan POSTROUTING dimaksudkan sebagai jalur data sebelum dan sesudah
data tersebut masuk ke dalam route.
PREROUTING: data sebelum masuk jalur route, akan di kenakan rule
POSTROUTING: data sebelum masuk akan dikenakan route
Apakah target itu?
Target adalah tujuan perlakuan terhadap rule. Pada target ini terletak keputusan, paket data mau diapakan, apakah mau di tolak, atau diteruskan atau diolah terlebih dahulu.
PREROUTING: data sebelum masuk jalur route, akan di kenakan rule
POSTROUTING: data sebelum masuk akan dikenakan route
Apakah target itu?
Target adalah tujuan perlakuan terhadap rule. Pada target ini terletak keputusan, paket data mau diapakan, apakah mau di tolak, atau diteruskan atau diolah terlebih dahulu.
Berikut daftar
table target iptables
Target berikut Keterangan
ACCEPT Rantai paket tersebut diterima dalam rule
DROP Rantai paket tersebut “dijatuhkan”
REJECT Rantai paket tersebut ditolak seperti DROP
DNAT Rantai paket di “destination nat” kan ke address lain
SNAT Rantai paket di arahkan ke source nat tertentu
REDIRECT Rantai paket di redirect ke suatu addres dan port tertentu
MASQUERADE Bekerja seperti SNAT tapi tidak memerlukan source
REJECT Bekerja seperti DROP
Target berikut Keterangan
ACCEPT Rantai paket tersebut diterima dalam rule
DROP Rantai paket tersebut “dijatuhkan”
REJECT Rantai paket tersebut ditolak seperti DROP
DNAT Rantai paket di “destination nat” kan ke address lain
SNAT Rantai paket di arahkan ke source nat tertentu
REDIRECT Rantai paket di redirect ke suatu addres dan port tertentu
MASQUERADE Bekerja seperti SNAT tapi tidak memerlukan source
REJECT Bekerja seperti DROP
Contoh
beberapa kasus untuk iptables
Misalkan terdapat sebuah jaringan komputer menggunakan koneksi internet dengan IP ADDRESS publik
222.124.132.91 (eth0)
Server gateway memiliki 3 anak jaringan (jaringan lokal) dengan dibedakan subnet
192.168.0.0/24 (eth1)
192.168.1.0/24 (eth2)
192.168.10.0/24 (eth3)
Misalkan terdapat sebuah jaringan komputer menggunakan koneksi internet dengan IP ADDRESS publik
222.124.132.91 (eth0)
Server gateway memiliki 3 anak jaringan (jaringan lokal) dengan dibedakan subnet
192.168.0.0/24 (eth1)
192.168.1.0/24 (eth2)
192.168.10.0/24 (eth3)
Kondisi
dalam jaringan, eth3 tidak diperbolehkan melakukan akses ke internet tetapi
diperbolehkan masuk ke jaringan lokal lainnya melalui protokol http. Sedangkan
eth1 dan eth2 diperbolehkan melakukan akses ke internet. Pada IP ADDRESS
192.168.1.10 terdapat webserver, dan pada IP Address 192.168.1.12 terdapat
koleksi intranet yang akan dipublish ke internet. Disamping itu, koneksi
internet 1 mega tersebut akan di share, untuk semua komputer di eth2 akan
dibatasi pemakaiannya maksimal 10kbps.
Berikut
contoh sederhana routin firewallnya
#/bin/bash
#blok semua address (default), pada dasarnya semua akses di blok
iptables –P INPUT –j DROP
#bersihkan table
iptables –F
iptables –t nat –F
iptables –t mangle -F
#perkecualian dengan syarat tertentu
iptables -A INPUT -d 192.168.1.0/24 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –j MASQUERADE
iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j MASQUERADE
#forward webserver dan intranet
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to 192.168.0.10:80
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 88 -j DNAT –to 192.168.0.12:80
#redirect ke squid
iptables –t nat –A PREROUTING –s 192.168.10.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables –t nat –A PREROUTING –s 192.168.10.1/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
#/bin/bash
#blok semua address (default), pada dasarnya semua akses di blok
iptables –P INPUT –j DROP
#bersihkan table
iptables –F
iptables –t nat –F
iptables –t mangle -F
#perkecualian dengan syarat tertentu
iptables -A INPUT -d 192.168.1.0/24 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –j MASQUERADE
iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j MASQUERADE
#forward webserver dan intranet
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to 192.168.0.10:80
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 88 -j DNAT –to 192.168.0.12:80
#redirect ke squid
iptables –t nat –A PREROUTING –s 192.168.10.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables –t nat –A PREROUTING –s 192.168.10.1/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
Tidak ada komentar:
Posting Komentar