Anda di halaman 1dari 32

Keamanan Jaringan Komputer

Pertemuan 6
Puspanda H, M.Eng.
2018
Pendahuluan
• Firewall merupakan perangkat jaringan yang
bekerja pada Layer 3 (Network layer) dan
Layer 4 (Transport layer) dari protocol OSI.
• Berfungsi sbg pengaman, bisa berupa
hardware maupun software.
• Firewall dapat digunakan untuk memfilter
paket-paket dari luar dan dalam jaringan di
mana ia berada.
Pendahuluan
• Firewall berfungsi meningkatkan keamanan
jaringan dengan menentukan paket data apa saja
yg bisa masuk maupun keluar dr jaringan tsb.
• Menentukan dgn cara memeriksa header dr IP
Packet yg terdiri dari src-address,dst-address, src-
port,dst-port
• Hasil pemeriksaan digunakan untuk menentukan
paket yg diterima (accept) atau paket yg dibuang
(drop)
Keterbatasan FW
• Mayoritas firewall, filtering belum bisa
dilakukan pada level data link layer atau layer
2 pada 7 OSI layer.
• Jadi dengan demikian, sistem pengalamatan
MAC dan frame-frame data belum bisa difilter.
• Filtering dan pembatasan dilakukan
berdasarkan alamat IP dan port komunikasi
yang ingin dituju atau diterimanya.
Keterbatasan FW
• Firewall sederhana tidak memiliki kemampuan filtering
terhadap paket berdasarkan isi dari paket tersebut.
• Contoh, firewall tidak memiliki kemampuan melakukan
filtering terhadap e-mail bervirus yang didownload.
• Yang bisa dilakukan firewall adalah melakukan blokir
terhadap alamat IP dari mail server yang mengirimkan
virus atau alamat halaman web yang dilarang untuk
dibuka.
• Dengan kata lain, firewall merupakan sistem
pertahanan yang paling depan.
Fitur Dasar Firewall
• Analisis paket data -> translasi IP -> ?
• Filtering melalui analisis
• Meneruskan paket data
• Menolak paket data
• Meneruskan paket tetapi pada saat
bersamaan menolak paket data
• Chain input, forward, dan output
Bagaimana Mendapatkan Firewall?
• Beli (microsoft, cisco ASA, mikrotik RouterOS,
dll)
• Buat sendiri (iptables)
Asal dan Tujuan Paket Data

• Paket 1
– Berasal dari klien, ditujukan ke interface ether 2 di router (ping, konfigurasi ke router,remote
access). Paket ini difilter oleh chain input
• Paket 2
– Berasal dari komputer klien, menuju internet, hanya numpang lewat router (cth: semua paket
koneksi ke internet). Paket ini ditangani oleh chain forward
• Paket 3
– Berasal dari router itu sendiri, ditujukan ke jaringan diluar router (bisa ke internet maupun ke
klien router tsb). Contoh paket ini adalah paket yg dihasilkan web proxy (jika proxy berada
pada 1 router dgn firewall), koneksi ke internet,koneksi ke klien. Paket ini ditangani oleh chain
output
Chain Input
• Melakukan filter thd paket-paket yg ditujukan
bagi interface router
• Secara default, perangkat jaringan seperti
router akan membuka port2 untuk
kepentingan konfigurasi (mis:8291 utk winbox
mikrotik dan port 80 untuk konfigurasi
sebagian besar interface melalui website)
Cisco web interface dan mikrotik webfig menggunakan port 80

Winbox menggunakan port 8291


Chain Forward
• Melakukan filter terhadap paket yg melintasi
router/perangkat firewall.
• Melintasi -> dari jaringan lokal ke internet, dan
sebaliknya.
Hubungan antara chain forward
dengan NAT
• Perhatikan gambar dibawah ini, bagaimana
koneksi paket data yg terjadi, apakah akan
diteruskan ke internet? Atau langsung di drop?
IPtables
• Open Source
• Linux-based
Perintah Dasar IPtables

Menampilkan rules

Default rules

Menghapus rules
Daftar fungsi firewall iptables
• -A – Tambahkan rule / aturan ini ke rantai aturan yang ada. Rantai yang valid adalah INPUT, FORWARD and OUTPUT.
• -L – memperlihatkan daftar aturan / rule yang ada iptables.
• -m state – mengijinkan aturan di cocokan berdasarkan kondisi sambungan (connection state). Mengijinkan penggunaan option -–state.
• --state – Mendefinisikan daftar dari kondisi / states bagi aturan untuk di cocokan. Beberapa state yang valid, adalah,
– NEW – Sambungan baru, dan belum pernah terlihat sebelumnya.
– RELATED – Sambungan baru, tapi berhubungan dengan sambungan lain yang telah di ijinkan.
– ESTABLISHED – Sambungan yang sudah terjadi.
– INVALID – Traffic yang karena berbagai alasan tidak bisa di identifikasi.
• -m limit - Dibutuhkan oleh rule jika ingin melakukan pencocokan dalam waktu / jumlah tertentu. Mengijinkan penggunakan option --
limit. Berguna untuk membatasi aturan logging.
• --limit – Kecepatan maksimum pencocokan, diberikan dalam bentuk angka yang di ikuti oleh "/second", "/minute", "/hour", atau "/day"
tergantung seberapa sering user ingin melakukan pencocokan aturan. Jika option ini tidak digunakan maka default-nya adalah "3/hour".
• -p – Protokol yang digunakan untuk sambungan.
• --dport – Port tujuan yang digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu range ditulis sebagai start:end, yang
akan mencocokan semua port start sampai end.
• -j - Jump ke target yang spesifik. iptables mempunyai empat (4) target default, yaitu,
– ACCEPT - Accept / menerika paket dan berhenti memproses aturan dalam rantai aturan ini.
– REJECT - Reject / tolak paket dan beritahu ke pengirim bahwa kita menolak paket tersebut, dan stop pemrosesan aturan dalam
rantai aturan ini.
– DROP – Diam-diam tidak pedulikan paket, dan stop pemrosesan aturan di rantai aturan ini.
– LOG - Log / catat paket, dan teruskan memprosesan aturan di rantai aturan ini. Mengijinkan penggunaan option --log-prefix dan
--log-level.
• --log-prefix – Jika pencatatan di lakukan, letakan text / tulisan sebelum catatan. Gunakan kutip di text / tulisan.
• --log-level – Pencatatan menggunakan syslog level. 7 adalah pilihan yang baik, kecuali kita perlu suatu yang lain.
• -i – Lakukan pencocokan jika paket yang masuk dari interface tertentu.
• -I – Insert / masukan aturan. Butuh dua (2) option, yaitu, rantai aturan yang mana, dan nomor aturan. Jadi -I INPUT 5 akan memasukan
ke rantai INPUT dan menjadikannya aturan nomor 5 di daftar.
• -v – Menampilkan lebih banyak informasi di layar. Sangat membantu jika ada beberapa aturan yang tampak mirip jika di tampilkan
tanpa -v.
Contoh Rules yg sudah Dikonfigurasi
Firewall Strategy

$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT //menerima trafic dari semua klien

$ sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT //mengijinkan koneksi yg masuk hanya dari port SSH
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT //mengijinkan koneksi msuk ke port 80

$ sudo iptables -A INPUT -j DROP //memblokir semua traffic


Firewall Strategy
• Urutan rule firewall iptables di OS Linux
– Ijinkan semua trafic masuk terlebih dahulu
– Ijinkan well-known port (22,80,23,dll)
– Tutup semua port selain well-known yg tidak digunakan

• Jika rule yg anda terapkan terbalik, misal DROP all anywhere terlebih
dahulu, maka port 80 dan port ssh tidak akan pernah bisa diakses
walaupun rule nya ACCEPT
Fitur IPTABLES
• Connection Tracking Capability
– kemampuan unutk inspeksi paket serta bekerja dengan icmp dan udp
sebagaimana koneksi TCP
• Rate-Limited connection dan logging capability.
– Membatasi usaha-usaha koneksi (input/output) sebagai tindakan
preventif serangan Syn flooding denial of services(DOS).
• Kemampuan untuk memfilter flag-flag dan opsi tcp dan
address-address MAC.
Menampilkan Status Firewall
• Iptables –L –n -v
Menampilkan daftar Rule FW
• Iptables –L : menampilkan rule
• Iptables –F : menghapus rule
Kebutuhan Praktek
• Windows (host)
• Ubuntu 12.04/14.04/debian6/7 (vm)
• Setting interface ubuntu VM ke NAT terlebih
dahulu, untuk mendownload app sbb:
– Apache2  apt-get install apache2
– Vsftpd  apt-get install vsftpd
– Ssh server  apt-get install openssh-server
• Ubah interface ke host-only supaya hanya
terhubung ke windows (host); harus bisa saling
ping
Lab Guide
• Ketikkan rule iptables yang terdapat pada masing-masing slide (lab
1-6)  screenshot rule iptables yg anda tulis

• Buktikan filtering dari iptables melalui 4 tahap (screenshot)


– Ping ke IP server virtual (ping 192.168.137.2)
– Akses web server ke server virtual (http://192.168.137.2)
– Akses FTP ke server virtual (ftp://192.168.137.2)
– Akses SSH ke server virtual (putty ke ip 192.168.137.2)

• Selalu hapus rule iptables (iptables -F) sebelum masuk ke


percobaan (lab) selanjutnya

• Langung screenshot setiap kegiatan Lab dalam file word


Lab 1. Mengizinkan Semua Traffic
• Skenario pertama; ijinkan semua traffic dari klien ke server
– iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
• Tampilkan rule : iptables -L
• Lakukan pengujian :
– Akses dari klien ke server (ping)
– Akses web server
– Akses ftp server
– Akses ssh
Lab 2. Blocking Semua Traffic
• iptables -A INPUT -j DROP
Lab 3. Mengijinkan Traffic Masuk
hanya SSH
• Hapus dahulu tabel “rule” yang sudah terpasang dengan perintah
– iptables -F
• Ijinkaan sesi sambungan yang terbentuk untuk menerima traffic
– iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
• Ijinkan semua TCP traffic yang masuk ke port 22
– iptables -A INPUT -p tcp --dport ssh -j ACCEPT
• Cek aturan yang di bentuk oleh perintah di atas menggunakan perintah iptables –L
• Blok traffic lain selain SSH
– iptables -A INPUT -j DROP
• Cek kembali rule dengan perintah iptables -L

Semua traffic ke server akan diblok; kecuali traffic yg menuju ke SSH


Pengujian Lab 3
• Dapatkah komputer terhubung ke server ? (ping)

• Dapatkah komputer klien mengakses layanan web?

• Dapatkah Komputer klien mengakses SSH?


Lab 4: Mengijinkan Traffic Masuk
hanya ke Port Web dan SSH
• Hapus tabel “rule” yang terpasang dengan perintah iptables –F
• ijinkan semua traffic web untuk masuk, gunakan perintah berikut
– iptables -A INPUT -p tcp --dport 80 -j ACCEPT
• ijinkan semua traffic SSH untuk masuk, gunakan perintah berikut
– iptables -A INPUT -p tcp --dport 22 -j ACCEPT

• Cek aturan mengunakan perintah iptables –L


• Blok semua traffic yg akan lewat ke server selain 2 traffic ssh & http tersebut  iptables -A INPUT -j DROP
• Cek kembali aturan yg baru menggunakan perintah iptables –L
Pengujian Lab 4

1. Dapatkah komputer klien mengakses layanan SSH?


2. Dapatkah komputer klien mengakses layanan web?
3. Dapatkah komputer klien mengakses layanan FTP?
4. Dapatkah komputer terhubung dengan server?
Lab 5. Blocking IP Address
1. Hapus tabel “rule” yang sudah terpasang dengan perintah iptables –F
2. gunakan perintah iptables seperti berikut :
– iptables -I INPUT -s 192.168.137.2 -j DROP

Percobaan pada komputer klien :


• Dapatkah komputer klien melakukan ping terhadap komputer server?
• Dapatkah komputer klien mengakses layanan SSH?
• Dapatkah komputer klien mengakses layanan web?

• Perintah untuk menghapus blocking IP


iptables -D INPUT -s 192.168.137.2 -j DROP

• Setelah blocking dihapus, ulangi langkah pengujian diatas; apakah komputer klien
bisa mengakses SSH, web, dan ping?
Lab 6. Blocking MAC Address
• Perintah untuk blokir MAC address [sesuaikan dengan MAC masing-
masing]
• iptables -A INPUT -m mac -mac-source 00:00:b4:aa:c1:34 -j DROP
• Lakukan pengujian :
– Dapatkah komputer klien melakukan ping terhadap komputer server?
– Dapatkah komputer klien mengakses layanan SSH?
– Dapatkah komputer klien mengakses layanan web?
• Untuk menghapus blokir MAC address adl : ubah –A menjadi -D
• iptables -D INPUT -m mac -mac-source 00:00:b4:aa:c1:34 -j DROP
• Lakukan pengujian :
– Dapatkah komputer klien melakukan ping terhadap komputer server?
– Dapatkah komputer klien mengakses layanan SSH?
– Dapatkah komputer klien mengakses layanan web?
Tugas
• Ulangi langkah-langkah pada lab 1-6 diatas,
screenshot langkah anda pada microsoft word
• Cari referensi optimasi iptables untuk
mencegah port scanning, kemudian
tambahkan rule untuk mencegah port
scanning & fingerprinting pada iptables anda
• Upload laporan ke group edmodo

Anda mungkin juga menyukai