Soal Pendahuluan:
1. Apakah
yang Disebut IPTABLES!
2. Bagaimana aturan penulisan dalam IPTABLES?
3. IPTABLES
punya berapa table ? Sebut dan Jelaskan!
4. Pada Tabel ada 3 jenis chain sebutdan jelaskan perbedaannnya!
5. Sebut dan Jelaskan 3 jenis NAT!
6. Apa yang membedakan Meangle dengan tabel lainny?
7. Apa kegunaan PREROUTING dan POSTROUTING?
8. Pada penulisan IPtables di targat terdapat special property, Apakah yang
dimaksud special property tersebut?
9. Sebutkan perbedaan DROP dan REJECT!
10. Jelaskan iptables di bawah ini!
Jawaban:
1.
iptables adalah suatu tools dalam
sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter
(penyaringan) terhadap (trafic) lalulintas data. Secara sederhana digambarkan sebagai
pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua
lalulintas dalam komputer kita, baik yang masuk ke komputer, keluar dari
komputer, ataupun traffic yang sekedar melewati komputer kita.
2.
iptables
[–t tables] [option] [rule] [target]
Contohnya:
iptables –P FORWARD ACCEPT
3.
IPTables
memiliki beberapa buah tabel yaitu NAT, MANGLE, dan FILTER. Penjelasannya
adalah:
1.
Table
Mangle:
tabel yang bertanggung jawab untuk melakukan
penghalusan (mangle) paket seperti merubah
quality of service (QOS), TTL, dan MARK di header TCP. Biasanya tabel
ini jarang digunakan di lingkungan SOHO.
2.
Table
Filter:
tabel yang bertanggung jawab untuk pemfilteran
paket.
Tabel ini mempunyai 3 rantai (chain) yaitu:
1.
Rantai
Forward yaitu rantai yang
memfilter paket-paket yang akan ke server yang dilindungi oleh firewall. Rantai
ini digunakan ketika paket-paket datang dari
IP Publik dan bukan dari IP lokal.
2.
Rantai
Input: yaitu rantai yang
memfilter paket-paket yang ditujukan ke firewall.
3.
Rantai
Output: yaitu rantai yang
memfilter paket-paket yang berasal dari firewall.
3.
Tabel
NAT:
rantai yang bertanggung jawab untuk melakukan Network Address Translation (NAT). NAT yaitu mengganti field asal atau alamat tujuan dari sebuah
paket. Pada tabel ini terdapat 2 rantai, yaitu:
1.
Rantai
Pre-Routing: Merubah paket-paket
NAT dimana alamat tujuan dari
paket-paket tersebut terjadi perubahan. Biasanya dikenal dengan destination NAT atau DNAT.
2.
Rantai
Post-Routing: Merubah paket-paket
NAT dimana alamat sumber dari
paket-paket tersebut terjadi perubahan. Biasanya dikenal dengan source NAT atau SNAT.
4.
INPUT
Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelola komputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSH ke firewall dan yang lain tidak boleh.
Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelola komputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSH ke firewall dan yang lain tidak boleh.
OUTPUT
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.
FORWARD
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:
a. ACCEPT
Akses diterima dan diizinkan melewati firewall
Akses diterima dan diizinkan melewati firewall
b. REJECT
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
c. DROP
Akses diterima tetapi paket data langsung dibuang
oleh kernel, sehingga pengguna
tidak mengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan – akan server yang
dihubungi mengalami permasalahan
teknis. Pada koneksi internet yang sibuk dengan trafik tinggi. Target Drop sebaiknya jangan digunakan.
5.
A. Basic NAT / Pooled NAT / dynamic
1 – 1 NAT
Host private dapat terhubung ke alamat – alamat host global dengan
melalui proses routing terlebih dahulu oleh router. Dynamic NAT menterjemahkan
tiap host dengan IP yang tidak terdaftar pada salah satu IP yang terdaftar agar
terhubung ke internet. IP address yang diasosiasikan pada jaringan ini bersifat
dinamis
B. static 1 – 1
NAT
Host private dapat terhubung ke alamat – alamat host global secara
dengan jalur / mapping dan IP address yang telah ditentukan (fixed). Jumlah IP
address yang terdaftar dan yang tidak pada jaringan ini sama.
C. M – 1 NAT
NAT jenis terbaru dan yang sering digunakan. Banyak host dapat
berhubungan pada host lain secara paralel
6. Mangle merupakan metode
bandwidth manajemen, kalau seandainya ingin bandwidth tersebut dibagi sama rata
oleh Mikrotik.
seperti bandwidth 256kbps downstream
dan 128kbps upstream. Sedangkan client yang akan mengakses sebanyak 10 client,
maka otomatis masing-masing client mendapat jatah bandwidth downstream sebanyak
256kbps dibagi 10 dan upstream sebanyak 128kbps dibagi 10. Jadi masing-masing
client mendapat 25,6kbps untuk downstream dan 12.8kbps untuk upstream.
Andaikata hanya 2 Client yang mengakses maka masing-masing client dapat 128kbps
untuk downstream dan 64kbps untuk upstream.
Untuk itu dipakai type PCQ (Per
Connection Queue), yang bisa secara otomatis membagi trafik per client.
7.
a. Rantai Pre-Routing: Merubah
paket-paket NAT dimana alamat tujuan dari paket-paket tersebut terjadi
perubahan. Biasanya dikenal dengan destination NAT atau DNAT.
b.
Rantai
Post-Routing: Merubah paket-paket NAT dimana alamat sumber dari paket-paket
tersebut terjadi perubahan. Biasanya dikenal dengan source NAT atau SNAT.
8.
a. ACCEPT
Ketika paket
cocok dengan daftar match dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan yang lain
dalam chain tersebut atau chain yang lain yang
mereferensi chain tersebut. Akan tetapi
paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.
b.
DROP
Target ini men-drop paket dan menolak untuk memproses lebih jauh.
Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead
socket antara client dan server. Paket yang menerima target
DROP benar-benar mati dan target tidak akan mengirim informasi tambahan dalam
bentuk apapun kepada client atau server.
c.
RETURN
Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain
dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari
chain yang lain, maka paket akan kembali ke superset chain di atasnya
dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama
misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain
tersebut.
d.
MIRROR
Apabila
kompuuter A menjalankan target seperti contoh di atas, kemudian komputer B melakukan
koneksi http ke komputer A, maka yang akan muncul pada browser adalah website
komputer B itu sendiri. Karena fungsi utama target ini adalah membalik source
address dan destination address. Target ini
bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang
dipanggil melalui chain tersebut.
9.
PERBEDAAN
REJECT dan DROP
PERBEDAAN
REJECT dan DROP
|
||
ASPEK
|
REJECT
|
DROP
|
Akses
|
Ditolak
|
Diterima
|
Koneksi
|
Langsung
terputus
|
Tidak diketahui, dibatasi
atau tidak
|
Keberadaan
Error Message
|
Ada.
Biasanya muncul error message "Connection Refused"
|
Tidak ada Error Message
|
Perilaku
terhadap bandwidth
|
Tidak menghabiskan
bandwidth, karena akses langsung ditolak
|
Menghabiskan bandwidth. Sangat berbahaya
dan tidak disarankan apabila menggunakan target Drop pada traffic yang
tinggi.
|
10. meneruskan paket yang berasal
dari semuanya yang masuk dari eth0 menuju ke
ip 192.168.1.158 keluar lewat eth1 menggunakan protocol TCP yang berasal
dari port 1024-65535 dan keluar melalui port 2 port: 80 dan dan 443
Soal Shift
a.
Semua
subnet tidak dapat mengakses TCP port 21, 443, 66 pada DMZ kecuali KEBUN_BIBIT
sedangkan port TCP yang diizinkan untuk mengakses DMZ adalah port 80, 8080, 22.
b.
Mengijinkan
semua akses UDP ke DMZ.
c.
Subnet
DMZ tidak dapat di PING dari luar selain subnet AJK dan jaringan internal.
d.
Koneksi
kepada DMZ melalui ssh dibatasi sebanyak 5 koneksi.
e.
Buatlah
sebuah perintah iptables untuk mengatasi synflood
f.
Buatlah
sebuah perintah iptables untuk mengatasi force ssh attack.
g.
Buatlah
perintah iptables untuk memblok paket scanning. Contoh: xmas, file scan.
h.
Subnet
taman_bungkul hanya bisa diakses oleh subnet kebun_bibit, subnet plasa_surabaya hanya bisa diakses ketika jam
kerja (08.00 – 16.00), subnet sutos tidak bisa melakukan koneksi ke YM dan Facebook serta
tidak bisa melakukan streaming video pada hari
dan jam kerja (senin-jumat 07.00-17.00).
i.
Selain
DMZ gunakan NAT untuk mengakses jaringan luar (tidak boleh menggunakan masquerade).
j.
Catat
semua log yang di-drop oleh firewall.
Jawaban:
1.
iptables
-A INPUT -p tcp -i eth0 -s ! 192.168.0.1/23 -d 10.151.71.24/29 -m
multiport --dport 21,443,66 -j REJECT
iptables -A INPUT -p tcp -i eth0 -s
0.0.0.0/0 -d 10.151.71.24/29 -m multiport --dport 80,8080,22 -j ACCEPT
2.
iptables
-A INPUT -p udp -i eth0 -d 10.151.71.24/29 -s 0.0.0.0/0 ACCEPT
3.
iptables
-A INPUT -p icmp -i eth0 -s !192.168.0.0/16
-d 10.151.77.64/29-j REJECT
iptables -A INPUT -p icmp -i eth0 -s
!10.151.76.0/24 -d 10.151.77.64/29 -j REJECT
4.
iptables
-A INPUT -p tcp -i eth1 -d 10.151.71.24/29 --syn --dport 22 -m connlimit
--connlimit-above 5 -j REJECT
5.
iptables -A INPUT -p tcp --syn -m limit --limit 1/s
--limit-burst 3 -j REJECT
6.
iptables -I INPUT -i eth1 -p tcp -m tcp --dport 22 -m
state --state NEW -m recent --set --name DEFAULT –rsource
iptables
-I INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -m recent
--update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j REJECT
7.
iptables -A INPUT -p tcp ! --syn -m state --state NEW
-j REJECT
8.
iptables -A FORWARD -p all -i eth0 -s ! 192.168.0.0 -d
192.168.2.0/27 -j REJECT
iptables
-A FORWARD -p all -s 0/0 -d 192.168.4.0/26 -m time --timestart 09:00 --timestop
16:00 -j ACCEPT
iptables
-A FORWARD -p all -s 0/0 -s 192.168.4.128/23 -d 173.252.110.27 -m time
--timestart 07:00 --timestop 17:00 -j REJECT
iptables
-A FORWARD -p all -s 0/0 -s 192.168.4.128/23 -d 68.189.190.124 -m time
--timestart 07:00 --timestop 17:00 -j REJECT
9.
iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s
10.151.71.24/29 --to source 10.151.70.13
10. IPTABLES -A
FORWARD -j LOG -log-level-debug
IPTABLES
-A FORWARD -j LOG -log-tcp-options
IPTABLES
-A INPUT -j LOG -log-level-debug
IPTABLES -A
INPUT -j LOG -log-tcp-options