| Home | | |


Thursday, October 20, 2005

Membangun Firewall dengan Iptables

Firewall digunakan untuk melindungi atau membatasi akses komputer
atau jaringan ke dunia luar, seperti internet.
Salah satu firewall yang sering digunakan adalah iptables yang ada
didalam sistem operasi linux.

Mengenal iptables

Pada distribusi linux yang baru, iptables secara default dudah terinstall.
Pastikan kernel dari sistem linux yang digunakan adalah kernel 2.4 ke atas
dengan iptables(netfilter) aktif. Menjalankan iptables dengan user root.
perintah untuk berpindah ke user root:
# su -
Setelah menjadi root, panggil iptables dengan perintah:
# iptables
atau
#/sbin/iptables
jika iptables sudah aktif akan muncul:
# iptables
----
----
untuk mengetahu parameter apa saja yang digunakan di dalam iptables,
gunakan perintah:
# iptables -h
----
----
atau menggunakan # man iptables

Membangun firewall
catatan: perintah-perintah dilinux bersifat case sensitif oleh sebab itu perhatikan
pemakain huruf kecil maupun besar.

1. reset firewall
Rule yang perlu dibuat adalah mengosongkan semua jalur firewall dengan melakukan flushing.
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F FORWARD
# iptables -nvL (utk mengecek kondisi rule dari firewall)
2. membatasi semua akses kecuali yang diperbolehkan.
memblokir(DROP) jalur INPUT
# iptables -P INPUT DROP
untuk mengetes lakukan pinging firewall sebelum dan sesudah perintah dieksekusi.
3. membuka akses kelayanan DNS
membuka akses berbasis UDP, yaitu DNS server pada port 53.
# iptables -A INPUT -p UDP -s 0/0 --dport 53 -j ACCEPT
perintah diatas berarti, tambahkan atau append (-A) pada chain INPUT, paket yang berjenis
UDP (-p UDP) dengan alamat source sembarang (-s 0/0) dan destination port adalah 53 (--dport 53),
kemudian perkenankan paket tersebut(-j ACCEPT).
4. membatasi akses dari sebuah alamat
membatasi akses dari sebuah nomor IP
# iptables -I INPUT -s $BAD_IP/32 -j DROP
perintah diatas berarti, kita ingin menyisipkan perintah di input chain, jika source address
berasal dari $BAD_IP(tanda"/32"menyatakan bahwa dia berupa satu host), maka dia langsung di-DROP.
$BAD_IP tersebut dapat kita gantikan dengan nomor IP.
# iptables -A INPUT -s 192.168.4.12 -j DROP
ini berarti alamat IP 192.168.4.12 tidak bisa mengakses firewall, dan jika sebaliknya
komputer yang menjalankan iptables tidak dapat berkomunikasi dengan pemilik IP 192.168.4.12
maka chain yg digunakan adalah OUTPUT dan parameter -s diganti dengan -d(destination) atau tujuan.
# iptables _A OUTPUT -d 192.168.4.12 -j DROP
5. membatasi akses dari sejumlah alamat
# iptables -I INPUT -s $BAD_NET/25 -j LOG
# iptables -I INPUT -s $BAD_NET/25 -j DRop
6. memperbolehkan akses ke web server
web server berada pada port 80
# iptables -A INPUT -P TCP -s 0/0 -dport 80 -j ACCEPT
7. memperbolehkan akses ke layanan TCP yang lebih kompleks
rule yang dibuat: membatasi akses ke server HTTP (port 80) dan FTP (port 21) serta stateful,
yaitu mencatat state paket yang established, related.
# iptables -A goodtcp -p TCP --syn -j ACCEPT
# iptables -A goodtcp -p TCP -m state --state ESTABLISHED, RELATED, -j ACCEPTED
# iptables -A goodtcp -p TCP -j DROP

# iptables -A tcpsrv -p TCP -s 0/0 --dport 80 -j goodtcp
# iptables -A tcpsrv -p TCP -s 0/0 --dport 21 -j goodtcp

a# iptables -A INPUT -p tcp --syn -destination-port 80 -j ACCEPT
b# iptables -A INPUT -p tcp --syn -s 192.168.4.12 --destination-port 22 -j ACCEPT
c# iptables -A INPUT -p tcp --syn -j DROP
a? mengijinkan komputer lain mengakses port 80 (web server)
b? mengijinkan pemilik IP 192.168.4.12 mengakses port 22 (SSH)
c? menutup semua akses lain selain akses dengan paket yg sesuai dengan aturan sebelumnya.

dRop paket yang tcp yang NEW tapi tidak membuat SYN flag
# iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
# iptables -A INPUT -p TCP -j tcpsrv
d# iptables -A INPUT -p TCP --destination-port telnet -i eth0 -j DROP
d? menutup koneksi telnet pada jaringan internet(-i eth0), tidak pada LAN(eth1).

*untuk melihat aturan yang sudah ada pada chain, gunakan parameter -L;
# iptables -L
parameter -R untuk mengganti sebuah aturan dengan aturan yang baru.
parameter -D untuk menghapus sebuah aturan.
parameter -F untuk menghapus seluruh aturan pada chain.

2 comments:

Liat juga ;
http://tuma.vlsm.org/wiki/index.php/Packet_Filter

untuk memblock lebih dari 1 IP,mis ;
iptables -A OUTPUT -f --dst-range 192.168.4.5-192.168.4.7 -j DROP

liat;
$ man iptables

Hy Denny, liknya gak jalan. alias broken link.

 

Home | Blogging Tips | Blogspot HTML | Make Money | Payment | PTC Review

Denoxcyber © Template Design by Herro | Publisher : Templatemu