Praktikum IPTABLES

SOAL PENDAHULUAN

1.                  Apakah yang dimaksud dengan IPTABLES?

2.                  Bagaimana aturan penulisan dalam IPTABLES?

3.                  IPTABLES mempunyai berapa table? Sebutkan dan jelaskan!

4.                  Pada table Filter, terdapat 3 jenis chain, sebutkan dan jelaskan perbedannya!

5.                  Sebutkan dan jelaskan 3 jenis NAT!

6.                  Apa yang membedakan mangle dengan table yang lain? Jelaskan!

7.                  Apa tujuan dari penggunaan Chain Prerouting dengan Chain Postrouting? Jelaskan!

8.                  Dalam penulisan IPTABLES, pada bagian Target terdapat special property.  Sebutkan dan jelaskan apa saja special property tersebut! (minimal 4)

9.                  Beberapa special property dari bagian Target adalah DROP dan REJECT, jelaskan dan sebutkan perbedaannya!

10.              Jelaskan contoh IPTABLES berikut ini:
iptables –A FORWARD –s 0/0 –i eth0 –d 192.168.1.58 –o eth1 –p TCP –sport 1024:65535 –m multiport –dports 80,443 –j ACCEPT


SOAL SHIFT

1.         Semua subnet tidak dapat mengakses TCP Port 21, 443, 66 pada DMZ kecuali subnet Kebun Bibit, sedangkan port TCP yang diijinkan mengakses DMZ adalah port 80. 8080, 22.
2.         Mengijinkan semua akses UDP ke DMZ.
3.         Subnet DMZ tidak dapat di PING dari luar selain subnet AJK dan jarinan internal.
4.         Koneksi kepada DMZ melalui ssh dibatasi sebanyak 5 koneksi.
5.         Buatlah sebuah perintah IPTables untuk mengatasi syn flood.
6.         Buatlah sebuah perintah IPTables untuk mengatas force ssh attack.
7.         Buatlah perintah IPTables untuk memblok paket scanning. Contoh: xmas,fin,scan.
8.         Subnet Taman Bungkul hanya bsia diakses oleh subnet Kebun Bibit. Sedangkan subnet Plasa Surabaya hanya bisa diakses ketika jam kerja (08:00 - 16:00). Kemudian, subnet Sutos tidak bisa melakukan koneksi ke Yahoo Messenger dan Facebook, serta tidak bisa melakukan streaming video pada hari dan jam kerja (Senin - Jumat, 07.00 - 17.00).
9.         Selain DMZ gunakan NAT untuk mengakses jaringan luar (tidak boleh menggunakan masquerade).
10.       Catat semua log yang didrop oleh Firewall.


 JAWABAN SOAL PENDAHULUAN

1.                   
IPTABLES adalah sebuah program yang digunakan untuk packet filtering atau firewall  yang berbasis sistem operasi linux. Dalam melakukan filtering, IPTABLES menyimpan aturan-aturannya dalam sebuah tabel dan setiap paket akan diproses berdasarkan tujuannya. Ada tiga metode pemrosesan paket pada IPTABLES
-          INPUT berarti tujuan dari paket ini adalah mesin lokal. Pencocokkan paket dengan peraturan-peraturan yang berlaku dilakukan sebelum paket masuk.
-          FORWARD berarti tujuan dari paket ini bukan mesin lokal sehingga paket ini harus diteruskan kepada tujuannya.
-          OUTPUT berarti tujuan dari paket ini adalah mesin lokal. Penyaringan dengan peraturan-peraturan yang dideskripsikan pada IPTABLES dilakukan setelah paket masuk.
Kemudian ada beberapa tindakan yang dapat dilakukan terhadap paket, apakah itu ACCEPT atau paket memenuhi peraturan ACCEPT yang dideskripsikan atau REJECT (paket ditolak) karena memenuhi salah satu peraturan REJECT yang sudah dideskripsikan dan tindakan-tindakan lainyna.

2.                   
Struktur penulisan IPTABLES:
iptables -t [table] command [chain] parameter target
Contoh :
iptables -t filter -A INPUT -s 192.168.1.1 -j DROP

Sumber:
Iptables linux manual

3.                   
Dalam IPTABLES terdapat tiga tabel independen:
a.                  filter
Tabel ini adalah tabel default, mengandung INPUT, FORWARD dan OUTPUT.
b.                  nat
Tabel ini digunakan ketika ditemukannya sebuah paket yang membuka koneksi. Memiliki tiga built-in: PREROUTING, OUTPUT, dan POSTROUTING
c.                   mangle
Digunakan untuk melakukan pemrosesan terhadap paket.

Sumber:
            http://linux.die.net/man/8/iptables

4.                   
IPTABLES menggunakan 5 jenis chain sebagai berikut:
a.                  INPUT
Packet yang masuk untuk pemrosesan mesin lokal
b.                  OUTPUT
Packet yang keluar dari pemrosesan mesin lokal
c.                   FORWARD
Packet yang diterima akan diteruskan tanpa ada proses terlebih dahulu di mesin lokal
d.                   PREROUTING
Pemrosesan packet sebelum masuk route. Biasanya digunakan untuk keperluan NAT
e.                  POSTROUTING
Pemrosesan paket setelah masuk route. Biasanya digunakan untuk keperluan NAT

            Sumber:
http://bodhon.wordpress.com/2007/04/10/iptables/

5.                   
Network Address Translation (NAT) adalah proses pengubahan informasi IP address pada header IPv4 ketika memasuki sebuah alat routing. NAT bermanfaat dalam jaringan privat karena semua traffic dari luar jaringan privat akan dikenali sebagai sebuah IP unik.
Ada tiga macam jenis dasar Network Address Translation (NAT):
1.                  Static NAT
Sejumlah IP address yang tidak dikenali akan diterjemahkan menjadi sejumlah IP address yang sudah ditentukan sehingga setiap client dapat dipetakan terhadap IP addressnya masing-masing.
Dengan cara seperti ini, dapat terjadi pemborosan IP address yang harus dialokasikan karena setiap IP yang tidak dikenali harus dipetakan terhadap satu IP yang sudah dialokasikan. Secara keamanan, Static NAT cukup berbahaya karena setiap IP tidak dikenali akan dipetakan secara permanen kepada address tertentu sehingga sangat mudah penyerang dari luar jaringan privat untuk menyerang jaringan tersebut jika mengetahui salah satu IP address yang digunakan hasil dari NAT sebuah IP diluar jaringan tersebut.
2.                  Dynamic NAT
Dynamic NAT sangat bermanfaat jika jumlah IP yang dialokasikan untuk NAT terbatas, kurang dari banyaknya address luar jaringan yang harus diterjemahkan. Secara keamanan, tentu cara ini lebih baik karena setiap IP asing yang masuk akan dipetakan kepada IP yang dialokasikan secara dinamis atau berubah-ubah, sehingga penyerang tidak dapat memastikan IP mana yang digunakan untuk menerjemahkan suatu IP asing tertentu. Kelemahannya adalah ketika IP yang dialokasikan untuk NAT sudah dipakai semua sehingga IP asing berikutnya tidak dapat diterjemahkan atau terhubung dengan jaringan privat.
3.                  Masquerading NAT
Masquerading NAT menerapkan konsep many-to-one dimana setiap IP address yang masuk ke jaringan privat akan diterjemahkan menjadi sebuah IP yang sudah ditentukan. Untuk membedakan antara traffic dari satu IP asing dengan IP asing lainnya, router akan membedakan portnya. Selain itu, cara ini memiliki keamanan terbaik karena NAT hanya diberlakukan ketika koneksi. Setelah koneksi berakhir maka NAT terhadap IP asing tersebut dihapus.
           
            Sumber:

6.                   
Tabel mangle digunakan spesifik untuk target-target berikut:
o   TOS: digunakan untuk mengubah Type of Service pada sebuah paket yang bermanfaat dalam menerapkan kebijakan-kebijakan pada jaringan berhubungan bagaimana paket akan dirouting
o   TTL: digunakan untuk mengubah Time To Live (TTL) dari paket
o   MARK: digunakan untuk menspesifikasikan sebuah penanda khusus pada paket
Selain itu, tabel mangle memiliki semua chain gabungan dari tabel filter dan nat.

7.                  JAWABAN
Chain PREROUTING dan POSTROUTING dimaksudkan sebagai kondisi sebelum dan sesudah paket tersebut masuk ke dalam route. Adapaun tujuan masing – masing dari penggunaan chain PREROUTING dan POSTROUTING adalah sebagai berikut:
·                     PREROUTING: paket akan diproses sebelum masuk route
·                     POSTROUTING: paket akan diproses setelah masuk route

Sumber:
·                    http://bodhon.wordpress.com/2007/04/10/iptables/

8.                   
Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi aturan . Properti – properti dari bagian target sebagai berikut.
·                        ACCEPT
Setiap paket akan diterima oleh firewall dan akan diteruskan ke tujuan dari paket tersebut.
·                        DROP
Mengabaikan paket yang diterima tanpa memberikan pemberitahuan kepada pengirim paket.
·                        REJECT
Menolak setiap paket yang diterima tapi IPTABLES akan mengirimkan pemberitahuan kepada pengirimnya. Pemberitahuan ini dapat dispesifikasikan, misalnya port-unreachable, icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable, icmp-net-prohibited, dll.
·                        LOG Target
Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG –log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.

9.                  REJECT
IPTABLES akan menolak paket tersebut dan memberitahukan kepada pengirim bahwa konfigurasi dari filtering menolak paket data tersebut lalu menghentikan pemrosesan aturan dalam chain yang sedang berlangsung.
DROP
IPTABLES akan mengabaikan paket ini secara anonim, tanpa ada pemberitahuan kepada pengirim lalu menghentikan pemrosesan aturan dalam chain yang sedang berlangsung.

Sumber:
·                     Dwiyono, Aswin. Pengenalan Firewall Dan Iptables Pada Jaringan Komputer. Universitas Sriwijaya. 2008.

10.               
iptables –A FORWARD –s 0/0 –i eth0 –d 192.168.1.58 –o eth1 –p TCP –sport 1024:65535 –m multiport –dports 80,443 –j ACCEPT

·                     Perintah –A FORWARD berarti menambahkan aturan ini untuk chain FORWARD
·                     -s 0/0 berarti aturan ini berlaku untuk semua paket yang diterima
·                     -i eth0 berarti aturan ini terpenuhi jika paket didapat dari interface eth0
·                     -d 192.168.1.58 berarti aturan ini ditujukan kepada paket yang bertujuan ke 192.168.1.58
·                     -o eth1 berarti aturan ini ditujukan untuk paket yang diteruskan ke eth1
·                     -p TCP berarti protocol yang digunakan adalah TCP
·                     -sport 1024:65535 berarti aturan ini ditujukan untuk paket yang menggunakan port 1024
·                     -m multiport berarti aturan untuk port paket yang masuk kategori ini lebih dari 1 port
·                     -dports 80,443 berarti port tujuannya adalah 80 atau 443
·                     -j ACCEPT berarti menspesifikasikan jump untuk aturan ini yaitu ACCEPT atau menerima paket ini
JAWABAN SOAL SHIFT
Semua konfigurasi FORWARD IPTABLES dipasang pada router first-hop dari DMZ yaitu tugu_pahlawan. IP DMZ server adalah 192.168.8.2 dan 192.168.9.2. Pada jawaban hanya akan digambarkan menggunakan salah satu IP.
1.        
iptables -A FORWARD -p tcp -s 192.168.3.0/24 -d 192.168.9.2/29 -m multiport --dport 21,443,66 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.9.2/29 -m multiport --dport 80,8080,22 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.9.2/29 -m multiport --dport 21,443,66 -j REJECT
2.        
Iptables –A FORWARD –p udp –d 192.168.9.2/29 –j ACCEPT
3.        
iptables -A FORWARD -p icmp -s 10.151.36.0/24 –d 192.168.9.2/29 --icmp-type echo-request –j ACCEPT
iptables -A FORWARD -p icmp -s 192.168.0.0/0 –d 192.168.9.2/29 --icmp-type echo-request –j ACCEPT
iptables –A FORWARD –p icmp –d 192.168.9.2/29 --icmp-type echo request –j REJECT

4.
Iptables –A FORWARD –p tcp –d 192.168.9.2/29 –dport 22 –m state –state NEW –m recent –set
Iptables –A FORWARD –p tcp –d 192.168.9.2/29 –dport 22 –m state –state NEW –m recent –update –seconds 1 hitcount 5 –j REJECT
5.
Iptables –A FORWARD –p tcp –d 192.168.9.2/29 –syn –dport 80 –m connlimit –conlimit-above 3 –j REJECT
6.
Iptables –I INPUT –p tcp –m tcp –dport 22 –m state –state NEW –m recent –set –name DEFAULT –rsource
Iptables –I INPUT –p tcp –m tcp –dport 22 –m state –state NEW –m recent –update –seconds 180 –hitcount 4 –name DEFAULT –rsource –j DROP
7.
Iptables –A INPUT –p tcp ! –syn –m state –state NEW –j DROP
Iptables –A INPUT –f –j DROP
Iptables –A INPUT –p tcp --tcp-flags ALL ALL –j DROP
Iptables –A INPUT –p tcp –tcp-flags ALL NONE –j DROP
8.
9.
IPTABLES –t NAT –A PREROUTING –p tcp –d 10.151.74.78 DNAT –to-destination 192.168.9.1
10.
Iptables –A FORWARD –j LOG –log-level-debug
Iptables –A FORWARD –j LOG –log-tcp-options

0 comments:

Post a Comment