Laporan iptables

17
Laporan Resmi Workshop Keamanan DATA “FIREWALL” 1. Tugas 1 : Summary IPTABLES Iptables adalah networking administration command-line tool pada Linux yang mana interfaces untuk kernel-provided Netfilter modules. Iptables memungkinkan untuk stateless dan stateful firewalls dan NAT. Hal ini berguna untuk mempertimbangkan Iptables sebagai specialized firewall- creation programming language. Bagaimana Iptables bekerja? Iptables firewall beroperasi dengan membandingkan traffic jaringan terhadap seperangkat aturan. Aturan mendefinisikan karakteristik yang mana paket harus sesuai aturan, dan tindakan yang harus diambil untuk pencocokan paket. Ada banyak pilihan untuk menetapkan paket sesuai aturan tertentu. Anda dapat mencocokkan dengan jenis protokol paket, sumber atau alamat tujuan atau port, antarmuka yang sedang digunakan, hubungannya dengan paket sebelumnya, dll Ketika pola didefinisikan sesuai, tindakan yang terjadi disebut target. Sebuah target dapat menjadi keputusan kebijakan akhir untuk paket, seperti menerima, atau menjatuhkan. Hal ini juga dapat memindahkan paket ke chains yang berbeda untuk diproses, atau hanya log pertemuan itu. Ada banyak pilihan. Aturan-aturan ini akan disusun dalam kelompok yang disebut chains. Sebuah chains adalah seperangkat aturan yang paket diperiksa terhadap berurutan. Ketika paket dengan salah satu aturan, dijalankan tindakan terkait dan tidak diperiksa terhadap aturan yang tersisa dalam chains. Seorang pengguna dapat menciptakan chains yang diperlukan. Ada tiga chains didefinisikan secara default, yaitu: - INPUT: Chains ini menangani semua paket yang ditujukan ke server Anda. M. Husni Mubarrok | 2103131032 1

Transcript of Laporan iptables

Page 1: Laporan iptables

Laporan ResmiWorkshop Keamanan DATA

“FIREWALL”

1. Tugas 1 : Summary IPTABLES

Iptables adalah networking administration command-line tool pada Linux yang mana interfaces untuk kernel-provided Netfilter modules. Iptables memungkinkan untuk stateless dan stateful firewalls dan NAT. Hal ini berguna untuk mempertimbangkan Iptables sebagai specialized firewall-creation programming language. Bagaimana Iptables bekerja? Iptables firewall beroperasi dengan membandingkan traffic jaringan terhadap seperangkat aturan. Aturan mendefinisikan karakteristik yang mana paket harus sesuai aturan, dan tindakan yang harus diambil untuk pencocokan paket.

Ada banyak pilihan untuk menetapkan paket sesuai aturan tertentu. Anda dapat mencocokkan dengan jenis protokol paket, sumber atau alamat tujuan atau port, antarmuka yang sedang digunakan, hubungannya dengan paket sebelumnya, dll

Ketika pola didefinisikan sesuai, tindakan yang terjadi disebut target. Sebuah target dapat menjadi keputusan kebijakan akhir untuk paket, seperti menerima, atau menjatuhkan. Hal ini juga dapat memindahkan paket ke chains yang berbeda untuk diproses, atau hanya log pertemuan itu. Ada banyak pilihan. Aturan-aturan ini akan disusun dalam kelompok yang disebut chains. Sebuah chains adalah seperangkat aturan yang paket diperiksa terhadap berurutan. Ketika paket dengan salah satu aturan, dijalankan tindakan terkait dan tidak diperiksa terhadap aturan yang tersisa dalam chains.Seorang pengguna dapat menciptakan chains yang diperlukan. Ada tiga chains didefinisikan secara default, yaitu:

- INPUT: Chains ini menangani semua paket yang ditujukan ke server Anda.- OUTPUT: Chains ini berisi aturan untuk trafic yang dibuat oleh server Anda.- FORWARD: Chains ini digunakan untuk menangani traffic diperuntukkan untuk

server lainnya yang tidak dibuat pada server Anda. Chains ini pada dasarnya adalah cara untuk mengkonfigurasi server Anda untuk permintaan rute ke mesin lain.

Setiap chains dapat berisi nol atau lebih aturan, dan memiliki kebijakan default. Kebijakan menentukan apa yang terjadi ketika sebuah paket tetes melalui semua aturan dalam chains dan tidak sesuai aturan apapun. Anda juga dapat drop paket atau menerima paket jika tidak ada aturan sesuai.

M. Husni Mubarrok | 2103131032 1

Page 2: Laporan iptables

Untuk panduan ini, kami akan mencakup konfigurasi chains INPUT, karena mengandung seperangkat aturan yang akan membantu kita menyangkal traffic yang tidak diinginkan diarahkan pada server kami.

Prinsip Kerja Iptables dimana paket masuk diproses berdasarkan tujuan :- Destination IP untuk Firewall => masuk proses input- Destination IP bukan untuk firewall tapi diteruskan => masuk proses FORWARD

Konsep Dasar:

Iptables digunakan untuk menginspeksi, memodifikasi, memforward , meredirect dan/

atau mendrop paket Ipv4. Code untuk memfilter paket Ipv4 sudah terdapat pada kernel

dan diorganisasikan ke koleksi table dengan setiap tujuan yang spesifik. Table ini dibuat

dari beberapa rangkaian urutan yang didefinisikan dan urutan yang mengandung aturan

yang dilalui melalui order. Setiap peraturan mengandung prediksi dari potensial

kecocokan dan mengandung aksi atau tindakan tertentu yang akan dijalankan jika prediksi

ini bernilai true.

Selanjutnya dicocokkan berdasarkan tabel policy yang dipunyai firewall apakah di-accept atau di-drop

M. Husni Mubarrok | 2103131032 2

Page 3: Laporan iptables

Pada gambar diatas, setiap paket yang menuju ke sebuah network/jaringan akan melalui

fase fase yang ada digambar diatas. Biasanya, paket yang datang dari internal network

dan eksternal network diperlakukan dengan beda.

Tables:

Iptables mengandung 5 table:

1. Raw yang digunakan hanya untuk mengkonfigurasi paket sehingga paket bebas dari

connection tracking

2. Filter adalah default table dan dimana semua aksi diasosiakan/berhubungan dengan

firewall

3. NAT digunakan untuk network address translation

4. Mangle yang digunakan untuk perubahan packet.

5. Security yang digunakan untuk Mandatory Access Control networking rules.

Chains:

Table yang mengandung list dari rules/aturan aturan yang diikuti oleh urutan tertentu.

Default table Filter terdiri dari 3 built ini chains: Input, Output, Forward yang mana

diaktifkan pada point tertentu pada proses filter.

Rules:

Filter paket didasarkan dari rules , yang mana dispesifikasikan oleh beberapa

kecocokan( kondisi yang harus dipenuhi sehingga rules ini bisa diaplikasikan) dan 1

target(action yang diambil ketika paket yang ada cocok dengan semua kondisi). Rules

yang ada ini bisa berupa interfaces apa yang dating apakah eth0/eth1, dan tipe dari paket

yang dating bisa berupa ICMP,UDP, atau TCP atau port tujuan dari paket.

Transversing Chains:

Sebuah paket network yang diterima dari bermacam interfaces, mengubah traffic control

chains of tables. Hasil keputusan dari routing yang pertama melibatkan penentuan

destinasi akhir dari paket yang dating. Hasil keputusan Subsequent routing melibatkan

penentuan interfaces yang akan menangani paket yang akan keluar.

M. Husni Mubarrok | 2103131032 3

Page 4: Laporan iptables

Modules:

Ada banyak modul yang bisa digunakan untuk mengextend iptables seperti conlimit, conntrack, limit dan recent. Modul modul ini menambahkan fungsionalitas baru yang memungkinkan rules filtering yang kompleks.

Sintaks Iptables :- -A, menambah satu aturan baru ditempatkan pada posisi terakhir

iptables –A INPUT -- -D, menghapus rule

iptables –D INPUT 1iptables –D –s 202.154.178.2 -

- -I, menambah aturan baru penempatan bisa disisipkan sesuai nomoriptables –I INPUT 3 –s 202.154.178.2 –j ACCEPT

- -R, mengganti ruleiptables –R INPUT 2 –s –s 202.154.178.2 –j ACCEPT

- -F, menghapus seluruh ruleiptables –F

- -L, melihat Ruleiptables -L

Parameter pada Iptables :- -p [!] protocol, protokol yang akan dicek

iptables –A INPUT –p tcp -- -s [!] address/[mask], memeriksa kecocokan sumber paket

iptables –A INPUT –s 10.252.44.145 -- -d [!] address/[mask], memerika kecocokan tujuan paket

iptables –A INPUT –d 202.154.178.2 -- -j target, menentukan nasib paket, target misal ACCEPT/DROP/REJECT

iptables –A INPUT –d 202.154.178 –j DROP- -i [!] interface_name, identifikasi kartu jaringan tempat masuknya data

iptables –A INPUT –i etho -- -o [!] interface_name, identifikasi kartu jaringan tempat keluarnya paket

iptables –A OUTPUT –o eth1 -

Match Iptables:- --mac address, matching paket berdasarkan nomor MAC Address

iptables –m mac –mac-address 44:45:53:54:00:FF- Multiport, mendifinisikan banyak port

iptables –m multiport –source-port 22,25,110,80 –j ACCEPT- State, mendefinisikan state dari koneksi

iptables –A INPUT –m state –state NEW, ESTABLISH –j ACCEPT

M. Husni Mubarrok | 2103131032 4

Page 5: Laporan iptables

Target/Jump Iptables :- ACCEPT, setiap paket langsung diterima

iptables –A INPUT –p tcp –dport 80 –j ACCEPT- DROP, paket datang langsung dibuang

iptables –A INPUT –p tcp –dport 21 –j DROP- REJECT, paket yang ditolak akan dikirimi pesan ICMP error

iptables –A INPUT –p tcp –dport 21 –j REJECT- SNAT, sumber paket dirubah, biasanya yang memiliki koneksi internet

iptables –t nat –A POSROUTING –p tcp –o eth0 –j SNAT –to-source 202.154.178.2

- DNAT, merubah tujuan alamat paket. Biasanya jika server alamat Ipnya lokal, supaya internet bisa tetap akses diubah ke publikiptables –t nat –A PREPROUTING –p tcp –d 202.154.178.2 –dport 80 –j DNAT –todestination 192.168.1.1

- MASQUERADE, untuk berbagi koneksi internet dimana no_ipnya terbatas, sebagai mapping ip lokal ke publikiptables –t nat –A POSTROUTING –o eth0 –dport 80 –j MASQUERADE

- REDIRECT, sigunakan untuk transparent proxyipatbles –t nat –A PREROUTING –p tcp –d 0/0 –dport 80 –j REDIRECT –to-port 8080

- LOG, melakukan pencatatan terhadap aktifitas firewall kita, untuk melihat bisa dibuka /etc/syslog.confiptables –A FORWARD –j LOG –log-level-debugiptables –A FORWARD –j LOG –log-tcp-options

Firewall Options :Mengeluarkan Modul-modul Iptables- /sbin/modprobe ip_tables- /sbin/modprobe ip_conntrack- /sbin/modprobe iptable_filter- /sbin/modprobe iptable_mangle- /sbin/modprobe iptable_nat- /sbin/modprobe ipt_LOG- /sbin/modprobe ipt_limit- /sbin/modprobe ipt_state- /sbin/modprobe ip_conntrack_ftp- /sbin/modprobe ip_conntrack_irc- /sbin/modprobe ip_nat_ftp- /sbin/modprobe ip_nat_irc

Menghapus Rule Iptables :M. Husni Mubarrok | 2103131032 5

Page 6: Laporan iptables

- Menghapus aturan iptables$IPTABLES -F$IPTABLES -t nat -F$IPTABLES -t mangle -F

- Menghapus nama kolom yg dibuat manual$IPTABLES -X$IPTABLES -t nat -X$IPTABLES -t mangle -X

Forward Iptables :

- iptables –t nat –A POSTROUTING –s IP_number -d 0/0 –j MASQUERADE- iptables –A FORWARD –p icmp –s 0/0 –d 0/0 –j ACCEPT- iptables –A INPUT –p imcp –s 0/0 –j DROP- iptables –A FORWARD –i eth1 –o eth0 –p icmp –s 10.252.105.109 –d

192.168.108.5 –j ACCEPT- iptables –A FORWARD –s 192.168.108.5/24 –d 0/0 –p tcp --dport ftp, -j REJECT

2. Tugas 2 : Bagaimana membuat rule IPTABLES persistent di system Anda- Langkah awal yaitu install paket iptables persistent terlebih dahulu pada sistem,

dengan menggunakan perintah “apt-get install iptables-

persistent”

- Tempatkan rulesets pada direktori /etc/iptables , iptables-persistent memppunyai dua konfigurasi file :i. “/etc/iptables/rules.v4” untuk ruleset IPv4

ii. “/etc/iptables/rules.v6” untuk ruleset IPv6

M. Husni Mubarrok | 2103131032 6

Page 7: Laporan iptables

dalam mengkonfigurasi ruleset dari IPV4, terdapat dalam file

/etc/iptables/rules.v4, maka buka file dengan perintah

“nano /etc/iptables/rules.v4”.

File ruleset harus dalam format yang sesuai dengan perintah iptables-restore.

ketikkan format seperti diatas untuk mengkonfigurasi table filter v4.

- Konfigurasi yang telah dilakukan sebelumnya tidak dapat tersimpan secara otomatis.

Oleh karena itu, versi terbaru dari iptables-persistent ini akan membuat file

konfigurasi ketika paket diinstall.

Agar file konfigurasi yang sudah diatur sebelumnya dapat tersimpan, maka dapat

digunakan perintah iptables-save untuk IPV4.

Perintahnya adalah iptables-save > /etc/iptables/rules.v4

- Karena layanan iptables-persistent akan secara otomatis dilakukan ketika sistem

reboot, sehingga langkah selanjutnya adalah start iptables-persistent yang telah

disimpan konfigurasinya dengan perintah service iptables-persistent

start

3. Tugas 3 : Buat rule firewall untuk

M. Husni Mubarrok | 2103131032 7

Page 8: Laporan iptables

a. Drop icmp dari network 10.252.108.0/24b. Drop seluruh paket data dari network 192.168.x.0/24 kecuali paket berisi protocol

HTTP dan SSH

Langkah – langkah :1. Drop icmp dari network 10.252.108.0/24

a. Buat rule rule firewall sebagai berikut :

Setting untuk memblok request ke jaringan 10.252.108.0/24 dengan

perintah :

Untuk mengatasi paket data yang masuk

iptables –A INPUT –s 10.252.108.0/24 0/0 –p icmp –

icmp-type echo-request –j DROP

Untuk menghasilkan paket data yang diteruskan

iptables –A OUTPUT –s 10.252.108.0/24 0/0 –p icmp

–icmp-type echo-request –j DROP

Untuk mengalihkan paket data yang datang

iptables –A FORWARD –s 10.252.108.0/24 0/0 –p icmp

–icmp-type echo-request –j DROP

Cek rule firewall

lakukan ping ke jaringan 10.252.108.0/24, baik melalui jaringan lokal

ataupun client untuk memastikan sudah terkonesksi satu dengan yang lain

M. Husni Mubarrok | 2103131032 8

Page 9: Laporan iptables

Dari client lakukan ping pada router dengan ip 10.252.108.248 , ini akan

terkoneksi pada device router dengan eth1

Pada setting memblok icmp type request ini, jaringan hanya akan

melakukan blok request pada saat ada IP address lain melakukan koneksi

atau melakukan ping. Sehingga jaringan lain tidak bisa melakukan koneksi

pada jaringan ini.

Setting memblok reply ke jaringan 10.252.108.0/24 dengan perintah :

Untuk mengatasi paket data yang masuk

iptables –A INPUT –s 10.252.108.0/24 0/0 –p icmp –

icmp-type echo-reply –j DROP

iptables –A OUTPUT –s 10.252.108.0/24 0/0 –p icmp

–icmp-type echo-reply –j DROP

perintah di atas di gunakan untuk Untuk menghasilkan paket data yang

diteruskan

Untuk mengalihkan paket data yang datang gunakan perinah :

iptables –A FORWARD –s 10.252.108.0/24 0/0 –p icmp

–icmp-type echo- reply –j DROP

Cek rule dari iptable dengan menggunakan perintah iptables -nL

M. Husni Mubarrok | 2103131032 9

Page 10: Laporan iptables

Lakukan ping pada jaringan 10.252.108.0/24, baik melalui jaringan lokal

ataupun client

Pada setting memblok icmp type reply ini, jaringan hanya akan melakukan

blok reply pada saat ada IP address yang ada dalam jaringan lain

melakukan koneksi atau melakukan ping. Namun sebenarnya jaringan lain

tersebut bisa melakukan koneksi atau melakukan request ke jaringan ini

tetapi jaringan tersebut tidak mendapatkan reply dari jaringan

10.252.108.0/24.

Setting memblok icmp ke jaringan 10.252.108.0/24 dengan perintah :

iptables –A INPUT –s 10.252.108.0/24 0/0 –p icmp –

j DROP

iptables –A OUTPUT –s 10.252.108.0/24 0/0 –p icmp

–j DROP

iptables –A FORWARD –s 10.252.108.0/24 0/0 –p icmp

–j DROP

o INPUT digunakan untuk mengatasi memblok icmp ke jaringan

10.252.108.0/24 yang masuk

o OUTPUT digunakan untuk menghasilkan paket data yang diteruskan

M. Husni Mubarrok | 2103131032 10

Page 11: Laporan iptables

o FORWARD digunakan untuk mengalihkan paket data yang dating

Cek rule firewall

Lalu coba lakukan ping ke jaringan 10.252.108.0/24, baik melalui jaringan

lokal ataupun client

Pada setting memblok icmp type ini, jaringan akan melakukan semua blok

baik reply maupun request, pada saat ada IP address yang ada dalam

jaringan lain melakukan koneksi atau melakukan ping.

b. Drop seluruh packet dari network 192.168.x.0/24 kecuali packet berisi

protokol HTTP dan SSH

Dari komputer Router buat rule rule firewall sebagai berikut :

Mendrop seluruh packet kecuali packet berisi protocol SSHM. Husni Mubarrok | 2103131032 11

Page 12: Laporan iptables

iptables –A FORWARD –s 192.168.10.0/24 –d 0/0 –p tcp

–dport ssh –j ACCEPT

Mendrop seluruh packet kecuali packet berisi protocol HTTP

iptables –A FORWARD –s 192.168.10.0/24 –d 0/0 –p tcp

–dport http –j ACCEPT

Mendrop seluruh packet

iptables –A FORWARD –s 192.168.10.0/24 –d 0/0 –p tcp

–j ACCEPT

Cek rule firewall

Lakukan percobaan pada web, ssh dan ftp pada jaringan 192.168.10.0/24, catat

hasilnya dan harus sesuai dengan rule, jika tidak sesuai ganti nomor urut rule

firewall yang anda masukkan dan pastikan rule terpenuhi

M. Husni Mubarrok | 2103131032 12

Page 13: Laporan iptables

M. Husni Mubarrok | 2103131032 13

Page 14: Laporan iptables

Berikut merupakan cara lain dalam melakukan drop paket data yaitu dengan pembuatan POSTROUTING, file ini terdapat dalam file /etc/rc.local . lakukan konfigurasi seperti pada gambar berikut ini. Dengan mengetikkan perintah nano /etc/rc.local

File di atas akan di jalankan pada saat sistem melakukan booting, setiap booting akan mengecek pada file tersebut apakah terdapat sebuah perintah. Jika iya perintah tersebut akan di jalankan secara otomatis tanpa kita menjalankan secara manual yang seperti pada cara di atas

M. Husni Mubarrok | 2103131032 14