Jumat, 15 Mei 2020

Dasar-Dasar Iptables Pada Linux

      Mengenal Apa itu iptables - Kamus Komputer                          Dasar-Dasar Iptables Pada Linux
                             
    Iptables adalah aplikasi yang ada pada sistem operasi linux yang berfungsi melakukan filter terhadap trafik pada jaringan. Jadi firewall yang ada pada sistem operasi Linux ini dijalankan oleh iptabes.

Selain menjalankan sebagai firewall, iptables juga berfungsi menjalankan fungsi NAT. NAT itu sendiri merupakan internet gateway yang menghubungkan jaringan lokal dengan jaringan internet.

Secara default Iptables ini sudah terinstall pada sistem operasi dengan basis Fedora dan RedHat.

Tabel Aturan Pada Iptables
Pada Iptables ada beberapa tabel aturan yang perlu diperhatikan, sebagai berikut:

Filter – Menentukan paket yang akan di DROP, LOG, ACCEPT, atau REJECT.
NAT – Mentranslasikan (merubah) alamat asal atau tujuan dari sebuah paket.
Mangle – Melakukan penghalusan (mangle) pada paket data seperti TTL, TOS, dan MARK.
Setiap tabel diatas memiliki rule-rule atau aturan yang disebut chain.

Filter memiliki 3 buah chain:

FORWARD: Melakukan filter paket yang akan di forward dari NIC satu ke NIC yang lain seperti fungsi pada router

INPUT: Melakukan filter paket yang ditujukan untuk firewall.

OUTPUT: Melakukan filter paket yang akan keluar dari firewall.

NAT memiliki 3 buah chain:

PRE-ROUTING: Digunakan untuk mentranslasikan address sebelum proses routing terjadi, yaitu merubah IP tujuan dari paket data biasanya disebut dengan Destination NAT atau DNAT.

POST-ROUTING: Digunakan untuk mentraslasikan address setelah proses routing terjadi, yaitu merubah source IP dari paket data biasanya disebut dengan Source NAT atau SNAT.

OUTPUT: Digunakan untuk mentranslasikan address paket data yang berasal dari firewall itu sendiri.

Mangle memiliki 5 buah chain:

Untuk mange sendiri mempunya 5 buah chain, yaitu PREROUTING, POSTROUTING, INPUT, OUTPUT, FORWARD.
Semua chains diperuntukkan untuk TCP Packet Quality of Service sebelum proses routing dijalankan.

Aturan Membuat Iptables
Perintah dasar pada iptables pada dasarnya memiliki ketentuan. Iptables sendiri bisa dikatakan sebagai tabel IP sesuai dengan namanya. Sistem hanya akan menjalankan rule yang ada pada tabel. Rule yang ada pada iptables dapat dimodifikasi (tambah, edit, hapus) sesuai dengan kebutuhan. Berikut ini adalan command dasar dan parameter yang digunakan untuk membuat rule pada iptables.

#Command

Berikut ini command dasar yang digunakan untuk membuat rule menggunakan iptables.

-A, –append == Menambahkan aturan di akhir chain. Aturan ditambahkan di akhir baris chain yang bersangkutan, sehingga dieksekusi terakhir kali.
-D, –delete == Menghapus satu aturan chain. Dengan mendefinisikan perintah/rule yang ingin dihapus secara lengkap atau menyebutkan nomor baris perintah yang akan dihapus.
-R, –replace == Menggantikan aturan chain dengan aturan baru.
-I, –insert == Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan ke baris yang ditulis, dan aturan yang tadinya ada di baris tersebut akan bergeser ke bawah bersama dengan baris-baris selanjutnya.
-L, –list == Menampilkan semua aturan pada tabel.
-F, –flush == Perintah ini mengosongkan aturan pada sebuah chain.
-N, –new-chain == Membuat chain baru.
-X, –delete-chain == Menghapus chain yang dituliskan. Dengan catatan, tidak boleh ada aturan lain yang bersangkutan dengan chain tersebut.
-P, –policy == Membuat kebijakan default pada chain. Jika ada paket yang tidak memenuhi aturan pada baris yang diinginkan, paket akan diperlakukan sesuai dengan kebijakan default ini.
-E, –rename-chain == Mengubah nama chain.

#Parameter

Berikut ini adalah parameter-parameter yang digunakan pada saat akan membuat satu aturan/rule mnggunakan iptables.

-p, –protocol == mengidentifikasikan protocol dalam rule seperti tcp, udp, icmp.
-m, –match-option == mirip dengan –p tetapi modul yang digunakan dan bebas menentukan nama modul yang dipakai dan mengvariasikannya dalam perintah selanjutnya.
-s, –source == alamat hostname/ip.
-d, –destination == tujuan dari alamat ip.
-j, –jump == memberikan keputusan setelah paket data cocok dengan aturan.
-i, –in-interface == alias nama iterface yang menerima kiriman paket (terbatas pada chai INPUT, FORWARD dan PREROUTING saja).
-o, –out-interface == alias nama interface yang akan mengirim paket keluar (pada chain FORWARD, OUTPUT dan POSTROUTING).
-c, –counter == untuk menghitung paket-paket yang lewat dari sebuah aturan.
-n, –numeric == menampilkan output numeric seperti hostname, ip, port, nama network.
-v, –verbose == yang berarti menampilkan informasi secara keseluruhan alias dalam bahasa indonesia terjemahan.

Contoh:
#iptables -A INPUT -p tcp –dport: ssh -j ACCEPT

Dari contoh diatas dapat kita artikan sebagai berikut:

Menambahkan pada chain (-A INPUT) pada trafik yang lewat
Melakukan pengecekan hanya untuk protokol TCP (-p TCP)
Apabila protokol benar maka dilakukan pengecekan untuk tujuan port nya, dalam contoh ini tujuan port untuk ssh (port 22)
Apabila semuanya terpenuhi maka koneksi terbangun.

#iptables -I INPUT -s 9.8.7.6/32 -j DROP

Dari contoh diatas dapat kita artikan sebagai berikut:

Menambahkan pada chain INPUT (Melakukan blok pada IP attacker)
Melakukan pengecekan sumber IP yang datang dari IP 9.8.7.6
Apabila IP tersebut cocok maka langsung dilakukan DROP pada paket tersebut.

#iptables -I FORWARD -p udp –dport 1434 -j DROP

Dari contoh diatas dapat kita artikan sebagai berikut:

Menambahkan pada chain FORWARD (memfilter paket yang menuju server yang dapat diakses oleh NIC lain) dan contoh diatas merupakan contoh untuk melakukan blok pada WORM
Melakukan pengecekan protokol yang digunakan, pada rule diatas harus UDP
Kemudian tujuan port yaitu 1434 MsSQL
Dan yang terakhir dilakukan aksi DROP pada paket tersebut

0 komentar:

Posting Komentar