Membangun firewall pada sistem operasi freebsd 5.4 dengan menggunakan aplikasi ipfirewall [IPFW].

(1)

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.

IPFW mempunyai command yang mudah ditulis oleh admin untuk membangun sistem keamanan yang lebih baik


(2)

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.


(3)

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

YOGYAKARTA 2007


(4)

(5)

(6)

iv

PERSEMBAHAN

!

" ""

" ####

$%%& "

""

" #### &%'&%'&%'&%'


(7)

v

Hanya sekedar kata...

(

(

(

(

))))

*+

,

*+

,

*+

,

*+

,

--

-####

####

"

""

"

+

*

+

+

*

*

+

*

,,,,

-####

+

*

+

+

*

*

+

*

,,,,

-(

(

(

(

####

....

"

""

"

+

*

+

*

+

*

+

*

,,,,

+

*

+

*

+

*

+

*

! "

! "

! "

! "

"/0 0

"/0 0

"/0 0

"/0 0

,

,

,

,

1111


(8)

(9)

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.

IPFW mempunyai command yang mudah ditulis oleh admin untuk membangun sistem keamanan yang lebih baik


(10)

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.


(11)

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.

5. Ibu Anastasia Rita Widiarti,S.Si,M.Kom selaku dosen penguji yang telah memberikan saran dan kritik demi kesempurnaan skripsi ini.


(12)

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.

13. Teman-teman kos seberang: Novi, Eni kecil, Diana, Evi, Mery, Yanti KKN, Abang, Iwan wawo, Willi, Marcell yang selalu menyapa disaat bertemu “kapan kamu ujian skripsi sam ?”. Pertanyaan yang selalu memberi semangat untuk bangkit.


(13)

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.


(14)

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


(15)

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


(16)

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

DAFTAR PUSTAKA ... 67 LAMPIRAN


(17)

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


(18)

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.

Banyak cara yang digunakan untuk melakukan pengamanan terhadap web server, database server, atau sumber informasi lain yang terhubung ke


(19)

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 .

Namun ada juga yang menyediakan aplikasi firewall secara gratis. Freebsd sebagai salah satu sistem operasi open source menyediakan aplikasi firewall yang bersifat gratis. Aplikasi yang dibutuhkan freebsd agar dapat bertindak sebagai firewall antara lain ipfilter atau biasa disebut IPF, ipfirewall atau biasa disebut IPFW dan openbsd atau disebutPF. Aplikasi-aplikasi yang ada dapat mengimplementasikan suatu aturan pada sistem firewall. Dengan adanya aplikasi-aplikasi tersebut seorang administrator dapat melakukan konfigurasi firewall dengan perintah-perintah tertentu dalam meningkatkan keamanan data dalam suatu jaringan.


(20)

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

Adapun metode penelitian yang digunakan penulis dalam menyusun skripsi ini adalah:


(21)

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.


(22)

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 ini berisi kesimpulan dan saran-saran mengenai penerapan firewall pada sistem operasi freebsd menggunakan aplikasi ipfirewall (IPFW).


(23)

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 tahun 1975, departemen Ilmu Komputer Universitas California Berkeley membeli komputer baru sebuah DEC 11/70. Pada tahun yang sama Ken Thompson menjadi Profesor Tamu pada almamaternya yaitu Universitas California Berkeley, Ken Thompson datang dengan membawa sistem operasi Unix versi 6. Dua orang mahasiswa pasca sarjana yaitu Bill Jolitz’s dan Chuck Haley membantu Ken Thompson untuk meng-hacked Unix versi 6 tersebut pada komputer DEC 11/70.


(24)

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 tahun 1978, Departemen Ilmu Komputer Universitas Berkeley, membeli sebuah komputer VAX-11/780 dari DEC, meskipun komputer tersebut sudah memiliki sistem operasi sendiri yang dikenal dengan nama VMS, namun Departemen Ilmu Komputer menginginkan Unix 32/v (Seventh Edition) dapat berjalan diatas komputer VAX-11/780 tersebut. Lagi-lagi Bill Jolitz’s diminta membantu melakukan porting Unix 32/V tersebut untuk mesin VAX-11/780, pada awal Januari 1979, akhirnya Unix 32/V (Seventh Edition) dapat berjalan dengan mulus pada komputer VAX tersebut, pada saat itu juga Bill Jolitz’s, memutuskan untuk melakukan porting 2BSD untuk komputer VAX dengan pertimbangan komputer VAX tersebut jauh lebih canggih (berarsitektur 32 bit) daripada PDP-11 yang hanya 16 bit.


(25)

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 Oktober 1980 lahir 4BSD, selama 9 bulan kedepan sejak kelahirannya sebanyak 150 kopi telah dikirimkan. Lisensi dibuat berdasarkan institusi bukan per komputer. Karena sudah tersebar luas 4BSD banyak menuai kritik terutama masalah kinerja yang dinilai masih lamban daripada VMS. Untuk itu pada Juni 1981, 4.1BSD lahir dengan berbagai macam perbaikan. Pada awalnya distribusi tersebut akan diberi nama 5BSD, namun pihak AT&T keberatan karena akan membingungkan pelanggan, karena pada saat itu terdapat juga sistem operasi Unix system V, untuk itu Berkeley mengalah dan memberi nama distribusi tersebut 4.1BSD. Sebagai pendahuluan release pada April 1982, dikeluarkan 4.1aBSD untuk keperluan lokal saja (Berkeley dan DARPA), pada saat itu banyak kritik dan saran perbaikan untuk 4.1aBSD, untuk itu pada Juni 1982 dikeluarkan 4.1bBSD. Release 4.1b BSD ini cukup stabil dan baik maka pada April 1983 dikeluarkan 4.1c BSD. Dengan sedikit perbaikan pada 4.1c BSD, pada Agustus 1983 dikeluarkan 4.2BSD. 4.2BSD pada saat itu sangat populer, lebih dari 1000 institusi mempunyai lisensi 4.2BSD tersebut, para vendor pun


(26)

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.

Release ini tidak tidak memiliki source code yang bersifat proprietary sehingga dapat secara bebas didistribusikan dalam bentuk source code maupun binary. Release terakhir dari CSRG adalah 4.4BSD, pada saat yang bersamaan juga CSRG me-release 4.4BSD-Lite yang berisi source code non-proprietary dan users tidak perlu memiliki lisensi Unix, namun 4.4BSD-Lite ini mendapat aksi legal dari USL (Unix System Laboratories) yang mengklaim 4.4BSD-Lite mengandung source code asli Unix dari AT&T, hal ini berlanjut hingga ke pengadilan. Setelah 1 tahun proses pengadilan berlangsung akhirnya Bill Jolitz berwenang untuk mengambil bagian dari software yang bukan AT&T dan mengembalikannya menjadi free UNIX. Ini adalah awal lahirnya modern BSD. Pada tahun 1992 dan 1993, Jordan K Hubbard, Rod Grimes, dan Nate Williams yang menangani proyek 386BSD, merilis sebuah paket yang dikenal sebagai “Unofficial 386BSD Patchkit”. Dari proses maintainpatchkit tersebut melahirkan mekanisme baru yang membentuk “386BSD 0.5”, yang berisi perubahan dan fungsi baru sebagai “the real operating system”. Bagaimanapun, Jolitz mencabut persetujuannya pada proyek patchkit tersebut pada tahun 1993. David Greenman


(27)

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)

NetBSD fokus pada penyediaan sistem operasi NetBSD pada berbagai macam arsitektur komputer, saat ini sudah mendukung lebih


(28)

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

Firewall adalah suatu aturan yang diterapkan baik terhadap perangkat keras, perangkat lunak ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan filterisasi, membatasi, ataupun menolak suatu koneksi pada jaringan yang dilindunginya dengan jaringan luar lainnya seperti internet (Muammar 2004). Firewall merupakan alat untuk mengimplementasikan kebijakan security (security policy). Kebijakan security dibuat berdasarkan pertimbangan antara aplikasi yang disediakan dan impilikasi security-nya. Semakin ketat kebijakan security maka semakin sedikit aplikasi yang disediakan atau semakin kompleksnya konfigurasi layanan. Sebagian besar firewall mengandalkan stateful


(29)

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

Selain fungsi utama sebuah firewall yaitu mencegah masuknya aliran jaringan yang tidak diinginkan, firewall juga dapat mengatur pengaksesan ke sumber daya internal web server publik.


(30)

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

Internet www


(31)

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

Packet filtering dapat diartikan sebagai firewall yang bertugas melakukan filtrasi terhadap paket-paket yang datang dari luar jaringan yang dilindunginya. Filter paket ini berdasarkan sumber IP paket, tujuan


(32)

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

Port 80 IP 192.168.2.1


(33)

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


(34)

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 melakukan fungsi authentikasi dan fungsi sebagai proxy. Konfigurasi ini memberikan tingkat keamanan yang lebih baik daripada packet filtering router atau application level gateway secara terpisah.


(35)

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

Pada arsitektur ini, secara fisik akan terdapat patahan/celah dalam jaringan. Kelebihannya adalah dengan adanya dua jalur yang memisahkan secara fisik maka akan lebih meningkatkan keamanan. Adapun untuk server-server yang memerlukan direct akses ( akses langsung ) maka dapat Gambar 2.4 Arsitektur Firewall Screened Host Firewall


(36)

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.


(37)

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


(38)

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


(39)

• 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

Dua tipe NAT adalah Static dan Dinamik yang keduanya dapat digunakan secara terpisah maupun bersamaan.


(40)

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

Sejumlah IP lokal/internal dapat ditranslasikan ke satu alamat IP global atau outside. Sharing atau pemakaian bersama satu alamat IP ini menghemat penggunakan alokasi IP dari ISP. Sharing atau pemakaian bersama satu alamat IP ini menggunakan metoda port multiplexing, atau perubahan port ke paket outbound.


(41)

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


(42)

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 :


(43)

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

Program yang disusupkan kedalam sebuah sistem setelah berhasil dimasuki. Program ini yang nantinya akan merekam aktifitas login dan aktifitas lain seorang user.


(44)

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

IPFIREWALL ( IPFW ) adalah software aplikasi bawaan dari freebsd yang di kembangkan oleh para staff pengembang freebsd sendiri. Dalam instalasi standart sistem operasi freebsd, IPFW sudah terpasang. Kita tinggal


(45)

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


(46)

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

Sebuah aturan akan berhubungan dengan apa yang harus dilakukan terhadap sebuah paket yang datang. Paket yang ada akan diseleksi berdasarkan aturan yang dibuat. Di dalam rule actions ini terdapat beberapa aturan yang dikenai kepada sebuah paket:


(47)

• 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.

Pencatatan dilakukan setelah semua kondisi paket selesai dibuktikan dan sebelum tindakan terakhir (accept, deny) pada paket


(48)

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

atau nama protokol lain yang ditemukan dalam /stc/protocols dikenali dan mungkin dapat digunakan. Ini merupakan sebuah kewajiban dalam mencantumkan nama protokol.


(49)

• 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

IF merupakan nama interface card. Kata ini berhubungan dengan aturan in dan out yang ada diatas.


(50)

• 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.

Dalam aturan IPFW juga terdapat beberapa perintah lainnya seperti tambah rule baru dengan menggunakan perintah add, menghapus rule secara satu persatu atau dalam grup dengan perintah delete, menghapus rule keseluruhan dengan perintah flush.


(51)

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

• Maksud dari rule kedua adalah tambahkan aturan baru(cmd) dengan nomor aturan (200) untuk menolak (deny) paket yang bersumber dari mana saja (any) dengan tujuan (to) 127.0.0.0/8


(52)

$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 300 deny ip from 127.0.0.0/8 to any


(53)

$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 300 deny ip from 127.0.0.0/8 to any


(54)

$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

7) Paket disampaikan ke SSH daemon port 22 protokol TCP untuk diproses 8) SSH daemon merespon kembali


(55)

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.

Setiap layanan dan aplikasi yang ada disebuah jaringan berbasis IP memiliki setidaknya satu nomor port yang unik. Dengan nomor port ini aplikasi pada jaringan dapat menggunakan sumber daya tanpa bertentangan satu sama lain. Sebagai contoh, web server menggunakan port 80 untuk layanan koneksi HTTP tanpa pengaman(non secure), dan port 443 untuk koneksi berpengaman (secure) ke browser. Apabila sebuah vendor memutuskan untuk membuat sebuah software game yang memanfaatkan port nomor 80, maka ketika browser kita hendak mengakses situs web, ia justru mengarahkan anda ke sistem game tersebut dan bukannya ke situs yang anda tuju. Untuk memantau layanan atau aplikasi apa menggunakan port mana, port-port yang terpakai oleh aplikasi dan layanan dapat


(56)

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


(57)

• 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

Sebuah koneksi TCP dikenal sebagai koneksi yang bersifat connection oriented yang berarti sebelum melakukan pengiriman data, mesin-mesin tersebut akan melakukan tiga langkah cara berhubungan. Pada permulaan koneksi, sebuah client akan mengirimkan sinyal ACK ke server tujuan. Sinyal ini akan dikenali sebagai koneksi baru (NEW) oleh firewall. Setelah sinyal ACK diterima oleh server, server akan mengirimkan kembali sinyal SYN/ACK yang dikenali oleh sebuah firewall sebagai koneksi yang sudah terjadi. (ESTABLISHED) ke klient tersebut. Setelah sinyal tersebut diterima, pada setiap koneksi yang terjadi client juga akan menyertakan ACK kepada server.


(58)

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


(59)

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


(60)

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


(61)

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


(62)

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 :


(63)

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


(64)

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.


(65)

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:


(66)

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


(67)

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 net.inet.udp.log_in_vain=1


(68)

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.

Pada jaringan ini diterapkan ip masquerading sehingga komputer pada jaringan lokal dapat mengakses server yang berisi layanan internet (IP 172.21.202.5). Dengan demikian paket data yang berasal dari jaringan lokal setelah dibungkus dengan alamat IP 172.21.202.1( komputer sebagai firewall)


(69)

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

Gambar 4.1 Topologi jaringan dan penempatan firewall HUB


(70)

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.

Sebelum di tolak aksesnya oleh firewall, client dapat melakukan ping ke komputer server( internet) dengan hasil eksekusi :


(71)

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), C:\Documents and Settings\IKOM>


(72)

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


(73)

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.

Dari komputer client yang menggunakan windows menggunakan program putty untuk me remote mesin yang diinginkan. Pertama jalankan program putty. Setelah itu isi IP Address komputer yang akan diremote.


(74)

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.


(75)

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:


(76)

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.


(77)

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.


(78)

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


(79)

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>

Dari hasil scanner port yang ada terlihat ada port pada firewall yang terbuka yaitu port 22. port ini dibuka agar dari komputer client yang ditentukan dapat me-remote komputer firewall dalam melakukan konfigurasi dan memantau komputer firewall. Apabila tidak lagi digunakan port ini sebaiknya ditutup.


(1)

DAFTAR PUSTAKA

C.U Michael & Tiemann Brian.(2002). Freebsd Unleashed. USA:SAMS

Publishing.

Mario, Tommi Poltak. (2006). Tuntunan Praktis menguasai Jaringan Komputer.

Yogyakarta: Penerbit Ardana Media.

Rufiudin, Rahmat.(2002). Menguasai Security Unix. Jakarta: PT Elex Media

Komputindo.

Thomas, Tom.(2005). Network Security First-Step. Yogyakarta: Penerbit Andi.

Zwicky Elizabeth, Simon Cooper & Chapman Brent.(2000). Building Internet

Firewall.O’REILLY.

www.ilmukomputer.com/firewall


(2)

(3)

Isi dari File /etc/rc.conf

# -- sysinstall generated deltas -- # Sun Oct 30 05:33:07 1988 # Created: Sun Oct 30 05:33:07 1988

# Enable network daemons for user convenience. # Please make all changes to this file, not to /etc/defaults/rc.conf.

# This file now contains just the overrides from etc/defaults/rc.conf. router_enable="YES" router="/sbin/routed" router_flags="-q" gateway_enable="YES" firewall_enable="YES" firewall_script="/etc/ipfw.rules" natd_enable="YES" natd_interface="rl0" natd_flags="-dynamic -m" hostname="ikom.com"

ifconfig_rl0="inet 172.21.202.1 netmask 255.255.0.0" ifconfig_rl1="inet 192.168.1.1 netmask 255.255.255.0" sshd_enable="YES"

usbd_enable="YES"

Isi dari file kompile ulang kernel dengan nama FIREWALL pada

direktori /usr/src/sys/i386/conf

#

# GENERIC -- Generic kernel configuration file for FreeBSD/i386 #

# For more information on this file, please read the handbook section on

# Kernel Configuration Files: #

# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html #

# The handbook is also available locally in /usr/share/doc/handbook

# if you've installed the doc distribution, otherwise always see the

# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information.

#

# An exhaustive list of options and more detailed explanations of the

# device lines is also present in the ../../conf/NOTES and NOTES files.

# If you are in doubt as to the purpose or necessity of a line, check first

# in NOTES. #


(4)

# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.413.2.13 2005/04/02 16:37:58 scottl Exp $

machine i386

cpu I486_CPU

cpu I586_CPU

cpu I686_CPU

ident FIREWALL

# To statically compile in device wiring instead of /boot/device.hints

#hints "GENERIC.hints" # Default places to look

for devices.

options IPFILTER

options IPFILTER_LOG

options IPFIREWALL

options IPDIVERT

options DUMMYNET

options HZ=1000

options IPFIREWALL_VERBOSE

options IPFIREWALL_FORWARD

options IPFIREWALL_VERBOSE_LIMIT=5

options IPFIREWALL_DEFAULT_TO_ACCEPT

options TCP_DROP_SYNFIN

Potongan isi File ipfw.rules pada direktori /etc

#!/bin/sh

cmd="ipfw -q add" ipfw -q -f flush

IP_LUAR="172.21.202.1" IF_LUAR="rl0"

IP_LAN="192.168.1.1" IF_LAN="rl1"

NET_LAN="192.168.1.0/24"

#setuju loopback dan menolak loopback spoofin $cmd allow all from any to any via lo0

$cmd deny all from any to 127.0.0.0/8 $cmd deny all from 127.0.0.0/8 to any $cmd deny tcp from any to any frag #funsi nat

$cmd divert natd ip from any to any in via $IF_LUAR $cmd divert natd ip from any to any out via $IF_LUAR $cmd check-state


(5)

################################################################## #####ICMP

#####menyetujui path-mtu dalam both directions $cmd allow icmp from any to any icmptypes 3 #####allow source quench in and out

$cmd allow icmp from any to any icmptypes 4

#####mengijinkan firewall untuk melakukan ping keluar

$cmd allow icmp from any to any icmptypes 8 out via $IF_LUAR $cmd allow icmp from any to any icmptypes 0 in via $IF_LUAR #####menolak jaringan LAN untuk melakukan ping keluar

$cmd deny icmp from any to any icmptypes 8 in via $IF_LAN $cmd deny icmp from any to any icmptypes 0 out via $IF_LAN #####mengijinkan firewall untuk melakukan trace route

$cmd allow icmp from any to any icmptypes 11 in via $IF_LUAR #####mengijinkan lan untuk melakukan trace route

$cmd allow icmp from any to any icmptypes 11 out via $IF_LAN #########################################################TCP #####

#####menolak semua koneksi TCP yang telah ada

$cmd deny tcp from any to any in via $IF_LUAR established #####menyetujui secure ftp telnet dan scp dari alamat IP yang ditentukan

#####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

established

$cmd deny log ip from any to 192.168.1.1 22 in via $IF_LAN #####menyetujui fungsi secure https melalui TLS SSL

$cmd allow tcp from any to any 443 out via $IF_LUAR setup keep-state

#####menyetujui mengirim dan menerima e-mail

$cmd allow tcp from any to any 25 out via $IF_LUAR setup keep-state

$cmd allow tcp from any to any 110 out via $IF_LUAR setup keep-state

#####menyetujui fungsi freebsd untuk make install dan CVSUP $cmd allow tcp from me to any out via $IF_LUAR setup keep-state uid root

#####menyetujui perintah whois

$cmd allow tcp from any to any 43 out via $IF_LUAR setup keep-state


(6)

#tidak setuju semua netbios service. #37=name,138=datagram,139=session

#netbios adalah MS WINDOWS sharing service #blok MS WINDOWS hoss naem server request 81 $cmd deny tcp from any to any 137 in via $IF_LUAR $cmd deny tcp from any to any 138 in via $IF_LUAR $cmd deny tcp from any to any 139 in via $IF_LUAR $cmd deny tcp from any to any 81 in via $IF_LUAR #menolak fragment paket

$cmd deny all from any to any frag in via $IF_LUAR

#tidak setuju ACK paket yang tidak sesuai dengan tabel rule dinamik

$cmd deny tcp from any to any established in via $IF_LUAR

#menolak dan mencatat semua koneksi yang masuk dari luar $cmd deny log all from any to any in via $pif

#secara default semua di tolak $cmd allow log all from any to any $cmd deny ip from any to any