sebelumnya, ini sebenarnya merupakan tugas keamanan data dan jaringan di kuliah saya, semoga bermanfaat dan apabila ada kesalahan mohon koreksinya π ,Β Firewall adalah sebuah aturan yang ditetapkan baik terhadap hardware, software maupun sistem itu sendiri dengan tujuan untuk melindungi baik dengan melakukan filtrasi, membatasi ataupun menolak suatu koneksi pada jaringan yang dilindunginya dengan jaringan luar seperti internet. Firewall juga berfungsi sebagai pintu keluar jaringan yang dilindunginya dengan jaringan lainya atau disebut gateway.
Ada bermacam-macam jenis firewall baik hardware maupun software. Di linux kernel 2.4 dan 2.6 keatas sudah dilengkapi dengan software firewall yang bernama IPTABLES. Pada percobaan kami kali ini akan mencoba melakukan pemblokiran paket ICMP dan Memblokir PORT
Dasar Teori
Untuk membangun sebuah firewall yang harus kita ketahui pertama-tama adalah bagaimana paket tersebut nanti akan diproses firewall, apakah paket tersebut akan di buang (DROP) atau diterima(ACCEPT), atau paket tersebut akan diteruskan (FORWARD) ke jaringan lain.
Sebuah paket yang diterima dari jaringan pertama-tama akan memasuki routing decission dimana di bagian ini paket akan ditentukan berdasarkan tujuan dari paket tersebut. Bila paket tersebut bertujuan ke komputer linux kita paket tersebut akan diteruskan ke tabel INPUT untuk diproses firewall. Bila paket tersebut bertujuan ke komputer lain yang berbeda jaringan maka paket tersebut akan diteruskan ke kolom FORWARD.
Setelah paket tersebut memasuki kolomnya (INPUT atau FORWARD) maka paket tersebut akan dicocokkan dengan aturan yang ada pada kolom tersebut.
No | INPUT | OUTPUT | FORWARD |
1 | Aturan no 1 | Aturan no 1 | Aturan no 1 |
2 | Aturan no 2 | Aturan no 2 | Aturan no 2 |
3 | Aturan no 3 | Aturan no 3 | Aturan no 3 |
N | Aturan no n | Aturan no n | Aturan no n |
POLICY | ACCEPT/DROP | ACCEPT/DROP | ACCEPT/DROP |
Sebagai contoh ada paket datang ke komputer alamat ip linux kita, paket tersebut akan masuk ke tabel INPUT, kemudian paket akan dicocokkan dengan aturan pertama hingga terakhir. Jika tidak ada kecocokan maka POLICY pada tabel yang akan berlaku, apakah diterima (ACCEPT) atau buang (DROP).
berikut perintah-perintah IPTABLES:
-A , –append chain-rule-specification
menambahkan suatu aturan baru yang ditempatkan di aturan paling bawah dari aturan-aturan IPTABLES
-D , –delete chain-rule-number/rule specification
Menghapus satu baris aturan
-I , –insert chain-rule-number/rule specification
menuliskan aturan baru tapi penempatanya sesuai dengan perintah yang kita masukkan
–R , –replace chain-rule-number/rule specification
mengganti rule yang sudah ada, posisinya menempati urutan dari yang digantikan
-L , –list chain
berfungsi untuk melakukan output dari aturan yang kita buat
-F , –flush chain
untuk menghapus semua aturan yang sudah kita buat
-Z , –zero
berfungsi menghapus semua penghitung menjadi nol
-N , –new-chain chain
menambahkan satu kolom tabel baru
-P , –policy chain-target
akan menentukan nasib paket akan di drop atau diterima
–E , –rename-chain old-chain new-chain
mengubah nama dari suatu kolom
-h
help
Parameter IPTABLES
parameter disini bertujuan untuk membuat satu baris aturan menjadi lebih spesifik
-p, –protocol [!] protocol
mengecek protokol dari setiap paket yang datang, TCP, ICMP,UDP atau ALL. Tanda seru merupakan negasi / not! Atau pengecualian
-s, –source [!] address/mask
akan memeriksa kecocokan berdasarkan sumber paket itu, apabila cocok dengan aturan iptables makan aturan tersebut akan berlaku
-d, –destination [!] address/mask
tujuan paket tersebut, apabila cocok pada iptables maka akan berlaku aturan iptables
-j, –jump target
berfungsi untuk menentukan nasib paket apakah akan diterima (ACCEPT) ditolak (DROP) atau dikempalikan ke kolom sebelumnya (RETURN)
-i, –in-interface [!] name
disini setiap paket akan diidentifikasikan berdasarkan kartu jaringan, seperti eth0, eth1, dst
-o, –out-interface [!] name
sama seperti -i namun paket yang keluar
Target/jump
target/jump pada iptables adalah penentu nasib paket, berikut:
ACCEPT
dengan opsi ini paket akan langsung diterima oleh firewall dan diteruskan kepada tujuan dari target.
REJECT
opsi ini paket akan ditolak namun dengan pesan kesalahan ICMP, kita dapat menentukan paket icmp yang akan dikirimkan
DROP
kebalikan dari ACCEPT, paket akan langsung dibuang tanpa mengirim pesan error
SNAT
bertujuan untuk mengubah sumber pengirim paket dan berguna jika kita ingin berbagi koneksi, SNAT terdapat di tabel NAT kolom POSTROUTING sehingga kita menggunakan perintah -A POSTROUTING pada perintah iptables.
DNAT
berfungsi untuk mengubah tujuan dari paket, contohnya apabila kita ingin server kita menggunakan alamat IP local dan kita ingin server tersebut bisa diakses dari internet
MASQUERADE
sama dengan SNAT tapi biasanya digunakan bila kita ingin berbagi koneksi tapi kita memiliki alamat ip yang selalu berubah, seperti menggunakan dial-up
REDIRECT
bertugas untuk mengubah tujuan dari paket ke mesin firewall itu sendiri, misal jika ingin HTTP PROXY bersifat transparent.
Study Kasus
dalam study kasus kami kali ini kami akan menggunakan 2 buah laptop, satu laptop berfungsi sebagai gateway dan firewall, interface in yaitu wireless(wlan0) atau modem(ppp0) sedangakan interface ke client menggunakan ethernet (eth0).
Ip public/out : berubah-ubah
ip eth0 gateway : 192.168.100.1/24
ip eth0 client : 192.168.100.2/24
kasus yang akan kami kerjakan:
- agar client tidak bisa melakukan ping ke google.com
- agar client tidak bisa membuka google.com namun bisa melakukan ping
- memblokir yahoo messengger
langkah pertama adalah memfungsikan laptop kita sebagai gateway/firewall:
- menambahkan tabel routing
- route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
- mengaktifkan ip forward dengan memberi nilai 1 pada /proc/sys/net/ipv4/ip_forward
- echo β1β /proc/sys/net/ipv4/ip_forward
- melakukan NAT
- iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0/0 -j SNAT βto 172.16.0.145
selanjutnya adalah mengatur komputer client yaitu dengan memberikan ip address satu kelas dengan kita lalu mengatur gateway dan dns.
1. Client tidak bisa melakukan ping ke google.com
iptables -A FORWARD -s google.com -p icmp -d 192.168.100.2 -j DROP
maksud dari perintah diatas adalah:
-A : memasukkan aturan baru
FORWARD : meneruskan paket ke client
-s google.com : source paket dari google.com
-p icmp : protokol yang akan digunakan adalah icmp
-d 192.168.100.2 : destination paket adalah 192.168.100.2
-j DROP : jump DROP, paket akan di drop
2. Client bisa melakukan ping namun tidak bisa mengakses google.com
iptables -A FORWARD -s google.com -p tcp –sport 80 -d 192.168.100.2 -j DROP
maksud dari perintah diatas adalah:
-A : memasukkan aturan baru
FORWARD : meneruskan paket ke client
-s google.com : source paket dari google.com
-p tcp : protokol yang digunakan tcp
–sport 80 : source port 80 / http
-d 192.168.100.2 : destination paket adalah 192.168.100.2
-j DROP : jump DROP, paket akan di drop
3. Memblokir yahoo messengger
yahoo messengger messages mempunyai port 5050, kita akan mencoba memblokir port 5050
iptables -A FORWARD -p tcp βsport 5050 -d 192.168.100.2 -j DROP
itu saja yang dapat saya berikan, semoga bermanfaat π CMIIW
refrensi : membangun firewall dengan iptables di linux, rahmat farunuddin
sip sip sip…. π
wah iku opo je?
rizal recently posted..Khusnudzon dan Positive Thinking
iku firewall, jadi singkatnya buat memfilter paket data, mau diteruskan, di drop dan lain-lain
keren, sekalian mau nanya, kalo untuk memperbolehkan akses service web http gimana?
elfisa recently posted..Membuat Daftar Isi pada MS Word 2007
ya tinggal port 80 jangan di blokir pak
maaf kang, punya bukunya membangun firewall dengan iptables di linux, rahmat farunuddin ya, dimana ya sekarang bisa dapetnya, saya ingin belajar
trims
beberapa bulan lalu masih ada di gramedia tapi dalam masa bazaar / diskonan, jadi buku2 sisa stok dijual. coba aja ke gramed mas terus bilang ma cs e. π