praktikum 6 - iptables
TRANSCRIPT
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
1
Laporan Resmi
Praktikum Minggu 10 - IPTABLES
A. Tujuan Pembelajaran
1. Mengenalkan pada mahasiswa tentang konsep dasar firewall
2. Mahasiswa mampu melakukan proses filtering menggunakan iptables
B. Tugas
1. Summary IPTABLES
2. Bagaimana membuat rule IPTABLES persistent di system Anda
3. Buat rule firewall untuk :
a. Drop icmp dari network 10.252.108.0/24
b. Drop seluruh paket data dari network 192.168.x.0/24 kecuali paket berisi
protocol HTTPxSSH
C. 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
paket harus 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.
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
2
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.
Melalui modul yang dapat dimuat melalui aturan, iptables juga dapat melacak
koneksi. Ini berarti Anda dapat membuat aturan yang mendefinisikan apa yang terjadi
pada paket berdasarkan hubungannya dengan paket sebelumnya. Kami menyebutnya
kemampuan ini "pelacakan negara", "pelacakan koneksi", atau mengkonfigurasi "mesin
negara".
Untuk panduan ini, kami terutama 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
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
3
Selanjutnya dicocokkan berdasarkan tabel policy yang dipunyai firewall apakah di-
accept atau di-drop
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
4
Sedangkan Prinsip Kerja Firewall adalah seperti dibawah ini :
Sintaks Iptables :
- -A, menambah satu aturan baru ditempatkan pada posisi terakhir
iptables –A INPUT -
- -D, menghapus rule
iptables –D INPUT 1
iptables –D –s 202.154.178.2 -
- -I, menambah aturan baru penempatan bisa disisipkan sesuai nomor
iptables –I INPUT 3 –s 202.154.178.2 –j ACCEPT
- -R, mengganti rule
iptables –R INPUT 2 –s –s 202.154.178.2 –j ACCEPT
- -F, menghapus seluruh rule
iptables –F
- -L, melihat Rule
iptables -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
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
5
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
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 publik
iptables –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 publik
iptables –t nat –A POSTROUTING –o eth0 –dport 80 –j MASQUERADE
- REDIRECT, sigunakan untuk transparent proxy
ipatbles –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.conf
iptables –A FORWARD –j LOG –log-level-debug
iptables –A FORWARD –j LOG –log-tcp-options
Firewall Options :
Mengeluarkan Modul-modul Iptables
- /sbin/modprobe ip_tables
- /sbin/modprobe ip_conntrack
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
6
- /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 :
- 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
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
7
D. Tugas 2
1. Install package iptables-persistent
2. Tempatkan rulesets pada direktori /etc/iptables
iptables-persistent memppunyai dua konfigurasi file :
- /etc/iptables/rules.v4 for the IPv4 ruleset dan/atau
- /etc/iptables/rules.v6 for the IPv6 ruleset
File ruleset harus dalam format yang sesuai untuk digunakan pada iptables-restore
atau ip6tables-restore. Berikut ini adalah cara mengkonfigurasi tabel filter IPv4 :
Untuk dapat mencapai efek yang sama, kita dapat menggunakan perintah iptables-
save dan ip6tables-save, misalnya:
3. Memulai service iptables-persistent
Services iptables-persistent secara otomatis dimulai ketika sistem reboot.
selain itu, terdapat cara lain yaitu :
service iptables-persistent start
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
# Generated by iptables-save v1.4.8 on Wen Nov 11 11:00:29 2015
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [27:3068]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Wen Nov 11 11:00:29 2015
apt-get install iptables-persistent
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
8
E. Tugas 3
1. Buka terminal pada Debian dan masuk sebagai root
2. Setting Komputer Router
3. Setting IP Address dan restart
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
9
4. Setting Routing
5. Setting IP Forward
6. Setting dengan NAT
7. Setting Client
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
10
8. Cek Konektifitas pada terminal/command prompt(cmd)
Dari komputer router ke client
Dari client ke komputer
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
11
9. Drop icmp dari network 10.252.108.0/24
Pada komputer router
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
12
Pada client sebelum drop
Pada client sesudah drop
10. Drop seluruh paket data dari network 192.168.x.0/24 kecuali paket berisi protocol
HTTPxSSH
Pada komputer router
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
13
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
14
Pada client sesudah drop
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
15
F. Tugas 4 (Cara Kerja FIREWALL pada praktikum)
Diatas merupakan prinsip kerja Firewall pada umumnya, dimana jika paket
destination didalam Firewall maka akan berlanjut ke proses INPUT, sedangkan jika paket
destination diluar Firewall maka akan berlanjut ke proses FORWARD. Dibawah ini kami
akan menjelaskan cara kerja FIREWALL pada praktikum yang telah kami lakukan :
Pada gambar diatas dapat dijelaskan bahwa sebuah paket masuk yang berasal dari
jaringan dengan IP 10.252.108.0/24 yang memiliki tujuan jaringan yang berada pada
system firewall sendiri yaitu IP Host. Pertama kali akan masuk proses PREROUTING
(Translasi alamat yang memasuki kartu jaringan, kita juga bisa membelokkan paket data
ke port tertentu untuk membangun server internet hanya dengan satu IP publik).
Keamanan Jaringan
| Ghozi Septiandri - 3 D3 IT B – 2103131048 |
| Berdawati Sukmaning S - 3 D3 IT B – 2103131056 |
16
Kemudian masuk Routing Decision dimana akan dilanjutkan ke proses INPUT
(Mengatur paket data yang memasuki firewall dari arah intranet maupun internet) karena
Destination IP merupakan Firewall itu sendiri/ IP Host. Selanjutnya masuk ke Proses
Lokal dan berlanjut pada proses OUTPUT (Mengatur paket data yang keluar dari firewall
ke arah intranet maupun internet) dan maka akan dilakukan proses POSTROUTING
(Translasi alamat yang keluar dari firewall, berarti kita melihat paket data yang keluar
dari kartu LAN) dan menuju destination IP.
Pada gambar diatas dapat dijelaskan bahwa sebuah paket masuk yang berasal dari
jaringan dengan IP 10.252.108.0/24 yang memiliki tujuan jaringan yang berada pada
system firewall sendiri yaitu IP Host. Pertama kali akan masuk proses PREROUTING
(Translasi alamat yang memasuki kartu jaringan, kita juga bisa membelokkan paket data
ke port tertentu untuk membangun server internet hanya dengan satu IP publik).
Kemudian masuk Routing Decision dimana akan dilanjutkan ke proses FORWARD
(Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun
sebaliknya) karena Destination IP diluar Firewall. Selanjutnya masuk ke proses
POSTROUTING (Translasi alamat yang keluar dari firewall, berarti kita melihat paket
data yang keluar dari kartu LAN) dan menuju destination IP.
G. Kesimpulan
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.
Ketika melakukan drop maka koneksi akan terputus sesuai paket yang kita drop.
Paket yang sudah kita drop akan terdapat pada forward. Jika seperti itu, kita tidak akan
bisa terhubung dengan server kecuali drop yang dilakukan memiliki pengecualian seperti
pada tugas 3 nomor 10. Seluruh paket akan di drop kecuali SSH dan FTP. Jadi, walaupun
kita dapat menggunakan paket SSH da FTP, kita tidak akn terhubung dengan server.