vii
ABSTRAK
Konfigurasi firewall ini dibangun pada sistem operasi Freebsd 5.4 dengan aplikasi IPFirewall (IPFW) dengan tambahan natd untuk network address translation (NAT). IPFW tergantung pada rule-rule yang dibuat berdasarkan kebijakan yang sudah ditentukan. Seorang administrator dapat menuliskan rule ataupun memodifikasi rule yang sudah ada dengan menggunakan perintah-perintah tertentu untuk lebih meningkatkan keamanan jaringan.
viii
ABSTRACT
This firewall configuration builds on Freebsd 5.4 operating system using IPFirewall (IPFW) application with natd additionally as network address translation (NAT). IPFW depend on rules which according to determined policy. An administrator can write or modifications the rule using certain commands to improve network security.
i
MEMBANGUN FIREWALL
PADA SISTEM OPERASI FREEBSD 5.4 DENGAN
MENGGUNAKAN APLIKASI IPFIREWALL (IPFW)
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh :
SAMUEL BEREK LUAN NIM : 013124011
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SANATA DHARMA
iv
PERSEMBAHAN
!
" ""
" ####
$%%&
" ""
" #### &%'&%'&%'&%'
v
Hanya sekedar kata...
(
(
(
(
))))
*+
,
*+
,
*+
,
*+
,
--
-####
####
"
""
"
+
*
+
+
*
*
+
*
,,,,
-####
+
*
+
+
*
*
+
*
,,,,
-(
(
(
(
####
....
"
""
"
+
*
+
*
+
*
+
*
,,,,
+
*
+
*
+
*
vii
ABSTRAK
Konfigurasi firewall ini dibangun pada sistem operasi Freebsd 5.4 dengan aplikasi IPFirewall (IPFW) dengan tambahan natd untuk network address translation (NAT). IPFW tergantung pada rule-rule yang dibuat berdasarkan kebijakan yang sudah ditentukan. Seorang administrator dapat menuliskan rule ataupun memodifikasi rule yang sudah ada dengan menggunakan perintah-perintah tertentu untuk lebih meningkatkan keamanan jaringan.
viii
ABSTRACT
This firewall configuration builds on Freebsd 5.4 operating system using IPFirewall (IPFW) application with natd additionally as network address translation (NAT). IPFW depend on rules which according to determined policy. An administrator can write or modifications the rule using certain commands to improve network security.
ix
KATA PENGANTAR
Puji syukur ke hadirat Tuhan yang telah melimpahkan rahmat dan kasih-Nya sehingga penulis bisa menyelesaikan skripsi ini.
Skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh gelar sarjana sains Fakultas Matematika dan Ilmu Pengetahuan Alam, Program Studi Ilmu Komputer Universitas Sanata Dharma.
Dalam penulisan skripsi penulis menyadari banyak pihak yang telah memberikan sumbangan baik pikiran, waktu, tenaga, bimbingan dan dorongan pada penulis sehingga akhirnya skripsi ini dapat terselesai. Oleh karena itu dengan segala kerendahan hati penulis menyampaikan ucapan terima kasih kepada:
1. Pak Iwan Binanto S.Si selaku dosen pembimbing untuk kesabaran, bantuan dan arahan selama penulis menyusun skripsi
2. Ir. Ign. Aris Dwiatmoko M.Sc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
3. Ibu P.H. Prima Rosa selaku Kepala Program Studi Ilmu Komputer untuk kesabaran, bantuan dan dorongan yang diberikan baik selama kuliah maupun dalam menyelesaikan skipsi ini.
4. Bapak Y. Joko Nugroho, S.Si,M.kom selaku dosen penguji yang telah memberikan saran dan kritik demi kesempurnaan skripsi ini.
x
6. Seluruh Dosen Pengajar Fakultas MIPA yang telah membimbing penulis selama kuliah di Universitas Sanata Dharma.
7. Mas Tukijo dan semua staff sekretariat MIPA atas bantuan dan pelayanan yang telah diberikan kepada penulis selama ini.
8. Karyawan laboratorium komputer, Mas Widodo dan Mas Susilo. Terima kasih atas bantuan dan masukan-masukan yang berharga buat penulis. 9. Almarhum ayah tercinta yang ada di Sorga dan Ibu yang tidak lelah selalu
mendoakan, memberi semangat dan menemani di setiap langkah. Kalian adalah segala galanya..
10. Kakak-kakak ku, Dedi dan Ina yang selalu memberi semangat dan doa aku yang kecil ini.
11. Tomy, Ari, Rolens, Ruly, Roy, Ening, Lina, Desi, Yanti, Mujib, Ferdi dan teman-teman ikom’01 lainnya. Terima kasih untuk dukungannya. Tetap semangat bro. Untuk Ening dan Lina maju terus pantang mundur.
12. Teman-teman kost camp 108 pimpinan Bpk.Karjo dan Ibu se-keluarga :Ariel, Made, Wawan, Parto, Endri, Ade, Theo, Dony, Agus Pati. Terima kasih untuk dukungannya. Untuk ariel terima kasih ya pinjaman komputernya.
xi
14. Teman-teman kerja di INTERSAT. Terima kasih atas bantuannya. Karena kalian penulis menjadi lebih banyak mengenal tentang jaringan komputer. 15. Teman-teman chatting di chanel #indofreebsd. Terima kasih telah
mengajariku banyak hal-hal baru tetang freebsd.
16. Semua pihak yang tidak dapat disebutkan satu persatu, terima kasih membantu dalam menyelesaikan tugas akhir ini
Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini, oleh karena itu dengan kerendahan hati penulis mengharapkan kritik dan saran guna penyempurnaan skripsi ini. Akhirnya penulis berharap semoga skripsi ini berguna bagi semua pihak yang membutuhkan.
xii
DAFTAR ISI
HALAMAN JUDUL... i
HALAMAN PERSETUJUAN... ii
HALAMAN PENGESAHAN... iii
HALAMAN PERSEMBAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... vi
ABSTRAK ... vii
ABSTRACT... viii
KATA PENGANTAR ... ix
DAFTAR ISI... xii
DAFTAR GAMBAR ... xv
BAB I PENDAHULUAN 1.1 Latar belakang... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah... 3
1.4 Tujuan Penulisan... 3
1.5 Metodoloi Penulisan ... 3
1.6 Sistematika Penulisan ... 4
BAB II DASAR TEORI 2.1 Sejarah FreeBSD... 6
xiii
2.2.1 Tipe-tipe Firewall... 14
a. Packet filtering ... 14
b. Appplicaion level gateway... 15
c. Stateful Inpection ... 16
2.2.2 Arsitektur Firewall ... 17
a. Screened Host Firewall system (single-homed bastion) ... 17
b. Dual-homed bastion ... 18
c. Screened subnet firewall ... 19
2.2.3 Demilitarized Zone (DMZ) ... 21
2.2.4 Network Address Translation (NAT)... 22
2.2.4.1 Tipe NAT ... 22
a. static... 23
b. dynamic ... 23
2.2.4.2 NATD... 25
2.3 Teknik-teknik dalam menembus sebuah system... 25
2.4 IPFirewall (IPFW)... 27
2.4.1 Perintah IPFW... 28
2.4.2 Aturan IPFW ... 29
2.4.3 Contoh sintaks rule IPFW dan prosesnya ... 34
2.5 Port ... 38
2.6 Dasar Koneksi TCP... 40
2.7 Dasar Koneksi ICMP ... 42
xiv
BAB III PERANCANAN INSTALASI DAN KONFIGURASI
3.1 Kebutuhan Hardware komputer Firewall... 44
3.2 Kebutuhan Software... 44
3.3 Konfigurasi jaringan dan penempatan komputer firewall... 45
3.4 Konfigurasi Sistem ... 46
BAB IV PENGUJIAN SISTEM DAN PEMBAHASAN 4.1 Topologi jaringan dan IP address... 51
4.2 Menjalankan NATD... 52
4.3 Pengujian firewall ... 53
a. Pengujian dengan ping dan traceroute... 53
b. Pengujian dengan SSH... 56
c. Pengujian dengan SCP ... 59
d. Pengujian mengakses webserve internet ... 60
e. Memantau port dengan menggunakan tool scaner ... 62
4.4 Membaca file log... 63
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 65
5.2 Saran ... 65
xv
DAFTAR GAMBAR
Gambar 2.1 Operasi Firewall...13
Gambar 2.2 Tipe firewall Paket Filtering ...15
Gambar 2.3 Tipe Firewall Application Level Gateway……….………..……16
Gambar 2.4 Arsitektur Firewall Screened Host Firewall….…..…….……….18
Gambar 2.5 Arsitektur Firewall Dual Homed...19
Gambar 2.6 Arsitektur Firewall Screened Subnet...20
Gambar 2.7 Penempatan DMZ...21
Gambar 2.8 Contoh Penerapan NAT...24
Gambar 2.9 Awal Sebuah Koneksi TCP... .41
Gambar 2.10 Akhir Sebuah Koneksi TCP... 42
Gambar 2.11 Sebuah Koneksi ICMP... .42
Gambar 2.12 Sebuah Koneksi UDP... .43
Gambar 3.1 Konfigurasi Jaringan... 46
Gambar 4.1 Topologi jaringandan Penempatan firewall...52
Gambar 4.2 Menjalankan Aplikasi Putty...54
Gambar 4.3 Akses putty ditolak...58
Gambar 4.4 Menjalankan aplikasi WinSCP...59
Gambar 4.5 Tampilan WinSCP... ..60
Gambar 4.6 Akses web server oleh client... .61
BAB I
PENDAHULUAN
1.1LATAR BELAKANG
Banyak cara agar sebuah komputer dapat lebih dimaksimalkan dalam penggunaannya. Membuat jaringan/menghubungkan antar dua komputer atau lebih merupakan salah satu contohnya. Dengan adanya jaringan tersebut informasi dapat ditangani dengan cepat dalam pengelolaannya sehingga tidak hanya dibutuhkan pihak internal, tetapi juga pihak pihak eksternal. Semakin berkembangnya jaringan komputer ini melahirkan sebuah istilah internet. Internet merupakan salah satu sarana dalam menyampaikan informasi yang dibutuhkan tanpa hambatan ruang dan waktu. Internet bukan lagi sesuatu yang mewah tetapi menjadi komponen dasar baik bagi perorangan maupun bisnis. Ketika melakukan koneksi komputer ke internet akan didapati beberapa masalah yang berhubungan keamanan. Masalah-masalah tersebut antara lain keamanan data dan keamanan komputer itu sendiri. Perpindahan data melalui koneksi internet tersebut dapat membuka kesempatan kepada orang lain untuk mengintip atau mengubah data melalui upaya-upaya penyusupan dan beberapa tindakan lain yang dapat merusak seperti serangan virus. Untuk saat ini saja sistem-sistem komputer tidak menjamin 100% data yang ada benar benar aman, sehingga perlu adanya usaha yang dapat meminimalkan gangguan-gangguan tersebut.
internet dari gangguan-gangguan tersebut. Salah satu contohnya adalah firewall. Sebuah firewall pada jaringan dapat melindungi baik user ataupun data yang terdapat pada jaringan lokal dari pengaksesan yang tidak diinginkan dari jaringan luar. Secara konstan firewall mengawasi seluruh aliran yang masuk dan keluar ke koneksi anda, menunggu aliran yang ada untuk dihentikan atau ditolak berdasarkan aturan yang sudah ada. Firewall dapat berbentuk hardware/fisik maupun software. Saat ini terdapat banyak perangkat keras atau hardware yang dapat membentengi atau sebagai firewall sistem seperti contoh cisco, sonicwall dan nokia yang menyertakan perangkat lunak tertentu untuk melakukan konfigurasi firewall. Namun perangkat tersebut harganya cukup mahal. Begitu juga yang bersifat software yang tinggal ditambahkan pada sebuah server atau komputer lain yang dikonfigurasi menjadi firewall seperti checkpoint, McAfee dan Symantech .
1.2RUMUSAN MASALAH
Bagaimana membangun dan mengkonfigurasi sebuah firewall pada Sistem Operasi Freebsd dengan menggunakan aplikasi yang ada ?
1.3 BATASAN MASALAH
Pada penulisan skripsi ini yaitu membahas cara membangun firewall pada sistem operasi freebsd dilakukan beberapa batasan, antara lain :
a. Tidak semua teknik firewall diterapkan. b. Implementasi dilakukan pada jaringan lokal. c. Tidak semua layanan internet di bahas. d. Konfigurasi dilakukan secara text based. e. Menggunakan aplikasi IPFW
1.4 TUJUAN PENULISAN
a. Membangun sebuah firewall sebagai penyaring paket menggunakan sistem operasi Freebsd
b. Mengetahui kelebihan dan kekurangan firewall menggunakan sistem operasi Freebsd khusnya aplikasi IPFirewall (IPFW)
1.5 METODOLOGI PENELITIAN
a. Studi literatur
Mengumpulkan dan mempelajari prinsip dan bagaimana konfigurasi sebuah firewall pada sistem operasi freebsd dengan menggunakan aplikasi yang ada dari sumber sumber pustaka dan pencarian data-data melalui internet.
b. Desain, konfigurasi dan implementasi
Melakukan perancangan dan konfigurasi firewall menggunakan aplikasi IPFW pada sistem operasi freebsd serta mengimplementasikannya dengan menuliskan aturan-aturan berdasarkan kebijakan yang ditentukan.
c. Pengujian sistem
Pada tahap ini sistem firewall yng dibangun mengunakan aplikasi yang ada diujikan pada jaringan yang sebenarnya untuk mengetahui apakah sistem firewall yang dibangun sesuai dengan keinginan.
1.6 SISTEMATIKA PENULISAN
Sistematika penulisan tugas akhir ini terbagi atas 5 bab dengan garis besar sebagai berikut
Bab I : Pendahuluan
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penulisan dan sistematika penulisan.
Bab ini memberi penjelasan mengenai dasar ilmu yang digunakan untuk melakukan penelitian (hubungan teori dan praktek) seperti pengenalan freebsd, aplikasi firewall, dasar dasar rule ipfirewall (IPFW) dan konsep firewall itu sendiri.
Bab III : Perancangan, Instalasi dan Konfigurasi Jaringan
Bab ini membahas tentang perancangan dan konfigurasi sebuah firewall pada sistem operasi freebsd dengan menggunakan aplikasi yang tersedia yaitu ipfirewall (IPFW).
Bab IV : Pengujian sistem dan Pembahasan
Bab ini membahas pengujian sistem pada jaringan yang sebenarnya dalam hal ini menggunakan jaringan lokal atau intranet. Pada bab ini juga akan dibahas hasil dari pengujian tersebut.
Bab V : Penutup
BAB II
DASAR TEORI
2.1 Sejarah FreeBSD
Freebsd merupakan salah satu dari sekian varian unix BSD selain NetBSD, dan OpenBSD. Sebelumnya, perjalanan varian unix BSD dimulai pada tahun 1973, dimana pada waktu itu Prof Bob Fabry dari Universitas California Berkeley menyatakan minat untuk mendapatkan sistem operasi Unix kepada Ken Thompson dan Dennis Ritchie pada kegiatan ”Symposium on Operating Systems Principles” di Universitas Purdue. Prof Bob Fabry bermaksud mendapatkan Unix untuk eksperimen pada sebuah mainframe milik Universitas Berkeley. Pada tahun 1974 sebuah tape yang berisi Unix versi 4 datang ke Berkeley dan di install- kan oleh mahasiswa pasca sarjana Keith Standiford pada komputer PDP-11/45. Meskipun dianggap cukup mudah dalam menginstal unix, namun pada kenyataannya berbagai masalah dihadapi oleh Keith Standiford dalam menjalankan Unix pada komputer tersebut.
Pada akhir musim panas 1976, Ken Thompson kembali ke Bell Labs New Jersey, seiring dengan kepergian Ken Thompson, Bill Jolitz’s dan Chuck Haley mulai mengoprek kernel sistem operasi Unix versi 6 tersebut, berbekal dengan pengalaman satu tahun terakhir mengoprek Unix bersama Ken Thompson sebelumnya.
Akhirnya pada awal tahun 1977, Bill Jolitz’s mengeluarkan versi free dari ”Berkeley Software Distribution”, pada distribusi pertama mencakup pula compiler Pascal dan editor Ex. Pada tahun 1978 Bill Jolitz’s memutuskan software yang ada pada distribusi harus diperbaharui seiring dengan banyaknya feedback dari komunitas, hasilnya pada tahun 1978 tersebut keluar ”Second Berkeley Software Distribution” atau disingkat 2BSD, termasuk didalamnya compiler Pascal, editor vi dan termcap.
Pada bulan Januari 1979 distribusi lengkap telah diselesaikan hasilnya 3BSD sebagai distribusi sistem VAX pertama dari Berkeley. Pada musim gugur 1979, Prof Bob Fabry, merepson keinginan DARPA (Defense Advanced Research Projects Agency ) untuk memperbaiki 3BSD untuk kepentingan komunitas DARPA, dimana pada waktu itu untuk keperluan mengkoneksikan semua komputer pada pusat-pusat riset. Untuk lebih memantapkan pekerjaan dari DARPA tersebut, Prof Bob Fabry membentuk CSRG (Computer System Research Group).
pada saat itu lebih suka menawarkan 4.2BSD ketimbang Unix system V karena 4.2BSD mempunyai fasilitas Networking dan Fast File System.
Dengan berbagai macam kritik dan feedback, maka pada tengah 1986 di-release 4.3BSD, selanjutnya pada Juni 1988 di-di-release 4.3BSD Tahoe dan pada Juni 1990 di-release 4.3BSD Reno. Selain release tsb ada pula release networking yaitu: 4.3BSD Net1 pada Maret 1989 dan 4.3BSD Net2 pada Juni 1991.
kemudian mengajukan usulan sebuah sistem operasi baru dengan basis patchkit tersebut menjadi sebuah “FreeBSD”.
Hubbard akhirnya bekerjasama dengan David Greenman (Walnut Creek) untuk mempersiapkan sebuah penanganan distribusi CDROM. Rilis CDROM pertama dari FreeBSD 1.0 dilakukan pada bulan Desember 1993. Dengan mengupgrade basis FreeBSD dari Net/2 ke 4.4BSD Lite. FreeBSD 2.0 dirilis pada bulan November 1994 dan terus berkembang sampai sekarang yang telah mencapai release 6.2.
Varian BSD
Secara umum ada dua turunan dari 4.4BSD ini yaitu: 1. Komersial
2. Bebas (menggunakan lisensi BSD)
Yang termasuk kedalam varian BSD komersial adalah:
1. BSD/OS (http://www.bsd.com) BSD/OS dipasarkan oleh BSD, Inc. 2. DarwinOS (http://developer.apple.com/darwin/)
Darwin merupakan bagian penting dari sistem operasi MacOS X. Darwin menggabungkan beberapa teknologi dari Mach dengan sistem operasi 4.4BSD.
Yang termasuk kedalam varian BSD bebas (menggunakan lisensi BSD) 1. NetBSD (http://www.netbsd.org)
dari 40 arsitektur, mulai dari 64 bit Alpha Server dan desktop system hingga handheld dan embeded system.
2. FreeBSD (http://www.freebsd.org)
FreeBSD fokus pada optimalisasi PC i386 dan Alpha, sekarang ini juga sudah mendukung IA-64, PC-98, dan UltraSparc. FreeBSD dikenal dengan fitur networking yang cukup handal sehingga digunakan pada web server yahoo (http://www.yahoo.com) dan pada ftp server CDROM,Inc (ftp://ftp.cdrom.com)
3. OpenBSD (http://www.openbsd.org)
OpenBSD fokus pada aspek keamanan (security) dan kriptografi (cryptography). OpenBSD merupakan proyek yang terpisah dari NetBSD pada tengah 1995.
2.2 Firewall
packet inspection (SPI) untuk mencatat semua paket keluar dan tanggapan yang mungkin ditimbulkan oleh paket paket tersebut. Dengan selalu mencatat host pada jaringan terproteksi yang menghasilkan paket-paket outbound membuat WAN yang jahat tidak memasuki interface internal. Beberapa aturan dan fitur firewall yang umum adalah sebgai berikut :
Menolak aliran jaringan yang masuk berdasarkan sumber atau tujuan. Ini merupakan fitur umum sebuah firewall dan merupakan tujuan utama sebuah firewall yaitu menolak aliran yang tidak diinginkan memasuki jaringan.
Menolak aliran jaringan yang keluar berdasarkan sumber dan tujuan. Beberapa firewall juga dapat menyaring aliran jaringan dari jaringan internal ke jaringan internet. Seperti contoh membatasi akses ke situs-situs tertentu
Menolak aliran traffic jaringan berdasarkan isi.
Firewall yang lebih canggih dapat menyaring aliran jaringanuntuk isi yang tidak dapat diterima. Misalnya firewall yang telah terintegrasi dengan dengan sebuah virus scaner dapat menolak file file yang berisi virus sebelum memasuki jaringan anda. Atau firewall yang terintegrasi dengan layanan e-mail akan menyaring e-mail yang tidak dapat diterima.
Menyediakan sumber daya internal
Mengijinkan koneksi ke jaringan internal
Metode umum bagi karyawan untuk terhubung ke jaringan adalah menggunakan virtual private network (VPN). VPN memungkinkan koneksi yang aman dari internet ke jaringan perusahaan.
Melaporkan aliran jaringan dan kegiatan firewall
Saat menyaring aliran jaringan dari dan menuju internet, firewall juga harus mencatat ke syslog atau ke tempat penyimpanan lain apa yang telah dikerjakan oleh firewall tersebut, seperti memantau siapa saja yang telah berusaha memasuki jaringan intranet maupun mengakses materi yang kurang sopan ke internet.
Gambaran umum sebuah operasi firewall :
Gambar 2.1 Operasi Firewall
Pada ilustrasi di atas firewall tersebut memiliki dua interface fisik yaitu interface dalam yang terkoneksi dengan jaringan intranet dan interface luar yang terhubung dengan jaringan internet.
Firewal Router
Dalam Luar
Host A Web server
www.firewall.com
1 3
4
2
1. Host A membuka web broser dan ingin melihat sebuah web page dari web server www.firewall.com. Host A mengirim permintaan keluar melalui firewall.
2. Firewall melihat permintaan yang dikirim dari host A dan ditujukan ke
www.firewall.com. Firewall akan mencatat permintaan keluar dan berharap bahwa tanggapan hanya berasal dari web server
www.firewall.com. Sebuah penanda sesi (session marker) ditempatkan di tabel session state firewall yang akan melacak proses komunikasi dari awal sampai selesai. Matrik koneksi juga ditempatkan pada penanda yang dilindungi oleh firewall untuk komunikasi ini.
3. Tanggapan untuk Host A ke web page permintaan dikirim kembali dari web server www.firewall.com ke Host A melalui firewall.
4. Firewall memeriksa tabel session state-nya untuk melihat apakah matrik yang ada pada sesi ini sesuai dengan koneksi keluar. Jika semua rincian koneksi yang disimpan ini sesuai, firewall mengijinkan traffic inbound
2.2.1 Tipe tipe firewall
Firewall dapat dibedakan berdasarkan mekanisme atau cara kerjanya. Tipe tipe firewall tersebut adalah :
a. Packet filtering
IP paket dan atribut atribut lainnya dari paket tersebut seperti port TCP atau UDP dari sumber paket, port TCP atau UDP dari tujuan paket dan ukuran paket. Informasi dari setiap paket yang ada alan dianalisa oleh firewall, kemudian menetapkan aksi yang akan dilakukan terhadap paket tersebut berdasarkan set aturan /program dalam firewall tersebut.
Sebagai contoh :
Gambar 2.2 Packet filtering
Pada gambar diatas sebuah paket dari internet tujuan ke server yang menggunakan IP 192.168.2.1 dengan port 80. Port 80 adalah atribut yang dimiliki oleh paket tersebut. Firewall akan memperbolehkan paket dengan tujuan ke web server yang menggunakan port 80 dan menolak paket yang bertujuan ke web server dengan port 23.
b. Aplication level gateway
Model ini juga disebut proxy firewall. Filter tidak hanya berdasarkan sumber, tujuan dan atribut paket, tetapi juga isi paket tersebut. Mekanisme lain yang dilakukan adalah paket tersebut tidak langsung sampai ke server tetapi hanya sampai firewall saja. Selebihnya firewall akan membuka koneksi baru ke server tujuan setelah paket tersebut
Web server
Firewall Internet Port 23
diperiksa berdasarkan aturan yang ada. Oleh karena itu proxy firewall secara spesifik tertuju pada suatu layanan jaringan tertentu.
Proxy firewall melakukan pemeriksaan muatan, menyediakan autentikasi dan menjamin bahwa hanya services tertentu yang boleh digunakan. Seperti contoh suatu proxy HTTP dapat menjamin bahwa hanya trafik HTTP yang dizinkan untuk lewat, atau ia juga bisa menyediakan layanan aplikasi khusus seperti halnya penyimpanan pada memori caching.
Gambar 2.3 Application level gateway
Pada gambar diatas sebuah koneksi akan mengakses URL
http://server.com/ikom/pada web server. Firewall akan mengecek apakah koneksi tersebut diperbolehkan dan firewall akan mengecek apakah directory /ikom/ boleh diakses. Bila koneksi diperbolehkan, firewall akan membuka koneksi untuk menghubungkan ke server tujuan.
c. Stateful Inpection
Dengan menggunakan metode ini, firewall tidak memeriksa setiap paket tetapi membandingkan bagian tertentu dari paket dengan basis data yang berisi informasi yang dapat dipercaya. Firewall ini akan menjaga
Web server
Internet Firewall
Port 23
Port 80 Port 80
alur jejak langkah perjalanan setiap koneksi aktif kedalam suatu tabel kondisi.
Untuk beberapa layanan seperti FTP, firewall ini juga mampu secara dinamis membuka port-port antara dua buah host sehingga kommunikasi bisa berhasil dan setelah itu akan menutupnya jika sudah selesai.
2.2.2 Arsitektur firewall
a. Screened Host Firewall system (single-homed bastion)
Pada arsitektur ini, fungsi firewall akan dilakukan oleh packet filtering router dan bastion host. Router ini dikonfigurasikan sedemikian sehingga akan menolak semua trafik kecuali yang ditujukan ke bastion host. Sedangkan untuk arus data (traffic) dari jaringan internal tidak dilakukan pembatasan sehingga setiap client pada jaringan internal dapat berkomunikasi dengan internet tanpa harus melalui proxy.
Konfigurasi ini mendukung fleksibilitas dalam akses internet secara langsung, sebagai contoh apabila terdapat web server pada jaringan ini maka dapat di konfigurasikan agar web server dapat diakses langsung dari internet.
Bastion Host adalah sistem/bagian yang dianggap tempat terkuat dalam sistem keamanan jaringan oleh administrator, atau dapat di sebut sebagai bagian terdepan yang dianggap paling kuat dalam menahan serangan, sehingga menjadi bagian terpenting dalam pengamanan jaringan, biasanya merupakan komponen firewall atau bagian terluar sistem publik. Umumnya Bastion host akan menggunakan Sistem operasi yang dapat menangani semua kebutuhan (misal , Unix, linux, NT).
b. Dual-homed bastion
diletakkan ditempat/segment yang langsung berhubungan dengan internet. Hal ini dapat dilakukan dengan cara menggunakan 2 buah NIC ( network interface Card) pada bastion Host atau yang disebut sebagai dual homed. Interface pertama dihubungkan dengan jaringan luar sedangkan interface yang satunya lagi dihubungkan dengan jaringan dalam ( lokal )
c. Screened subnet firewall
Firewall dengan arsitektur screened-subnet ini memiliki konfigurasi yang cukup tinggi tingkat keamanannya, karena pada konfigurasi ini digunakan 2 buah packet filtering router, 1 diantara internet dan bastion host, sedangkan 1 lagi antara bastian host dan jaringan lokal.
Adapun kelebihannya adalah :
• Terdapat 3 lapisan/tingkat pertahanan terhadap penyusup/intruder .
• Router luar hanya melayani hubungan antara internet dan bastion host sehingga jaringan lokal menjadi tak terlihat (invisible )
• Jaringan lokal tidak dapat mengkonstuksi routing langsung ke internet, atau dengan kata lain, internet menjadi Invinsible (namun tetap bisa melakukan koneksi internet).
• Optimasi penempatan server
Gambar 2.7 Penempatan DMZ 2.2.3 Demilitarized Zone (DMZ)
Ketika kita mengkoneksikan satu atau beberapa server ke internet, ini akan menjadi suatu kendala yang berhubungan dengan keamanan server itu sendiri. Dimana aliran masuk dari jaringan luar akan langsung masuk ke jaringan anda. DMZ sendiri merupakan interface yang berada diantara area jaringan internal dan area aringan untuk umum(internet). Firewall akan mengijinkan akses dari jaringan dari luar ke server yang telah diisolasi di DMZ dan tidak diarahkan langsung memasuki jaringan internal anda. Seperti dalam gambar berikut ini.
Pada gambar diatas terdapat tiga interface card dimana interface pertama dihubungkan dengan dunia luar (internet), interface kedua dihubungkan dengan jaringan dalam dan interface ketiga atau DMZ interface dihubungkan dengan sekumpulan server. Aturan yang diberlakukan adalah
Internet WWW Interface luar
Interface dalam
Interface DMZ Jaringan client
Web server
Mail server
FTP server
• pengguna luar(internet) tidak dibenarkan mengakses rangkaian dalam.
• Pengguna dalam dapat mengakses rangkaian DMZ, tetapi aturan tidak membenarkan rangkaian DMZ masuk ke jaringan dalam. • Pengguna luar (internet) hanya dibenarkan mengakses servis yang
telah disediakan pada rangkaian DMZ yaitu web server, mail server dan FTP server.
2.2.4 Network Address Translation (NAT)
Keterbatasan alamat IPV4 merupakan masalah pada jaringan global atau Internet. Untuk memaksimalkan penggunakan alamat IP yang diberikan oleh Internet Service Provider (ISP) dapat digunakan Network Address Translation atau NAT. NAT membuat jaringan yang menggunakan alamat lokal (private), alamat yang tidak boleh ada dalam tabel routing Internet dan dikhususkan untuk jaringan lokal/intranet, dapat berkomunikasi ke internet dengan jalan ‘meminjam’ alamat IP Internet yang dialokasikan oleh ISP.
2.2.4.1 Dua Tipe NAT
1. Statik
Translasi Statik terjadi ketika sebuah alamat lokal (inside) dipetakan ke sebuah alamat global/internet (outside). Alamat lokal dan global dipetakan satu lawan satu secara Statik.
2. Dinamik
a. NAT dengan Pool (kelompok)
Translasi Dinamik terjadi ketika router NAT diset untuk memahami alamat lokal yang harus ditranslasikan, dan kelompok (pool) alamat global yang akan digunakan untuk terhubung ke internet. Proses NAT Dinamik ini dapat memetakan beberapa kelompok alamat lokal ke beberapa kelompok alamat global. b. NAT Overload
Contoh penerapan NAT seperti pada gambar berikut ini
Komputer A berfungsi sebagai gateway dari jaringan yang ada di bawahnya. Dan hanya komputer ini yang mempunyai alamat ip register atau alamat IP yang terdaftar. Misalnya komputer B ingin membuka situs
www.yahoo.com dengan port 80. sebelum sampai di tujuan, paket data yang berupa permintaan ini melewati komputer A. NAT membacanya.
Setelah itu NAT menukarkan alamat ip komputer B dengan alamat IP komputer A dan meneruskan permintaan tadi ke tujuan.
www.yahoo.com mendengar permintaan dari komputer A (padahal yang meminta adalah komputer B) dan memberikan respon. Setelah sampai ke komputer A, NAT kembali membaca bahwa sesungguhnya respon ini
Internet
Komputer A (Gateway) IP 172.21.202.98
Komputer B IP 192.168.1.2
Komputer C IP 192.168.1.3
Komputer D IP 192.168.1.4 Gambar 2.8 Contoh penerapan NAT
bukan untuk dirinya, melainkan untuk komputer B. Lalu permintaan ini diteruskan ke komputer B.
2.2.4.2 NATD
Network address translation daemon (Natd) merupakan salah satu fasilitas yang menyediakan fungsi NAT pada sistem operasi freebsd yang menggunakan divert socket. Secara normal natd berjalan sebagai daemon pada proses background. Natd akan melakukan pertukaran alamat IP dari bentuk tertentu ke bentuk alamat IP lain.
Setiap paket yang dilewatkan akan dicatat dalam tabel internal sehinga saat paket kembali diterima akan dicocokan kembali dengan tabel yang ada. Jika cocok paket akan diteruskan kembali ke port dan alamat IP paket. Untuk menjalankan natd pada sistem operasi freebsd, harus dilakukan kompile ulang kernel dengan menambahkan option divert. Kemudian pada file konfigurasi /etc/rc.conf
ditambahkan gateway_enable=”yes” dan sysctl
net.inet.ip. forwarding =1 pada file konfigurasi /etc/
sysctl.conf.
2.3 Teknik teknik dalam menembus sebuah sistem
Ada berbagai macam teknik serangan agar seseorang dapat menembus pertahanan atau memperoleh hak akses dalam sebuah sistem. Namun yang umumnya biasa dilakukan adalah beberapa teknik dibawah ini :
IP Spoofing yaitu melakukan pemalsuan alamat IP si penyusup sehingga target akan mengganggap bahwa serangan dilakukan dari dalam bukan dari luar.
• Menggunakan utility-utiliti pembantu
Teknik lain yang dilakukan untuk memperoleh akses adalah program bantu. Program program ini dapat berupa script atau software sederhana yang banyak tersedia di internet. Program program ini dapat dibagi menjadi beberapa bagian :
1. Scanner
Digunakan untuk menemukan kelemahan-kelemahan sebuah jaringan lokal maupun remote. Scanner melakukan query port port TCP/IP dan merekam respon dari mesin target. Informasi yang didapat antara lain service yang sedang berjalan, user yang sedang memiliki service itu, service network yang membutuhkan autentikasi.
Password cracker
Digunakan untuk menemukan password user dalam sebuah sistem. Berupa sebuah program yang akan mengalisa password yang telah didapatnya.
Trojan horse
Sniffer
Merupakan tool yang digunakan untuk menangkap, menterjemahkan dan menganalisa paket data lalu lintas jaringan. • Mencoba account-account default
Untuk memperoleh login, penyusup akakn melakukan teknik dasar yaitu mencoba account default yang ada dalam sistem operasi dalam format standar. Account account tersebut umumnya memiliki password standar tetapi terkadang tidak memiliki password sama sekali. Beberapa contoh account standar seperti mountfsys, umountfsys, install adalah account-account level root.
Setelah berhasil menembus sebuah sistem seorang penyusup akan membuat account tersembunyi atau juga meyembunyikan file atau program backdoor agar dalam aksi berikutnya tidak akan serumit ketika melakukan aksi yang pertama. Setelah usahanya berhasil mencapai root mereka dapat melakukan apa saja yang diinginkan. Setelah melakukan penyusupan usaha terakhir adalah menghapus informasi yang mengindikasikan adanya penyusupan, misalnya menghapus history, mengedit log dan message, mengubah tanggal dan waktu akses file, mengedit permisi dan kepemilikan file.
2.4 IPFW
menambahkan statement firewall_enable=”YES” pada file /etc/rc.conf untuk mengaktifkan firewall. Namun ada baiknya perlu di kompile ulang kernel agar fungsi nat dapat berjalan dengan baik dan firewall default accept.
2.4.1 Perintah IPFW
Perintah ipfw merupakan sebuah sarana untuk membuat rule tunggal seperti menambah atau menghapus ke aturan internal disaat firewall sedang dijalankan. Yang menjadi masalah adalah ketika sistem shutdown atau reboot maka semua aturan yang ditambahkan akan hilang.
• Ipfw list
Untuk menampilkan semua aturan firewall berdasarkan urutan • Ipfw –t list
Untuk menampilkan semua aturan firewall dengan penanda waktu terakhir aturan tersebut digunakan.
• Ipfw –d list
Menampilkan aturan dinamik yang ditambahkan ke aturan static. • Ipfw –d –e list
Untuk menampilkan aturan dinamik yang telah berakhir • Ipfw zero
Untuk melakukan reset login dengan melakukan reset counter • Ipfw zero NUM
2.4.2 Aturan IPFW
Dalam penulisan aturan firewall terdapat tanda # yang berarti komentar akan fungsi aturan yang ditulis. Sintaks umum dari penulisan aturan pada IPFW adalah sebagai berikut dibawah ini:
CMD RULE_NUMBER ACTIONS LOGGING SELECTION STATEFUL
CMD
Setiap aturan yang harus harus menambahkan kata add. CMD sebenarnya merupakan gabungan dari kata ”ipfw –q add”. Ini dilakukan agar kita tidak harus menuliskan dua kata atau lebih pada setiap baris aturan, tetapi cukup mewakilkan kepada satu kata saja.
RULE NUMBER
Nomor urut aturan tidak harus ada karena akan secara otomatis ditambahkan ketika aturan di muat kedalam tabel internal IPFW. Nomor urut ini untuk memudahkan dalam pemeliharaan sebuah firewall dimana log yang ada dimuat berdasarkan nomor aturan.
ACTIONS
• allow | accept | pass | permit
Ke empat kata di atas mempunyai kesamaan yaitu mengijinkan paket lewat
• Check state
Memeriksa paket yang berlawanan dengan rule set yang ada. Jika ditemukan akan dijalankan tindakan sesuai dengan rule yang telah dibuat. Apabila tidak ditemukan akan berlanjut ke aturan berikutnya.
• deny | drop
Kedua kata diatas mempunyai arti yang sama yaitu membuang paket yang ada berdasarkan aturan yang telah ditentukan.
LOGGING
Log atau logamount
Ketika sebuah paket sesuai dengan kata kunci, sebuah pesan akan dimasukkan ke syslog dengan sebuah fasilitas dengan nama SECURITY. Pesan ini hanya terjadi jika nomor paket khususnya aturan tidak melebihi parameter logamount. Jika tidak ada logamount yang dispesifikasikan batas tersebut akan diambil dari variabel sysctl net.inet.ip.fw.verbose_limit.
tersebut. Ketika sebuah aturan dicatat, terdapat beberapa informasi yang akan disimpan. Antara lain :
- tanggal dan waktu - rule number
- aksi yang dilakukan
- alamat IP sumber dan tujuan - nomor port asal dan tujuan - arah aliran
- interface yang dilalui
Sebuah contoh log yang diambil dari /var/log/security adalah sebagai berikut
Jan 20 10:57:48: ipfw: 0012 Deny TCP \
172.21.202.1:62307 192.168.0.1:23 in via rl0
SELECTION
Kata kunci pada bagian ini digunakan untuk menguraikan atribut yang menyangkut paket yang ada apakah sesuai dengan aturan yang berhubungan dengan paket tersebut. Atribut yang biasa digunakan dalam bagian ini adalah :
• Protocol : udp | tcp | icmp
• from src to dst
Kata ini berhubungan dengan alamat IP address. Sebuah rule atau aturan yang ada harus mencantumkan kedua parameter alamat sumber dan alamat tujuan sebuah IP address atau juga dapat menggunakan sebuah kata kunci khusus seperti from any to any atau from any to me atau from 0.0.0.0/0 to any. Spesifikasi umum sebuah alamat IP adalah nomor ipaddress/netmask. Dapat juga berupa sebuah alamat ip saja. Ini merupakan sesuatu yang wajib dalam penulisan aturan.
• port number
Untuk protokol yang mendukung nomor port seperti TCP dan UDP juga dicantumkan nomor port dalam aturan ini.
• in | out
Kata in dan out ini merupakan bagian dari aturan yang menunjukan paket yang masuk atau keluar.
• via IF
• setup
Kata ini digunakan untuk mengidentifikasi permintaan paket TCP.
• keep-state
Ini merupakan sebuah kata kunci dimana setiap pencocokan firewall akan membuat suatu aturan dinamis yang secara default adalah mencocokan bidirectional trafik antara sumber dan tujuan port yang menggunakan protokol yang sama.
• limit {src-addr | src-port | dst-addr |
dst-port}
Firewall hanya mengijinkan n koneksi dengan parameter yang sama yang ditetapkan dalam aturan. Satu atau lebih alamat dan port tujuan akan ditentukan. Limit dan keep-state tidak dapat digunakan pada aturan yang sama. Limit menyediakan fungsi stateful yang sama sebagai keep-state ditambah fungsi itu sendiri.
2.4.3 Contoh sintaks rule IPFW dan prosesnya
CMD 0001 allow icmp from 192.168.1.1 to any out via rl0
Perintah di atas berarti tambahkan (CMD)satu aturan baru dengan nomor rule (0001) untuk menerima paket yang mengunakan protocol (ICMP) yang bersumber dari (from)komputer dengan ip 192.168.1.1 paket tersebut memiliki tujuan (to) luar tanpa batasan IP (any) dan melalui (via) interface card 1. CMD merupakan gabungan dari sintaks ipfw add.
Proses IPFW
Dibawah ini merupakan contoh beberapa rule firewall yang ditampilkan dengan perintah:
# ipfw list
• Maksud dari rule pertama adalah tambahkan aturan baru(cmd) dengan nomor aturan (100) untuk menyetujui (allow) paket yang bersumber dari mana saja (any)dengan tujuan (to) kemana saja(any)melalui loopback interface(lo0).
$cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
• Maksud dari rule baris ketiga adalah tambahkan aturan baru (cmd) dengan nomor aturan (300) yang bersumber dari 127.0.0.0/8 dengan tujuan (to) kemana saja.
$cmd 300 deny ip from 127.0.0.0/8 to any
• Maksud dari rule baris keempat adalah tambahkan aturan baru (cmd)dengan nomor aturan (400) untuk menyetujui (allow) paket yang menggunakan protocol(TCP) yang bersumber dari (from) 192.168.1.2 dengan tujuan (to) 172.21.202.1 dan port tujuan (23) yang akan masuk (in) melalui interface lan($IF_LAN.
$cmd 400 allow tcp from 192.168.1.2 to 172.21.202.1 23\
in via $IF_LAN
• Maksud dari rule baris kelima adalah tambahkan aturan baru(cmd) dengan nomor aturan (500) untuk menolak paket yang bersumber dari mana(from any saja dan mempunyai tujuan kemana saja ( to any).
$cmd 500 deny ip from any to any
Keseluruhan dari script di atas terangkum dalam satu script file dibawah ini: $cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
$cmd 400 allow tcp from 192.168.1.2 to 172.21.202.1 23\
in via $IF_LAN
$cmd 500 deny ip from any to any
Misalkan mesin internet dengan no ip 172.21.202.1 menerima sebuah paket telnet dari internal dengan ip 192.168.1.2. Maka sebuah paket akan mempunyai atribut seperti berikut ini:
IP Sumber Port Asal IP Tujuan Port Tujuan Protocol 172.21.202.1 3333 192.168.1.2 23 TCP
Langkah langkahnya sebagai berikut:
1) Kernel menerima paket melalui interface rl0
2) Kernel akan membandingkan paket dengan aturan(100):
$cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
$cmd 300 deny ip from 127.0.0.0/8 to any
$cmd 400 allow tcp from 192.168.1.2 to \
172.21.202.1 23 in via $IF_LAN
$cmd 500 deny ip from any to any
3) Kernel tidak menemukan kecocokan. Proses dilanjutkan ke rule (200): $cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
$cmd 400 allow tcp from 192.168.1.2 to \
172.21.202.1 23 in via $IF_LAN
$cmd 500 deny ip from any to any
4) Kernel tidak menemukan kecocokan. Proses dilanjutkan ke rule (300): $cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
$cmd 300 deny ip from 127.0.0.0/8 to any
$cmd 400 allow tcp from 192.168.1.2 to \
172.21.202.1 23 in via $IF_LAN
$cmd 500 deny ip from any to any
5) Kernel tidak menemukan kecocokan. Proses dilanjutkan ke rule (400): $cmd 100 allow ip from any to any via lo0
$cmd 200 deny ip from any to 127.0.0.0/8
$cmd 300 deny ip from 127.0.0.0/8 to any
$cmd 400 allow tcp from 192.168.1.2 to
172.21.202.1 23\ in via $IF_LAN
$cmd 500 deny ip from any to any
6) Kernel menemukan kecocokan, maka paket diijinkan
9) Jika tidak menemukan kecocokan paket yang ada akan di buang berdasarkan rule 65535
Dalam penulisan script firewall harus dilakukan secara berurutan karena di jalankan berdasarkan nomor urut yang ada, sehingga kesalahan dalam penomoran dapat berakibat fatal bagi keamanan suatu jaringan.
2.5 PORT
Secara umum pengertian sebuah port adalah titik atau endpoint sambungan sebuah data dikirim atau diterima. Ada dua jenis port, yaitu port fisik seperti contoh port USB, port serial, port paralel dan sebagainya. Yang kedua adalah port logical atau yang tidak kelihatan yang digunakan dalam komunikasi networking.
didaftar ke IANA (Internet Assigned Number Authority). Namun tidak semua nomor port dapat dipergunakan. Nomor-nomor port yang ada terbagi ke dalam tiga golongan:
• Port-port yang banyak dikenal atau Well Known Ports
Nomor-nomor port ini ditetapkan oleh IANA dan kebanyakan system nomor-nomor ini dapat digunakan hanya oleh prosesor-prosesor dan layanan-layanan yang diberi prioritas oleh sistem operasi. Kisaran nomor untuk port-port yang banyak dikenal ini adalah 0 hingga 1023. Beberapa Contoh port yang dikenal antara lain:
Nomor port Penggunaan
20 Control FTP
21 Data FTP
23 TELNET
25 SMTP
69 TFTP
80 HTTP
110 POP3
119 NNTP
123 NTP
137 Layanan Nama NETBIOS
161 SNMP
162 SNMPTRAP
• Port-port terdaftar atau Registered Ports
Port-port ini terdaftar di IANA dan dapat dipergunakan oleh hampir semua aplikasi dan penguna. Kisaran nomor untuk port-port terdaftar ini adalah dari 1024 hingga 49151.
• Port-port dinamis dan atau privat
Port-port ini dapat digunakan oleh aplikasi apapun dan oleh siapapun. Port-port ini tipikalnya dipakai oleh client yang mengakses berbagai layanan dari sebuah server, karena nomor port di sistem client tidak relevan atau karena client tidak menjalankan layanan tersebut. Kisaran nomor port ini adalah 49152 sampai 65535.
2.6 Dasar koneksi TCP
Koneksi TCP juga dikenal sebagai yang reliable dan byte stream service. Konsep reliable pada koneksi TCP berarti TCP akan mendeteksi error pada paket yang dikirim dan bila itu terjadi, paket akan dikirim ulang kembali. Konsep byte stream service berarti paket-paket dikirimkan ke tujuan secara urut.
Client Firewall Server
Gambar 2.9 Awal sebuah koneksi TCP
Setelah koneksi TCP selesai dilakukan, client atau server akan mengirimkan signal FIN/ACK kepada mesin tujuan. Sinyal ini masih dianggap seagai koneksi yang sudah terjadi (ESTABLIISHED). Setelah mesin tujuan menerima signal FIN/ACK, mesin tersebut akan membalas dengan ACK kepada mesin itu kembali dan koneksi akan terputus.
SYN ACK
SYN/ACK ESTABLISHED
Client Firewall Server
Gambar 2.10 Akhir sebuah koneksi TCP
2.7 Dasar koneksi ICMP
Sebuah koneksi ICMP hanyalah berupa permintaan (request) echo dan balasan (reply). Ada empat macam type echo yang mendapatkan paket balasan. Yaitu echo request dan reply, timestamprequest dan reply, information request dan reply serta address mask requesdan reply.
Client Firewall Server
Gambar 2.11 Sebuah koneksi ICMP FIN/ACK
CLOSE
ACK ESTABLISHED
ESTABLISHED
ACK
FIN/ACK ESTABLISHED
ESTABLISHED
CLOSED
ICMP echo request
Client processing
ICMP echo reply ESTABLISHED
2.8 Dasar koneksi UDP
Berbeda dengan koneksi TCP, koneksi UDP bersifat connectionless. Sebuah mesin yang mengirimkan paket UDP tidak akan mendeteksi kesalahan terhadap gangguan pengiriman paket tersebut. Paket UDP juga tidak akan mengirimkan kembali paket-paket yang mengalami error. Model pengiriman paket ini lebih efisien pada koneksi broadcasting atau multicasting.
Client Firewall Server
Gambar 2.12 Sebuah koneksi UDP UDP packet
………….
UDP packet ESTABLISHED
BAB III
PERANCANGAN, INSTALASI DAN KONFIGURASI
JARINGAN
3.1 Kebutuhan Hardware komputer Firewall
Kebutuhan PC yang berfungsi sebagai firewall dan juga sebagai gateway adalah dengan spesifikasi minimal sebagai berikut
• Prossesor minimal pentium III • Memori / RAM kapasitas 64 Mb • 4 GB HDD
• VGA 2 MB • Monitor 14”
• 2 buah kartu jaringan • Keyboard.
Kebutuhan ini merupakan standar dalam menginstall sistem operasi Freebsd 5.4 ( text based ).
3.2 Kebutuhan Software
Kebutuhan perangkat lunak dalam membangun firewall ini antara lain:
1. FreeBSD 5.4 sebagai sistem operasi
3.3 Konfigurasi jaringan dan penempatan komputer firewall
Komputer yang berfungsi sebagai firewall memiliki dua buah ethernet card untuk menghubungkan dua jaringan yang berbeda atau menggunakan arsitektur dual home bastion. Kartu jaringan yang pertama menghubungkan komputer firewall dengan jaringan luar atau internet dan kartu jaringan kedua menghubungkan firewall dengan komputer lokal atau intranet.
Dalam percobaan ini digunakan tipe firewall yang pertama yaitu paket filtering. Dengan tipe ini firewall melakukan filtrasi terhadap paket data berdasarkan nomor port dan alamat IP. Fungsi komputer firewall disini juga sebagai mesin NAT ( network address translation ) agar komputer dalam jaringan intranet dapat melakukan browsing dengan alamat IP legal. Komputer ini juga berfungsi sebagai gateway bagi komputer jaringan lokal. Adapun topologi jaringan dan penempatan komputer firewall adalah sebagai berikut :
Gambar 3.1 Konfigurasi jaringan
3.4 Konfigurasi Sistem
Dalam sistem operasi freebsd terdapat beberapa aplikasi yang dapat digunakan dalam membuat firewall seperti ipfilter atau biasa disebut IPF, ipfirewall atau biasa disebut IPFW dan openbsd atau disebut PF. Dalam percobaan ini digunakan ipfirewall atau IPFW dan natd. Selain untuk firewall IPFW juga bisa digunakan QoS, yakni untuk pengaturan bandwith. Supaya sistem operasi freebsd dapat menjalankan IPFW, maka kernel yang berjalan harus mendukung IPFW dengan melakukan kompile ulang kernel. Sebenarnya dalam instalasi secara default IPFW sudah terpasang namun kompile ini dilakukan agar fungsi nat dapat berjalan
Client 1 Client 3
Firewall
Clinet 2 HUB
dengan baik. Adapun langkah-langkah dalam melakukan kompile ulang kernel adalah sebagai berikut :
1. login sebagai root : login: root
password: ********
2. ikom#cd /usr/src/sys/i386/conf
3. ikom#cp GENERIC FIREWALL
4. ikom#ee FIREWALL
5. Setelah masuk dalam file konfigurasi kernel edit, tambahkan beberapa opsi untuk mengaktifkan firewall. Opsi-opsi tersebut adalah:
a. ident FIREWALL
options ini biasanya sudah ada secara default dengan nama GENERIC dan diubah sesuai dengan keinginan kita, dalam hal ini diubah dengan nama FIREWALL
b. options IPFIREWALL
Mengaktifkan ipfw pada kernel untuk dukungan ipv4 c. options IPFIREWALL_VERBOSE
Mengaktifkan kode untuk mengizinkan loggin paket-paket melalui syslogd. Tanpa opsi ini, paket paket apa pun yang anda set tidak akan di dengar.
IPFIREWALL_DEFAULT_TO_ACCEPT berarti saat komputer nyala dan belum ada aturan yang diset, maka komputer akan otomatis meng-accept semua koneksi. Bisa juga IPFIREWALL_DEFAULT_TO_DENY atau tidak perlu ditambahkan. Bila tidak ditambahkan maka akan secara otomatis DEFAULT_TO_DENY
e. options IPFIREWALL_VERBOSE_LIMIT=5
membatasi jumlah paket yan masuk melalui syslog dalam basis per entri, hal ini untuk mencegah sebuah serangan yang akan menyebabkan kerusakan pada sebuah file sistem.
f. options IPFIREWALL_FORWARD
Mendukung transparent proxy g. options IPDIVERT
Mengaktifkan fungsi NAT h. options DUMMYNET
opsi atau pilihan ini berhubungan dengan management bandwith
i. options TCP_DROP_SYNFIN
opsi ini untuk mengurangi terjadinya serangan Ddos.
j. Nonaktifkan defice bpf (bpf: berkeley packet filter) dengan memberi tanda # pada awal statement tersebut sehingga menjadi:
Opsi ini berhubungan dengan DHCP
6. Tahap selanjutnya adalah mengaktifkan firewall dan fungsi natd agar dapat berjalan secara otomatis saat komputer booting dengan mengedit file rc.conf melalui perintah:
ikom#ee /etc/rc.conf
firewall_enable=”YES”
firewall_script=”/etc/ipfw.rules”
Maksud dari dua baris perintah diatas adalah rc.conf akan mengexecute ipfw pada saat bootup dengan rule yang di set pada directory /etc/ipfw.rules.
firewall_type=”OPEN”
firewall_Type="Open" memerintahkan BSD untuk menggunakan tipe open pada firewall ini yang mempunyai arti menyetujui setiap paket yang datang. Ini berhubungan dengan options IPFIREWALL_DEFAUL_TO_ACCEPT pada konfigurasi kernel diatas. Selain tipe OPEN ada beberapa tipe lain yang bisa digunakan sesuai dengan kebutuhan. antara lain:
client - hanya melindungi mesin firewall saja
simple - akan memcoba untuk melindungi jaringan keseluruhan
closed - secara total menonaktifkan IP services kecuali yang melalui interface lo0
filename – akan menjalankan rule firewall dengan nama script
tertentu natd_enable=”YES”
perintah diatas untuk mengaktifkan fungsi NATD natd_interface=”lnc0”
interface card yang berhubungan dengan dunia luar(internet) nat_flags=”-dynamic –m”
mode NATD yang digunakan ada mode dinamis dimana setiap perubahan IP akan disesuaikan secara otomatis oleh NAT
7. Selanjutnya edit file /etc/sysctl.conf untuk memasukkan beberapa opsi tambahan sebagai berikut
ikom#ee /etc/sysctl.conf
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.log_in_vain=1
BAB IV
PENGUJIAN SISTEM DAN PEMBAHASAN
Dalam dunia internet banyak sekali layanan atau aplikasi yang dapat diakses oleh user. Aplikasi itu antara lain web, FTP, akses e-mail, Irc. Dalam pengujian ini di gunakan 4 buah komputer yang diimplementasikan sebagai komputer server, komputer firewall dan 2 komputer client. Komputer server menyediakan layanan sebagai web server internet( dianggap demikian ). Komputer firewall juga bertindak sebagai gateway yang memberikan layanan akses internet bagi komputer lokal.
4.1 Topologi jaringan dan IP address
Komputer firewall memiliki 2 ethernet card dengan network id yang berbeda beda. Card pertama (rl0) akan terhubung ke sebuah server (alamat IP 172.21.202.5) untuk melakukan koneksi internet dengan nomor IP 172.21.202.1. Nomor ini merupakan alamat IP global ( kita anggap demikian). Ethernat card kedua dengan nomor IP 192.168.1.1 akan terhubung dengan jaringan lokal. Dalam jaringan lokal terdapat 2 komputer client dengan nomor IP 192.168.1.1/24 dan 192.168.1.2/24.
akan di foward ke jaringan internet. Firewall akan melakukan filtering berdasarkan port dan alamat IP terhadap paket data yang melewati sistemnya.
4.2 Menjalankan NAT
Agar dapar berjalan secara otomatis sewaktu booting konfigurasi natd ditempatkan pada file /etc/rc.conf dengan menambahkan opsi
gateway_enable=”YES”
natd_enable="YES"
Server
Firewall / gateway
Client 2 Client 1
172.21.202.5
192.168.1.2/24 192.168.1.3/24
rl0: 172.21.202.1
rl1: 192.168.1.1
natd_interface="rl0"
natd_flags="-dynamic -m"
setelah di boot ulang lakukan pengecekan dengan menjalankan perintah: ikom# ps ax | grep natd
276 ?? Is 0:00.02 /sbin/natd -dynamic -m -n rl0
607 p0 S+ 0:00.00 grep natd
ikom#
Apabila muncul tapilan diatas(tidak harus sama persis) berarti nat telah berfungsi dengan baik.
4.3 Pengujian Firewall
Dalam melakukan pengujian ini di gunakan beberapa source tipe address. Tipe address yang ada mewakili semua yang dirancang pada rule-rule firewall. Pengujian dilakukan dengan membuka dan menutup layanan yang dapat diakses oleh client.
a. Pengujian dengan ping dan traceroute
ICMP (Internet control Message Protokol) di desain sebagai sebuah diagnosa protocol. Ping dan traceroute merupakan alat dalam mendiagnosa sebuah jaringan apakah jaringan tersebut terhubung atau tidak.
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\IKOM>ping 172.21.202.5
Pinging 172.21.202.5 with 32 bytes of data:
Reply from 172.21.202.5: bytes=32 time<1ms TTL=127 Reply from 172.21.202.5: bytes=32 time<1ms TTL=127 Reply from 172.21.202.5: bytes=32 time<1ms TTL=127 Reply from 172.21.202.5: bytes=32 time<1ms TTL=127
Ping statistics for 172.21.202.5:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0MS, Average = 0ms
C:\Documents and Settings\IKOM>
Setelah dilakukan perubahan pada konfigurasi firewall, client tidak dapat lagi melakukan ping dan akan tampak:
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\IKOM>ping 172.21.202.5
Pinging 172.21.202.5 with 32 bytes of data:
Request timed out. Request timed out. Request timed out. Request timed out.
Ping statistics for 172.21.202.5:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Pengujian yang dilakukan adalah jika akses ping diijinkan, maka firewall akan mengijinkan paket data dari jaringan internal menuju ke internet melewati sistemnya begitu juga sebaliknya melewatkan paket balasan dari jaringan internet untuk menuju jaringan internal.
Dalam melakukan pengujian ini traceroute digunakan untuk mengetahui titik titik mana saja yang dilewati oleh paket data untuk sampai kepada tujuan. Dalam rule firewall yang dibuat, client dapat melakukan traceroute ke komputer internet. Hasil eksekusi sebagai berikut:
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\IKOM>tracert 172.21.202.5
Tracing route to 172.21.202.5 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 192.168.1.1 2 <1 ms <1 ms <1 ms 172.21.202.5
Trace complete
C:\Documents and Settings\IKOM>
Adapun rule untuk kedua tools diagnosa diatas adalah
#####menyetujui LAN untuk melakukan ping keluar
$cmd allow icmp from any to any icmptypes 8 in via $IF_LAN
$cmd allow icmp from any to any icmptypes 0 out via $IF_LAN
#####menyetujui LAN untuk menjalankan traceroute
Dari rule yang ada diatas firewall mengijinkan komputer LAN untuk melakukan ping ke komputer internet dan melakukan traceroute.
b. Pengujian dengan ssh
Sama halnya dengan telnet, ssh digunakan untuk remote lain tehadap sebuah komputer lain yang berada dalam suatu jaringan. Kelebihan dibandingkan dengan telnet adalah ssh mampu melakukan enkripsi terhadap paket data yang dilewatkan sehingga data lebih aman. Dalam pengujian ini komputer firewall dijadikan ssh server dengan menginstall paket open ssh. Jika komputer yang digunakan adalah linux ataupun freebsd dapat menjalankan perintah root#ssh root@nomor ip.
Dibawah ini merupakan hasil eksekusi dari program putty:
login as: root
Using keyboard-interactive authentication.
Password:
Last login: Tue Mar 20 03:14:47 2007 from 192.168.1.2
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991,
1993, 1994
The Regents of the University of California.
All rights reserved.
Ikom#
Setelah muncul tanda prompt (#) kita dapat menuliskan perintah-perintah.
Dibawah ini merupakan rule firewall untuk mengijinkan komputer dengan nomor IP tertentu untuk menjalankan SSH.
#####menyetujui secure telnet dan scp dari ip tertentu
#####fungsi ssh
$cmd allow tcp from 192.168.1.2 to 192.168.1.1 22 in via \
$IF_LAN
$cmd allow tcp from 192.168.1.1 22 to 192.168.1.2 out via \
$IF_LAN established
$cmd deny log ip from any to 192.168.1.1 22 in via $IF_LAN
Dari rule yang ada, komputer client dengan IP 192.168.1.2 di ijinkan untuk melakukan SSH terhadap komputer yang bernomor IP 192.168.1.1 dalam hal ini komputer firewall. Sehingga ketika komputer lain akan melakukan SSH terhadap komputer dengan nomor IP 192.168.1.1 maka koneksi akan ditolak. Sebagai contoh client dengan nomor IP 192.168.1.3 melakukan SSH akan muncul tampilan:
c. Pengujian dengan menggunakan SCP
SCP memiliki fungsi yang sama seperti halnya FTP. Namun yang lebih menarik dari SCP adalah file yan dikirimkan akan dienkripsi terlebih dahulu sehingga memiliki tingkat keamanan yang lebih baik dibandingkan dengan FTP. Pada pengujian ini komputer client yang berbasis windows akan mengakses server freebsd dengan menggunakan program WinSCP. Ketika pertama kali program dijalankan masukkan hostname atau alamat IP komputer yang di remote beserta user name dan password. Dalam pengujian ini komputer yang akan diremote adalah komputer firewall dengan IP 192.168.1.1.
Apabila autentikasi berhasil akan terlihat hasil seperti gambar dibawah ini dimana bagian sebelah kiri merupakan file dari komputer local sedangkan disebelah kanan merupakan file komputer yang di remote.
d. Pengujian mengakses webserver internet
Dalam pengujian ini komputer server (internet) menyediakan layanan web server. Dari komputer client yang menggunakan system operasi linux atau freebsd dapat melakukan akses dengan mengetikkan pada konsole root#lynx http://172.21.202.5 sedangkan client yang menggunakan komputer windows dapat mengetikkan alamat tersebut pada browser IE yang ada.
Pada gambar diatas, komputer client dapat mengakses komputer server. Ini dapat terjadi karena dalam rule firewall hal itu diijinkan. Adapun rule firewall yang mengijinkan adalah sebagai berikut :
$cmd allow tcp from any to any 80 setup keep-state
Dari rule yang ada diatas firewall akan mengijinkan semua koneksi TCP dari dan ke manapun dengan tujuan port 80. Apabila dalam rule diganti
$cmd deny tcp from any to any 80 setup keep-state
maka client yang ada tidak dapat mengakses web server tersebut. Dan hasil dari browsernya adalah sebagai berikut:
Gambar 4.6 akses web server oleh client
e. Memantau port dengan menggunakan tool scanner
Fungsi dari scanner ini adalah menemukan port port mana saja yang tidak terfilter oleh firewall sehingga seorang admin dapat melakukan langkah pencegahan dalam meminimalkan gangguan terhadap komputer firewall. Tools yang di gunakan dalam pengujian ini adalah Nmap.
C:\Documents and Settings\IKOM>cd \
C:\>cd program files/nmap
C:\Program Files\Nmap>nmap -p1-6500 192.168.1.1
Starting Nmap 4.20 ( http://insecure.org ) at
2007-03-20 04:00 SE Asia Standard Time
Interesting ports on 192.168.1.1:
Not show: 6500 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap finished: 1 IP address (1 host up) scanned in
75.479 seconds
C:\Program Files\Nmap>
4.4Membaca file log
Dalam system operasi freebsd kita dapat meliahat dan menganalisa log file pada direktori /var/log/messages. Untuk menampilkan log firewall dengan menjalankan perintah. root#tail /var/log/security
Namun dalam percobaan ini namun dalam pengujian ini letak direktori lebih di spesifikasikan lagi hanya untuk menganalisa log file IPFW. Caranya adalah dengan mengedit file /etc/syslog.conf. kemudian tambahkan !ipfw *.* /var/log/firewall.log. kemudian buat folder baru dengan perintah
root# touch /var/log/firewall.log. Kemudian syslogd nya
direstart. Potongan hasil dari isi /var/log/messages adalah seperti dibawah ini
root# tail /var/log/firewall.log
Mar 15 01:02:25 ikom kernel: ipfw: 4200 Accept ICMP:3.3\
192.168.1.1 192.168.1.2 out via rl1
Mar 15 01:02:25 ikom kernel: ipfw: 4200 Accept ICMP:3.3 \
192.168.1.1 192.168.1.2 out via rl1
Mar 17 04:23:44 ikom kernel: ipfw: 2700 Deny TCP 192.168.1.3:1079\
172.21.202.1:22 in via rl1
Mar 17 04:36:26 ikom kernel: ipfw: 2700 Deny TCP 192.168.1.3:1080\
172.21.202.1:22 in via rl1
Mar 20 15:22:00 ikom kernel: ipfw: 4200 Accept TCP