Welcome Myspace Comments

Jumat, 06 Januari 2012


Pertemuan 11

                               

Pokok bahasan :
*Pensetingan Service Firewall (IP Chains/IP Tables)

Dalam operasi linux sebuah  firewall bisa disetting dengan keinginan sendiri melalui command line atau shell. Di linux sendiri ada aplikasi iptables yang membantu kita dalam melakukan filter layaknya aplikasi firewall di windows.
Firewall : perlindungan PC terhadap host-host yg"nakal" pd jarngan komputer
Iptables: aplikasi untuk melakukan Filtering Data(menyaring data)
Tiap-tiap tables memiliki beberapa built-in(bawaan) chains kernel linux da chains buatan user sendiri.
Chains pada tables"filter" terdiri dari 3 fungsi :
1. INPUT (untuk paket yang ditujukan ke firewall kita)
2. FORWARD (untuk paket yang di route lewat firewall kita, misalnya sebagai server yang menghubungkan jaringan local ke jaringan internet.
3. OUTPUT (untuk paket yang berasal dari firewall)

Target And Jumps
Setiap rule yang ada di firewall akan mencoba mengidentifikasi setiap paket yang ada di “rantai”, jika sesuai maka akan dianggap sebagai target, yang selanjutnya akan diarahkan ke proses selanjutnya, atau istilahnya di jump over ke proses seanjutnya. Atau sederhananya, apa yang akan dilakukan jika terdapat paket yang cocok dengan rule.
Berikut adalah beberapa Jumps yang populer :
1. ACCEPT (proses di iptables selesai, dan paket dilanjutkan ke tempat seharusnya, misalnya applikasi tujuan)
2. DROP (proses di iptables selesai, dan paket diblock)
3. REJECT (proses di iptables selesai, dan paket diblock lalu mengirimkan pesan ke host pengirim bahwa paket diblock)
Selanjutnya adalah COMMANDS yang bias digunakan :
o ya, ni aturan penulisannya untuk masing-masing commands yang digunakan.
iptables [-t table] -[AD] chain rule-specification [options]
iptables [-t table] -I chain [rulenum] rule-specification [options]
iptables [-t table] -R chain rulenum rule-specification [options]
iptables [-t table] -D chain rulenum [options]
iptables [-t table] -[LFZ] [chain] [options]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target [options]
iptables [-t table] -E old-chain-name new-chain-name
-t = menentukan nama tabel (filter, nat, mangle, raw). jika tidak ditulis, maka defaultnya adalah “filter”.
ket : chain ==> misalnya INPUT, OUTPUT, atau FORWARD
rulenum ==> nomor urut aturan dalam chain
target==> seperti yang dijelaskan pada bagian target and jumps di atas
nah, ini commandsnya :
1. -A ==> menambahkan rule di baris terakhir chain yang ditentukan.
(iptables -A INPUT -j DROP : semua paket yang masuk ke chain INPUT akan di DROP)
2. -D ==> menghapus rule yang ada di chain tertentu, ada dua jenis penghapusan, yaitu dengan nomor urut rule (rulenum) atau dengan pencocokan rule-specification.
(iptables -D INPUT 1, atau iptables -D INPUT -s 10.14.210.100 -j DROP : yg pertama adalah menghapus rule pertama di chain input, yang kedua adalah menghapus rule yang cocok dengan spesifikasi tersebut di chain INPUT)
3. -I ==> menambahkan rule di baris dan chain yang ditentukan.
(iptables -I INPUT 1 –dport 80 -j ACCEPT : menambahkan rule di urutan pertama pada chain INPUT)
4. -R ==> mereplace rule yang ada di chain berdasarkan rulenum.
(iptables -R INPUT 1 -s 192.168.0.1 -j DROP : menimpa rule nomor satu di chain INPUT dengan rule baru tersebut)
5. -L ==> menampilkan daftar rule seluruhnya atau di chain tertentu jika jenis chain ditentukan.
(iptables -L INPUT : menampilkan semua rule yang ada di chain INPUT)
6. -F ==> menghapus semua rule atau semua rule di chain tertentu jika jenis chain ditentukan.
(iptables -F : menghapus semua rule yang ada di semua chain)
7. -Z ==> untuk meng-nol-kan semua counter yang di chain tertentu, misalkan coba -v, setelah itu gunakan -Z, lalu lihat beda -v setelah di -Z.
(iptables -Z INPUT)
8. -N ==> membuat sebuah chain baru.
(iptables -N ALLOW : membuat sebuah chain bernama ALLOW)
9. -X ==> menghapus chain tertentu.
(iptables -X ALLOW : menghapus chain bernama ALLOW)
10. -P ==> untuk menentukan default target dari chain tertentu.
(iptables -P INPUT ACCEPT : jika paket tidak ada yang cocok dengan semua rule yang ada, maka akan dipaksa mengikuti rule default ini)
11. -E ==> mengubah nama chain.
(iptaables -E ALLOW ALLOWAH : mengubah nama chain dari ALLOW jadi ALLOWAH)
Catatan : Nomor rule dimulai dari satu.
Selanjutnya adalah daftar parameter pembentuk rule-specification :
-s ==> source
(iptables -A INPUT -s 192.168.1.1)
-d ==> destination
(iptables -A INPUT -d 192.168.1.1)
-p ==> protocol
(iptables -A INPUT -s 192.168.1.1 -p tcp)
-i ==> in-interface
(iptables -A INPUT -i eth0)
-o ==> out-interface
(iptables -A FORWARD -o eth0)
–sport ==> source port
(iptables -A INPUT -s 192.168.1.1 -p tcp –sport 22)
–dport ==> destination port
(iptables -A INPUT -p tcp –dport 22)
–sys ==> untuk identifikasi new connection request
(iptables -A INPUT -i ppp0 -p tcp –syn –dport ! 80 -j DROP)
Catatan : Gunakan tanda ! untuk negasi/ pernyataan tidak/ selain.
Gunakan tanda : untuk menyatakan sampai, misal port 10 sampai 20, maka ditulis 10:20.
Contoh-Contoh Script IPTables :
iptables -A INPUT -p icmp –icmp-type 8 -j DROP
(DROP semua paket icmp-request yang masuk ke server kita, dengan kata lain komputer kita ga bisa di ping)
=> –icmp-type 0 for reply 8 for request.
iptables -A OUTPUT -p udp -o eth0 –dport 53 –sport 1024:65535 -j ACCEPT
(ACCEPT paket yang dengan protokol UDP, out-interface eth0, destination port 53, source port 1024-65535)
iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -d $SERVER_IP -m state –state NEW, ESTABLISHED, RELATED -j ACCEPT
($SERVER_IP adalah variable, bisa digantikan dengan IP server. -m state –state adalah untuk mengetest keadaan paket, ada 4 yang bisa digunakan, yaitu NEW, ESTABLISHED, RELATED, dan INVALID. NEW : paket memulai koneksi baru. ESTABLISHED : paket adalah bagian dari koneksi yang terjadi antara dua host, misalnya ICMP reply message, yang merupakan balasan dari ICMP request. RELATED : koneksi yang termasuk RELATED adalah jika ia berhubungan dengan koneksi ESTABLISHED yang telah ada. INVALID : paket tidak teridentifikasi atau tidak memiliki state, ini mungkin terjadi karena system running out memory atau karena ICMP error messages yang tidak merespon ke known connections.

Tidak ada komentar:

Posting Komentar