Lanjutan Materi Pembelajaran Firewall
Firewall merupakan sebuah tembok yang membatasi suatu sistem jaringan yang ada di baliknya dari berbagai macam ancaman dan gangguan yang biasa muncul melalui jaringan internet yang rentan terhadap berbagai macam serangan. Fungsinya bisa untuk membatasi hak akses dan mengatur policy antara jaringan Internal terhadap eksternalnya dan juga berlaku pada sebaliknya. Hal ini sangat penting mengingat tidak semua orang diperbolehkan untuk bisa mengakses ke dalam jaringan yang kita miliki. Konfigurasi dari firewall bergantung kepada kebijaksanaan dari organisasi yang bersangkutan, secara umum terbagi menjadi dua jenis :
- Deny : semua yang tidak diperbolehkan berdasarkan aturan firewall akan ditolak.
- Allow : semua yang tidak dilarang berdasarkan aturan firewall akan diperboehkan
Cara kerja firewall sebenarnya hanyalah dengan mengamati paket data yang dilewatkan dan kemudian berdasarkan konfigurasi dari firewall maka akses dapat diatur berdasarkan alamat IP, Port, dan arah atau tujuan informasi.
Terdapat dua buah jenis Firewall secara umum, yaitu :
a. Firewall Hardware
Berupa sebuah piranti keras yang sudah dilengkapi dengan perangkat lunak tertentu, sehingga kita tinggal melakukan konigurasi dari firewall itu saja.
b. Firewall Software
Berupa sebuah piranti lunak atau software yang ditambahkan kepada sebuah komputer yang dikonfigurasi menjadi sebuah Firewall dimana pada pembelajaran ini, software yang digunakan adalah iptables yang dijalankan pada sebuah computer dengan Sistem operasi LINUX, (Debian 8)
Secara umum tugas utama yang biasa dilakukan oleh Iptables adalah fungsi pemfilteran IP (IP Filtering) dan fungsi Proxy, tapi pada pembelajaran ini yang dicoba adalah fungsi pemfilteran saja.
Kedua fungsi tersebut dapat dilakukan pada piranti komputer atau dilakukan secara terpisah. Beberapa piranti lunak berbasis UNIX yang dapat digunakan untuk melakukan pemfilteran Ip antara lain Iptable yang merupakan standar dari system Linux pada sekarang ini.
Pengenalan Iptables
Iptables adalah salah satu tools firewall default pada system operasi linux. Iptables ini bekerja baik di kernel 2.4.x-2.6.x sedangkan untuk kernel 2.2.x masih menggunakan ipchains. Perintah 'iptables' digunakan untuk mengelola, memaintain, menginspeksi rule-rule IP packet filter dalam kernel linux.
Saat ini iptables merupakan firewall yang cukup dominan
digunakan karena memiliki berbagai macam kemampuan untuk melakukan pengaturan
terhadap keluar masuknya paket data. Pada dasarnya terdapat 2 aturan utama atau
biasa disebut dengan CHAINS.
a. INPUT
Aturan yang digunakan
oleh firewall untuk mengatur paket – paket data yang menuju Firewall.
b. FORWARD
Aturan yang digunakan oleh
firewall untuk mengatur paket – paket yang meninggalkan Firewall menuju ke
jaringan yang lain.
Paket – paket data yang ada
akan diperiksa untuk kemudian diberikan keputusan, ada beberapa keputusan yang
diterapkan antara lain :
·
ACCEPT
Apabila ditemukan paket yang sesuai dengan aturan untuk
di-ACCEPT, maka firewall akan langsung menerima untuk kemudian meneruskan paket
tersebut.
· DROP
Apabila ditemukan paket yang sesuai dengan aturan untuk
di-DROP, maka firewall akan langsung membuang paket tersebut tanpa mengirimkan
pesan ERROR apapun ke pengirim.
· REJECT
Apabila ditemukan paket yang sesuai dengan aturan untuk
di-REJECT, maka firewall akan langsung membuang paket tersebut namun disertai
dengan mengirimkan pesan ERROR ICMP “
port unreachable”
Pada pembahasan ini, saya akan mencoba berbagi sedikit cara mengkonfigurasi firewall pada iptables di sistem operasi linux, khususnya distribusi ubuntu. Penulis menggunakan Ubuntu 8.04 kernel 2.6.24-16-generic dalam mencoba iptables.
Pada ubuntu, biasa telah terinstall
iptables secara default.
Konsep chain :
1.
INPUT
=>
semua paket yang masuk ke komputer melalui chain/rantai ini.
2.
OUTPUT
=>
semua paket yang kelua ke komputer melalui chain/rantai ini.
3.
FORWARD
=>paket data
yang diterima dari satu jaringan dan diteruskan ke jaringan lainya.
Perintah umum iptables :
$iptables [-t
table] command [match] [target/jump]
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
Option diatas adalah hanya
sedikit dari option yang terdapat pada iptables. Silakan pembaca kembangan
sendiri.
Untuk dapat melihat manual iptables, silakan ketik perintah
ini pada terminal :
$man iptables
Perintah dasar Iptables :
Perintah dasar Iptables :
- Untuk melihat aturan yang sudah ada di iptables :
$iptables -L
Jika komputer
baru diinstall, aturan yang terpasang akan terlihat seperti ini :
- 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
Contohnya lain
kita akan mengijinkan lalu lintas paket data masuk ke defaut port SSH nomor 22,
maka harus mengizinkan semua TCP paket data masuk ke port 22, perintahnya :
$iptables -A INPUT -p tcp --dport ssh
-j ACCEPT
Dari perintah
diatas, kita dapat mengetahui bahwa aturan iptables tersebut mangatur agar
masukan aturan ini ke rantai input (-A INPUT) artinya kita melihat lalu lintas
paket data yang masuk cek protokol yang digunakan adalah TCP (-p tcp). Jika
TCP, apakah paket data menuju port SSH (--dport ssh). Jika ya, maka paket diterima,
- 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
Hasil
gambarnya :
- Untuk menonaktifkan atau mematikan fiewall, maka
perintahnya :
$iptables –F
Adapun
jika kesulitan dalam menkonfigurasi iptables secara command line, pada ubuntu telah tersedia perangkat lunak yang dapat
mengkonfigurasi firewall secara menggunakan GUI yaitu firestater.
-
cara menginstall firestarter di ubuntu
8.04
·
ketik perintah ini di terminal
·
sudo apt-get install firestater
5 Keamanan Jaringan (Mengenal IPTABLESS)
Reviewed by Argasoka Herbal
on
Senin, September 11, 2017
Rating:
Tidak ada komentar: