Upload
husnimubarrok
View
160
Download
4
Embed Size (px)
Citation preview
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
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
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
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
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
- 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
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
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
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
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
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
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
M. Husni Mubarrok | 2103131032 13
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