Firewall dengan IPTables

FIREWALL DENGAN IPTABLES

  1. Firewall
  2. Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya, sebuah firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda.

    • Fungsi Firewall
      • Mengontrol dan mengawasi paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :
        1. Alamat IP dari komputer sumber
        2. Port TCP/UDP sumber dari sumber
        3. Alamat IP dari komputer tujuan.
        4. Port TCP/UDP tujuan data pada komputer tujuan
        5. Informasi dari header yang disimpan dalam paket data.
      • Melakukan autentifikasi terhadap akses.
      • Applikasi proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
      • Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan.

  3. IPTables
  4. IPTables adalah salah satu aplikasi linux, yang berfungsi untuk firewall. Kegunaanya untuk memfiltering semua data yang melewatinya. Dengan aplikasi ini, kita bisa memblokir data yang masuk, atau mengijinkan data yang keluar. Selain IpTables, juga bisa menggunakan shorewall. Seperti namanya, firewall atau tembok api yang melindungi jaringan lokal dari jaringan luar atau Internet. Untuk mencegah ulah para cracker yang ingin meretas ke suatu sistem jaringan. Firewall ada yang berbentuk piranti lunak (software). Dan ada juga yang berbentuk piranti keras, yang sudah di implementasikan kedalam sistemnya. Router juga termasuk dalam firewall.

  5. 1. Perjalanan Paket yang diforward ke host yang lain
    a. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringan
    b. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NAT
    c. Paket mengalami Routing apakah akan diproses oleh host lokal atau diteruskan ke host lain
    d. Paket masuk ke rantai FORWARD pada tabel MANGLE dan tabel FILTER
    e. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NAT
    f. Paket keluar menuju ke interface jaringan
    g. Paket kembali pada jaringan fisik (Network)
    2. Perjalanan paket yang ditujukan bagi host lokal
    a. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringan
    b. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NAT
    c. Paket mengalami Routing
    d. Paket masuk ke rantai INPUT pada tabel MANGLE dan tabel FILTER untuk mengalami proses penyaringan
    e. Paket akan masuk ke proses lokal (Local Process)

    3. Perjalanan paket yang berasal dari host lokal
    a. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan
    b. Paket masuk ke rantai OUTPUT pada tabel MANGLE, lalu ke tabel NAT, kemudian ke tabel FILTER
    c. Paket mengalami Routing
    d. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NAT
    e. Paket keluar menuju ke interface jaringan
    f. Paket kembali pada jaringan fisik (Network)

Perintah umum iptables :
            $iptables [-t table] command [match] [target/jump]


Untuk dapat melihat manual iptables, silakan ketik perintah ini pada terminal :



            $man iptables



Perintah dasar Iptables :



Untuk melihat aturan yang sudah ada di iptables :

$iptables -L

Untuk mengijinkan sesi sambungan yang terbentuk untuk menerima lalu lintas paket data
$iptables -A INPUT -m state –state ESTABLISHED, RELATED -j accept 

Contohnya kita akan mengijinkan semua lalu lintas paket data di jaringan untuk masuk adalah sebagai berikut :
                        $iptables -A INPUT -p tcp –dport 80 -j ACCEPT

Untuk melakukan pemblokiran paket data.
Apabila aturan telah memutuskan untuk menerima paket data (ACCEPT), maka aturan selanjutnya tidak akan berefek pada paket data tersebut.  Karena aturan yang kita buat mengijinkan SSH dan Web traffic, selama aturan untuk memblok semua traffic kita letakan terakhir sesudah aturan mengijinkan SSH dan Web, maka kita akan tetap dapat menerima traffic SSH dan Web yang kita inginkan. Jadi kita harus menambahkan (-A) aturan untuk mem-block traffic di akhir.
            Perintahnya :
                        $iptables -A INPUT -j DROP

Untuk melakukan pencatatan paket yang di log , perintah yang paling cepat adalah :
$iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

Untuk menyimpan konfigurasi iptables
Jika kita booting komputer yang kita gunakan, maka apa yang kita lakukan ini akan hilang. Kita pun harun mengetikkan ulang semua perintah yang kita masukan satu per satu ketika komputer hidup. Agar lebih effesien, kita dapat menggunakan iptables-save dan iptables-restore untuk menyimpan dan merestore iptables
Kita dapat menyimpan konfigurasi iptables agar di start setiap kali booting menggunakan perintah :

              $sh -c "iptables-save > /etc/iptables.rules"



Setelah itu memodifikasi /etc/network/interfaces agar aturan iptables yang kita gunakan dapat berjalan secara automatis. Kita perlu mengetahui ke interface mana aturan yang  akan digunakan. Biasanya  menggunakan eth0. Untuk interface wireless, kita dapat mencek penggunaaannya mengunakan perintah,
               $ iwconfig
Kita perlu mengedit file /etc/network/interfaces misalnya menggunakan perintah
               $ sudo nano /etc/network/interfaces
      Apabila telah menemukan nama interface yang digunakan, maka di akhir interface kita dapat menambahkan perintah,
pre-up iptables-restore < /etc/iptables.rules
Selanjutnya di bawahnya kita tambahkan perintah sesudah interface down, menggunakan perintah,
post-down iptables-restore < /etc/iptables.rules
Untuk menonaktifkan atau mematikan fiewall, maka
perintahnya :
$iptables –F
Berikut beberapa option dasar yang cukup sering dalam mengkonfigurasi iptables :
  • -A
Tambahan aturan ini ke rantai aturan yang ada. Rantai atau chain yang valid adalah INPUT, FORWARD, dan OUTPUT. Biasanya lebih banyak menggunakan rantai INPUT yang berdampak pada paket data yang masuk
  • -L
Memperlihatkan daftar aturan yang telah dipasang di iptables.
  • -m state
Menjelaskan daftar dari kondisi / state bagi aturan untuk di bandingkan. Beberapa state yang valid, adalah :
            NEW  => sambungan baru dan belum pernah terlihat sebelumnya
                          RELATED => sambungan baru, tapi berhubungan dengan   sambungan lain telah diizinkan.
                                               ESTABLISHED => sambungan yang telah terjadi.
                                   INVALID => lalu lintas paket data yang karena berbagai alasan tidak bisa di    identifikasi
  • -m limit
Dibutuhkan oleh aturan jika ingin melakukan pembandingan dan pencocokan dalam waktu / jumlah tertentu. Mengizinkan penggunaan option –limit. Berguna untuk membatasi aturan logging.
  • --limit
Kecepatan maksimum pencocokan, diberikan dalam bentuk angka yang diikuti oelh ”/seconf”,”/minute”,”/hour”, atau ”/day” tergantung seberapa sering kita ingin melakukan pencocokan aturan. Jika option ini tidak digunakan maka secara defaultnya adalah ”3/hour”
  • -p
Protokol yang digunakan untuk sambungan.
  • --dport
Port tujuan yang digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu batasan jangkauan ditulis sebagai start:end, yang akan mencocokan semua port start sampai end
  • -j
Jump ke target yang spesifik. Iptables mempunyai empat target default, yaitu :
ACCEPT
ð  Accept / menerima paket dan berhenti memproses aturan dalam rantai  aturan ini.
REJECT
ð  Reject /tolak paket data dan beritahu ke pengirim bahwa aturan firewall menolak paket data tersebut, stop pemrosesan aturan dalam rantai aturan ini
DROP
ð  Diam-diam mengacuhkan paket ini, dan stop pemrosesan aturan di rantai aturan ini.
LOG
ð  Log/catat paket, dan teruskan pemrosesan aturan di rantai aturan ini.
ð  Mengijinkan penggunaan option --log –prefix dan --log -level
  • --log –prefix
Jika pencatatan dilakukan, letakan text atau tulisan sebelum catatan.
  • --log –level
Pencatatan menggunakan syslog level.
  • -i
Melakukan pencocokan jika paket yang masuk dari interface tertentu.
  • -I
Memasukan aturan ke iptables.
  • -v
Menampilkan lebih banyak informasi di layar.

lms.polsri.ac.id

Komentar

Postingan Populer