Pages

19 Juni 2013

Jaringan Komputer - IPTABLES

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.
OUTPUT
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:
       a.    ACCEPT
              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.
       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

13 Juni 2013