Iptables Filter Firewall

Document Sample
Iptables Filter Firewall Powered By Docstoc
					Iptables Firewall
 Firewall berfungsi sebagai pengatur lalu lintas traffic jaringan
 komputer. Ia membolehkan sebuah traffic data jaringan, serta
 melarang traffic yang lain. Ia bahkan bisa memanipulasi traffic
 tersebut. Lazimnya, firewall berada pada gateway.

 Fungsi utama Firewall:

 Filter: Sesuai dengan namanya filter berfungsi untuk menyaring
 mana yang boleh lewat dan mana yang ditolak.

 NAT (Network Address Translation): Sesuai dengan namanya
 NAT berfungsi untuk melakukan translasi (perubahan) atau
 manipulasi pada traffic data jaringan.

 Fungsi-fungsi di atas dalam iptables firewall disebut TABLES.
                                              Version 1.0 linuxslides.blogspot.com
Chain
Chain adalah kategori atau klasifikasi jalur dari traffic data jaringan
yang berlalu-lalang. Beberapa diantaranya adalah:
                   INPUT       Firewall            INPUT
                              (gateway)


  Internal net.            eth0
                                  FORWARD
                                            eth1
                                                           External net.
              PREROUTING                       POSTROUTING

                  OUTPUT                         OUTPUT
INPUT             : Traffic yang masuk ke sebuah mesin firewall
OUTPUT            : Traffic yang keluar dari sebuah mesin firewall
FORWARD           : Traffic yang melewati/diteruskan oleh mesin firewall
PREROUTING        : Traffic sebelum masuk ke mesin firewall/router
POSTROUTING       : Traffic sesudah melewati mesin firewall/router

Chain INPUT, OUTPUT dan FORWARD digunakan dalam table FILTER
Chain PREROUTING dan POSTROUTING digunakan dalam table NAT
                                                     Version 1.0 linuxslides.blogspot.com
Host vs Network Firewall
                              Firewall
                               (host)
              INPUT
                                                Host firewall hanya melindungi
                                                diri sendiri
   Internet            eth0
                                                Network firewall melindungi
                                                LAN dibelakangnya
              OUTPUT


                              Firewall
                             (gateway)



   Internet                    FORWARD                            LAN
                       eth0              eth1
               POSTROUTING                      PREROUTING


                                                      Version 1.0 linuxslides.blogspot.com
Indentifikasi Traffic
●   Protocol (TCP, UDP, ICMP)
●   Source address
●   Destination address
●   Source port
●   Destination port
●   Input interface
●   Output interface


                                Version 1.0 linuxslides.blogspot.com
Indentifikasi Traffic
                            INPUT                        SSH
                                                        Server
                     protocol = TCP
   SSH               src addr = 192.168.0.2
   Client            dst addr = 192.168.0.1
             Port    src port = –                                        Firewall
                                                 Port
            (acak)   dst port = 22                                        (host)
                                                  22
192.168.0.2
                                                     192.168.0.1
                           OUTPUT

                     protocol = TCP
                     src addr = 192.168.0.1
                     dst addr = 192.168.0.2
                     src port = 22
                     dst port = –




                                              Version 1.0 linuxslides.blogspot.com
Indentifikasi Traffic

                                  Firewall
                                 (gateway)



www.facebook.com                   FORWARD                        LAN
                                             eth0            192.168.0.0/24
                   POSTROUTING                  PREROUTING


                     protocol = TCP
                     input interface = eth0
                     src addr = 192.168.0.0/24
                     dst addr = www.facebook.com
                     src port = –
                     dst port = 80

        Untuk chain PREROUTING dan POSTROUTING
        perlakuannya sama dengan chain FORWARD
                                                       Version 1.0 linuxslides.blogspot.com
Chain
Chain adalah kategori atau klasifikasi jalur dari traffic data jaringan
yang berlalu-lalang. Beberapa diantaranya adalah:
                   INPUT       Firewall            INPUT
                              (gateway)


  Internal net.            eth0
                                  FORWARD
                                            eth1
                                                           External net.
              PREROUTING                       POSTROUTING

                  OUTPUT                         OUTPUT
INPUT             : Traffic yang masuk ke sebuah mesin firewall
OUTPUT            : Traffic yang keluar dari sebuah mesin firewall
FORWARD           : Traffic yang melewati/diteruskan oleh mesin firewall
PREROUTING        : Traffic sebelum masuk ke mesin firewall/router
POSTROUTING       : Traffic sesudah melewati mesin firewall/router

Chain INPUT, OUTPUT dan FORWARD digunakan dalam table FILTER
Chain PREROUTING dan POSTROUTING digunakan dalam table NAT
                                                     Version 1.0 linuxslides.blogspot.com
Struktur Aturan Chain
1. ATURAN UMUM, menerima atau menolak semua traffic
2. ATURAN KHUSUS, mengecualikan traffic tertentu
   berdasarkan:
      a) IP address (source/destination)
      b) Port (source/destination)
      c) Protocol (TCP, UDP, ICMP)


CONTOH:
●   Tolak semua traffic yang masuk/input (ATURAN UMUM), kecuali
    trafic dari IP address 192.168.0.2 (ATURAN KHUSUS).
●   Izinkan semua traffic yang keluar/output (ATURAN UMUM),
    kecuali yang menuju ke port 80 (ATURAN KHUSUS).
                                             Version 1.0 linuxslides.blogspot.com
Table, Chain, Aturan Umum dan Khusus

                                           Aturan UMUM
                        INPUT
                                           Aturan KHUSUS
               Filter   OUTPUT
Iptables
Firewall                FORWARD

                        PREROUTING
 Tables        NAT      POSTROUTING
                                            Aturan UMUM
                        OUTPUT
                                            Aturan KHUSUS


               Mangle

                                 Version 1.0 linuxslides.blogspot.com
Melihat chain table NAT
Melihat aturan firewall (table NAT):
$ sudo iptables -t nat -L


Chain PREROUTING (policy ACCEPT)
target     prot opt source                    destination


Chain POSTROUTING (policy ACCEPT)
target     prot opt source                    destination


Chain OUTPUT (policy ACCEPT)
target     prot opt source                    destination



                                       Version 1.0 linuxslides.blogspot.com
Melihat chain table filter
Melihat aturan firewall (table filter):
$ sudo iptables -t filter -L
atau
$ sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source                       destination


Chain FORWARD (policy ACCEPT)
target     prot opt source                       destination


Chain OUTPUT (policy ACCEPT)
target     prot opt source                       destination

                                          Version 1.0 linuxslides.blogspot.com
Melihat chain table filter
Melihat aturan firewall (table filter):
$ sudo iptables -t filter -L
                                          Aturan umum
atau                                      chain INPUT
$ sudo iptables -L

Chain INPUT (policy ACCEPT)
                                          Aturan umum
target     prot opt source                chain FORWARD   destination
<Aturan Khusus: KOSONG>

Chain FORWARD (policy ACCEPT)
                               Aturan umum
target     prot opt source    chain OUTPUT                destination
<Aturan Khusus: KOSONG>

Chain OUTPUT (policy ACCEPT)
target     prot opt source                                destination
<Aturan Khusus: KOSONG>
                                                   Version 1.0 linuxslides.blogspot.com
Melihat chain table filter
Melihat aturan firewall (table filter):
$ sudo iptables -t filter -L              Aturan umum
                                          chain INPUT
atau
$ sudo iptables -L
                                          Aturan khusus
                                          Tolak/DROP IP ini
Chain INPUT (policy ACCEPT)
target     prot opt source                               destination
DROP       all -- 192.168.2.1                            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source                               destination
<Aturan Khusus: KOSONG>

Chain OUTPUT (policy ACCEPT)
target     prot opt source                               destination
<Aturan Khusus: KOSONG>
                                                  Version 1.0 linuxslides.blogspot.com
Mengubah Aturan Umum
Mengubah aturan umum table filter chain INPUT menjadi DROP:
$ sudo iptables -P INPUT DROP
                                   Aturan umum
Lihat hasilnya:                    chain INPUT:
$ sudo iptables -L                    DROP

Chain INPUT (policy DROP)
target     prot opt source                        destination


Chain FORWARD (policy ACCEPT)
target     prot opt source                        destination


Chain OUTPUT (policy ACCEPT)
target     prot opt source                        destination

                                          Version 1.0 linuxslides.blogspot.com
Menambah Aturan Khusus
Menambahkan (-A = add) aturan khusus yang membolehkan IP
tertentu masuk, dan melarang selainnya:
$ sudo iptables -P INPUT DROP
$ sudo iptables -A INPUT -s 192.168.X.X -j ACCEPT
Lihat hasilnya:
$ sudo iptables -L

Chain INPUT (policy DROP)
target     prot opt source                    destination
ACCEPT     all -- 192.168.X.X                 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source                    destination


Chain OUTPUT (policy ACCEPT)
target     prot opt source                    destination
                                       Version 1.0 linuxslides.blogspot.com
Menghapus Aturan Khusus
Lihat dulu no urut dari rule chain yang akan dihapus:
$ sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num target      prot opt source                            destination
1    ACCEPT     all -- 192.168.2.2                         0.0.0.0/0
...
Menghapus aturan khusus yang pertama pada chain INPUT:
$ sudo iptables -D INPUT 1
Lihat hasilnya:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
num target      prot opt source                            destination
<kosong>

Menghapus semua aturan khusus di semua chain:
$ sudo iptables -F
                                              Version 1.0 linuxslides.blogspot.com
Menambah Aturan Khusus
Menambahkan (-A = add) aturan khusus yang membolehkan IP
tertentu masuk, dan melarang selainnya:
$ sudo iptables -P INPUT DROP
$ sudo iptables -A INPUT -s 192.168.X.X -j ACCEPT
Lihat hasilnya:
$ sudo iptables -L

Chain INPUT (policy DROP)
target     prot opt source                    destination
ACCEPT     all -- 192.168.X.X                 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source                    destination


Chain OUTPUT (policy ACCEPT)
target     prot opt source                    destination
                                       Version 1.0 linuxslides.blogspot.com
Lab
1. Buat aturan umum chain INPUT DROP
  –   Buat aturan khusus chain INPUT yang hanya
      menerima koneksi dari salah satu IP teman Anda
  –   Uji coba dengan ping (seharusnya hanya IP yang
      diizinkan yang bisa ping)
2. Buat aturan umum chain INPUT ACCEPT
  –   Buat aturan khusus chain INPUT yang hanya
      menolak (DROP/REJECT) koneksi dari salah satu
      IP teman Anda
  –   Uji coba dengan ping (seharusnya hanya IP yang
      ditolak tidak bisa ping)
3. Jelaskan perbedaan antara DROP dan REJECT
                                     Version 1.0 linuxslides.blogspot.com
Format Aturan Khusus Iptables
Format penambahan aturan khusus (ditulis kesamping):

# iptables -A <chain>      INPUT,OUTPUT, dll
           -p <proto>      tcp,udp,icmp
           -s <src-addr>   10.1.1.1, www.abc.com
           --sport <port> 80 (web), 22 (ssh), dll
           -d <dst-addr>   10.2.2.2, www.xyz.com
           --dport <port> 80 (web), 22 (ssh), dll
           -i/-o <in/out-interface>   eth0, eth1, dll
           -j <policy>     REJECT, ACCEPT, DROP, dll


Untuk protocol, address dan port bisa ditambahkan notasi not (!)
Contoh: ! 10.1.1.1 berarti selain IP 10.1.1.1


                                             Version 1.0 linuxslides.blogspot.com
 Contoh Kasus 1: Menolak SSH dari IP tertentu



                                                   x
                                 INPUT                         SSH
                                                              Server
                          protocol = TCP
    SSH                   src addr = 192.168.0.2
    Client                dst addr = 192.168.0.1
              Port        src port = –                                       Firewall
                                                       Port
             (acak)       dst port = 22                                       (host)
                                                        22
 192.168.0.2
                                                           192.168.0.1



Set Aturan Umum ACCEPT:
# iptables -P INPUT ACCEPT

Isilah titik-titik di bawah ini:
# iptables -A ... -p ... -s ... -d ... --dport ... -j ...

Jawab:
# iptables -A INPUT -p tcp -s 192.168.0.2 -d 192.168.0.1 --dport 22 -j REJECT
                                                    Version 1.0 linuxslides.blogspot.com
 Contoh Kasus 2: Hanya Menerima SSH
 dari IP tertentu

                                 INPUT                         SSH
                                                              Server
                          protocol = TCP
    SSH                   src addr = 192.168.0.2
    Client                dst addr = 192.168.0.1



                                                   x
              Port        src port = –                                       Firewall
                                                       Port
             (acak)       dst port = 22                                       (host)
                                                        22
 192.168.0.2
                                                           192.168.0.1



Set Aturan Umum ACCEPT:
# iptables -P INPUT ACCEPT

Isilah titik-titik di bawah ini:
# iptables -A ... -p ... -s ... -d ... --dport ... -j ...

Jawab:
# iptables -A INPUT -p tcp -s ! 192.168.0.2 -d 192.168.0.1 --dport 22 -j REJECT
                                                    Version 1.0 linuxslides.blogspot.com
 Contoh Kasus 3: Menolak situs tertentu
                                 Firewall
                                (gateway)




               x
 www.facebook.com                 FORWARD
                                            eth0
                                                              LAN
                                                         192.168.0.0/24


                    protocol = TCP
                    input interface = eth0
                    src addr = 192.168.0.0/24
                    dst addr = www.facebook.com
                    src port = –
                    dst port = 80
Set Aturan Umum ACCEPT:
# iptables -P FORWARD ACCEPT

Isilah titik-titik di bawah ini:
# iptables -A ... -p ... -s ... -d ... --dport ... -j ...

Jawab:
# iptables -A FORWARD -p tcp -d www.facebook.com --dport 80 -j REJECT
                                                   Version 1.0 linuxslides.blogspot.com

				
DOCUMENT INFO
Shared By:
Tags:
Stats:
views:482
posted:7/19/2010
language:Indonesian
pages:22