IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

114
IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN TRANSPARENT PROXY JARINGAN PADA SERVER CENTOS DI PT. DMC TEKNOLOGI INDONESIA SKRIPSI Oleh: SUARJAN 311521038 TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI PELITA BANGSA BEKASI 2018

Transcript of IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

Page 1: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI

FIREWALL DAN TRANSPARENT PROXY

JARINGAN PADA SERVER CENTOS DI

PT. DMC TEKNOLOGI INDONESIA

SKRIPSI

Oleh:

SUARJAN

311521038

TEKNIK INFORMATIKA

SEKOLAH TINGGI TEKNOLOGI PELITA BANGSA

BEKASI

2018

Page 2: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI

FIREWALL DAN TRANSPARENT PROXY

JARINGAN PADA SERVER CENTOS DI

PT. DMC TEKNOLOGI INDONESIA

SKRIPSI

Diajukan Sebagai Salah Satu Syarat Untuk Menyelesaikan

Program Strata Satu (S1) pada Program Studi Teknik Informatika

Oleh:

SUARJAN

311521038

TEKNIK INFORMATIKA

SEKOLAH TINGGI TEKNOLOGI PELITA BANGSA

BEKASI

2018

Page 3: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

i

PERSETUJUAN

SKRIPSI

IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI

FIREWALL DAN TRANSPARENT PROXY

JARINGAN PADA SERVER CENTOS DI

PT. DMC TEKNOLOGI INDONESIA

Yang disusun oleh

Suarjan

311521038

telah disetujui oleh Dosen Pembimbing Skripsi

pada tanggal ……………

Dosen Pembimbing 1 Dosen Pembimbing 2

Muhammad Fatchan, S.Kom, Muhammad Makmun Effendi, S.Kom,

M.Kom M.Kom

NIDN : 0403107605 NIDN : 0430087804

Mengetahui

Kaprodi Teknik Informatika

Aswan S. Sunge, S.E, M.Kom

NIDN : 0426018083

Page 4: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

i

PENGESAHAN

SKRIPSI

IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI

FIREWALL DAN TRANSPARENT PROXY

JARINGAN PADA SERVER CENTOS DI

PT. DMC TEKNOLOGI INDONESIA

Yang disusun oleh

Nama Lengkap

Suarjan

telah dipertahankan di depan Dewan Penguji

pada tanggal ……………..

Susunan Dewan Penguji

Nama Penguji Tanda Tangan

Nama dan gelar penguji 1 __________________

Nama dan gelar penguji 2 __________________

Mengetahui

Kaprodi Teknik Informatika

Aswan S. Sunge, S.E, M.Kom

NIDN : 0426018083

Page 5: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

ii

Page 6: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

iii

PERNYATAAN KEASLIAN PENELITIAN

Saya yang bertandatangan dibawah ini menyatakan bahwa, skripsi ini merupakan

karya saya sendiri (ASLI), dan isi dalam skripsi ini tidak terdapat karya yang pernah

diajukan oleh orang lain untuk memperoleh gelar akademis di suatu institusi

pendidikan tinggi manapun, dan sepanjang pengetahuan saya juga tidak terdapat

karya atau pendapat yang pernah ditulis dan/atau diterbitkan oleh orang lain,

kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar

pustaka.

Segala sesuatu yang terkait dengan naskah dan karya yang telah dibuat adalah

menjadi tanggungjawab saya pribadi.

Bekasi, 23 Oktober 2018

Materai 6.000

Suarjan

NIM : 311521038

Page 7: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

iv

KATA PENGANTAR

Puji syukur penulis panjatkan ke hadiran Allah SWT. yang telah

melimpahkan segala rahmat dan hidayah-Nya, sehingga tersusunlah Skripsi yang

berjudul “IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL

DAN TRANSPARENT PROXY JARINGAN PADA SERVER CENTOS DI PT.

DMC TEKNOLOGI INDONESIA”.

Skripsi tersusun dalam rangka melengkapi salah satu persyaratan dalam

rangka menempuh ujian akhir untuk memperoleh gelar Sarjana Komputer (S.Kom.)

pada Program Studi Teknik Informatika di Sekolah Tinggi Teknologi Pelita Bangsa.

Penulis sungguh sangat menyadari, bahwa penulisan Skripsi ini tidak akan

terwujud tanpa adanya dukungan dan bantuan dari berbagai pihak. Sudah

selayaknya, dalam kesempatan ini penulis menghaturkan penghargaan dan ucapan

terima kasih yang sebesar-besarnya kepada:

a. Bapak Dr. Ir. Suprianto, M.P selaku Ketua STT Pelita Bangsa.

b. Bapak Aswan S. Sunge S.E., M.Kom selaku Ketua Program Studi Teknik

Informatika STT Pelita Bangsa.

c. Bapak Muhammad Fatchan, S.Kom, M.Kom. selaku Pembimbing Utama yang

telah banyak memberikan arahan dan bimbingan kepada penulis dalam

penyusunan Skripsi ini.

d. Bapak Muhammad Makmun Effendi, S.Kom, M.Kom. selaku Pembimbing

Kedua yang telah banyak memberikan arahan dan bimbingan kepada penulis

dalam penyusunan Skripsi ini.

e. Seluruh Dosen STT Pelita Bangsa yang telah membekali penulis dengan

wawasan dan ilmu di bidang teknik informatika.

f. Seluruh staf STT Pelita Bangsa yang telah memberikan pelayanan terbaiknya

kepada penulis selama perjalanan studi jenjang Strata 1.

g. Rekan-rekan mahasiswa STT Pelita Bangsa, khususnya angkatan 2013, yang

telah banyak memberikan inspirasi dan semangat kepada penulis untuk dapat

menyelesaikan studi jenjang Strata 1.

Page 8: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

v

h. Ibu, istri dan anak-anak tercinta yang senantiasa mendoakan dan memberikan

semangat dalam perjalanan studi Strata 1 maupun dalam kehidupan penulis.

Akhir kata, penulis mohon maaf atas kekeliruan dan kesalahan yang terdapat

dalam Skripsi ini dan berharap semoga Skripsi ini dapat memberikan manfaat bagi

khasanah pengetahuan Teknologi Informasi di lingkungan STT Pelita Bangsa

khususnya dan Indonesia pada umumnya.

Bekasi, 23 Oktober 2018

Penulis

Page 9: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

vi

DAFTAR ISI

PERSETUJUAN ................................................................................................... i

PENGESAHAN .................................................................................................... i

PERNYATAAN KEASLIAN PENELITIAN ...................................................... iii

KATA PENGANTAR ........................................................................................ iv

DAFTAR ISI ...................................................................................................... vi

DAFTAR TABEL .............................................................................................. ix

DAFTAR GAMBAR ........................................................................................... x

ABSTRACT ....................................................................................................... xiii

ABSTRAK ....................................................................................................... xiv

BAB I PENDAHULUAN .................................................................................... 1

1.1 Latar Belakang....................................................................................... 1

1.2 Identifikasi Masalah ............................................................................... 3

1.3 Rumusan Masalah .................................................................................. 3

1.4 Batasan Masalah .................................................................................... 4

1.5 Tujuan dan Manfaat ............................................................................... 4

1.5.1 Tujuan ................................................................................................ 4

1.5.2 Manfaat .............................................................................................. 4

1.6 Sistematika Penulisan ............................................................................ 5

BAB II TINJAUAN PUSTAKA .......................................................................... 7

Page 10: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

vii

2.1 Kajian Pustaka ....................................................................................... 7

2.2 Implementasi ......................................................................................... 9

2.3 Jaringan Komputer............................................................................... 10

2.3.1 Topologi Jaringan Komputer ............................................................ 11

2.3.2 Kategori Jaringan Komputer ............................................................. 18

2.4 Firewall ............................................................................................... 21

2.4.1 Karakteristik Firewall ...................................................................... 21

2.4.2 Teknik yang digunakan oleh Firewall............................................... 22

2.4.3 Tipe Firewall ................................................................................... 23

2.5 Linux ................................................................................................... 28

2.5.1 Distribusi Linux ............................................................................... 29

2.5.2 Perintah Dasar Linux ........................................................................ 29

2.5.3 CentOS ............................................................................................ 33

2.6 IPTables .............................................................................................. 34

2.6.1 Syntax Pada IPTables ....................................................................... 36

2.7 Squid ................................................................................................... 48

BAB III METODE PENELITIAN ..................................................................... 49

3.1 Waktu dan Tempat Penelitian .............................................................. 49

3.2 Teknik Pengumpulan Data ................................................................... 49

3.3 Jenis Data ............................................................................................ 50

3.4 Tahapan Pengembangan Sistem ........................................................... 50

Page 11: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

viii

3.5 Analisis Sistem .................................................................................... 51

3.6 Rancangan Sistem yang Berjalan ......................................................... 52

3.7 Rancangan Sistem yang Diajukan ........................................................ 53

BAB IV HASIL DAN PEMBAHASAN ............................................................ 55

4.1 Hasil .................................................................................................... 55

4.1.1 Instalasi Linux CentOS 7 di Virtual Box ........................................... 55

4.1.2 Konfigurasi IPTables sebagai Firewall Rules ................................... 73

4.1.3 Konfigurasi Squid sebagai Transparent Proxy .................................. 77

4.2 Pembahasan ......................................................................................... 81

4.2.1 Firewall menggunakan IPTables ...................................................... 83

4.2.2 Transparent Proxy menggunakan Squid ........................................... 85

BAB V KESIMPULAN ..................................................................................... 88

5.1 Kesimpulan.......................................................................................... 88

5.2 Saran ................................................................................................... 89

DAFTAR PUSTAKA ........................................................................................ 90

LAMPIRAN ...................................................................................................... 92

Page 12: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

ix

DAFTAR TABEL

Table 2. 1 End of Support CentOS ..................................................................... 34

Table 2. 2 Command IPTables ........................................................................... 36

Table 2. 3 Options IPTables ............................................................................... 38

Table 2. 4 Generic Matches IPTables ................................................................. 39

Table 2. 5 Implicit Matches IPTables ................................................................. 40

Table 2. 6 Target/Jump IPTables ........................................................................ 44

Page 13: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

x

DAFTAR GAMBAR

Gambar 2. 1 Topologi Ring ................................................................................ 12

Gambar 2. 2 Topologi Bus ................................................................................. 13

Gambar 2. 3 Topologi Star ................................................................................. 14

Gambar 2. 4 Topologi Mesh............................................................................... 16

Gambar 2. 5 Topologi Tree ................................................................................ 17

Gambar 2. 6 LAN .............................................................................................. 19

Gambar 2. 7 MAN ............................................................................................. 19

Gambar 2. 8 WAN ............................................................................................. 20

Gambar 2. 9 Packet-Filtering Router .................................................................. 25

Gambar 2. 10 Application-Level Gateway ......................................................... 26

Gambar 2. 11 Circuit-Level Gateway ................................................................. 27

Gambar 2. 12 Diagram Perjalanan Paket pada IPTables ..................................... 35

Gambar 2. 13 Diagram Perjalanan paket pada Squid .......................................... 48

Gambar 3. 1 SDLC Waterfall ............................................................................. 51

Gambar 3. 2 Topologi Sistem yang Berjalan ...................................................... 52

Gambar 3. 3 Topologi Sistem yang Diajukan ..................................................... 53

Gambar 4. 1 Membuat Virtual Machine ............................................................. 56

Gambar 4. 2 Pengaturan RAM ........................................................................... 57

Gambar 4. 3 Pembuatan Virtual Harddisk .......................................................... 57

Gambar 4. 4 Penentuan Tipe Virtual Harddisk ................................................... 58

Gambar 4. 5 Penentuan Parameter Harddisk....................................................... 58

Page 14: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

xi

Gambar 4. 6 Penentuan Kapasitas Virtual Harddisk ........................................... 59

Gambar 4. 7 Pengisian File ISO CentOS 7 ......................................................... 60

Gambar 4. 8 Pemilihan Bahasa .......................................................................... 61

Gambar 4. 9 Installation Summary Window ....................................................... 62

Gambar 4. 10 Pengaturan Regional, Tanggal dan Waktu .................................... 63

Gambar 4. 11 Pemilihan Lokasi Instalasi ........................................................... 64

Gambar 4. 12 Metode Partisi .............................................................................. 65

Gambar 4. 13 Pengaturan Partisi ........................................................................ 66

Gambar 4. 14 Rangkuman Perubahan ................................................................ 66

Gambar 4. 15 Pemilihan Paket Instalasi ............................................................. 67

Gambar 4. 16 Kolom Pembuatan User dan Password ......................................... 68

Gambar 4. 17 Pembuatan User dan Password ..................................................... 68

Gambar 4. 18 Proses Finalisasi Penginstallan OS CentOS 7 ............................... 68

Gambar 4. 19 Pembuatan Jaringan NAT di Virtual Box ..................................... 69

Gambar 4. 20 CentOS 7 Network Settings (Adapter 1) ....................................... 70

Gambar 4. 21 CentOS 7 Network Settings (Adapter 2) ....................................... 71

Gambar 4. 22 Windows 7 Network Settings (Adapter 1) .................................... 72

Gambar 4. 23 Login CentOS 7 ........................................................................... 73

Gambar 4. 24 Disable service firewalld .............................................................. 73

Gambar 4. 25 Script Rules IPTables ................................................................... 75

Gambar 4. 26 Restore script IPTables ................................................................ 76

Gambar 4. 27 Restart Service IPTables .............................................................. 76

Gambar 4. 28 Status service IPTables ................................................................ 76

Gambar 4. 29 Check rules IPTables ................................................................... 76

Page 15: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

xii

Gambar 4. 30 Check rules table NAT ................................................................. 77

Gambar 4. 31 IP Forwarding ipv4 ...................................................................... 77

Gambar 4. 32 Instalasi Squid ............................................................................. 78

Gambar 4. 33 Konfigurasi Squid ........................................................................ 78

Gambar 4. 34 Konfigurasi Squid Rules .............................................................. 79

Gambar 4. 35 File blokir.acl ............................................................................... 79

Gambar 4. 36 Squid Parse .................................................................................. 80

Gambar 4. 37 Start Squid ................................................................................... 80

Gambar 4. 38 Enable Squid ................................................................................ 80

Gambar 4. 39 Check Status Squid ...................................................................... 81

Gambar 4. 40 Simulasi Pengujian ..................................................................... 82

Gambar 4. 41 Client Ping ke Server ................................................................... 83

Gambar 4. 42 Server Ping ke Client ................................................................... 84

Gambar 4. 43 Client ping ke interface public server ........................................... 84

Gambar 4. 44 Client dapat akses Internet ........................................................... 85

Gambar 4. 45 Akses website detik.com diluar rules............................................ 86

Gambar 4. 46 Akses website detik.com didalam rules ........................................ 86

Gambar 4. 47 Akses website nekonime.tv diluar rules ........................................ 87

Gambar 4. 48 Akses website di nekonime.tv diluar rules .................................... 87

Page 16: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

xiii

ABSTRACT

Suarjan, 311521038

“IPTables And Squid Implementation As A Network Firewall And Transparent

Proxy On CentOS Server In PT. DMC Teknologi Indonesia”

Thesis, Department of Informatics Engineering, 2018

Computer network security is a very important thing in information technology that

relies on the internet today. The number of attacks in the Internet network capable

of causing damage to a system, must be assembled professionally by a system

administrator in an institution or company by increasing security on the system

itself. One technique that is widely applied is to use a firewall. Firewall itself is a

device used to control and build access to the network in a system. Firewall itself

can be shaped hardware and software.

At this time PT. DMC Technology Indonesia is already using a CentOS 7 operating

system based on Linux on one of its servers. Linux is very famous for its strong and

stable security system. One of the tools that can work as a firewall and transparent

proxy on Linux is IPTables and Squid. With IPTables and Squid, a system

administrator can control and hold access to the network and also the settings of

any packets that may enter the system.

Keyworad: Firewall, Computer Network, IPTables, Squid, CentOS 7, Linux

Page 17: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

xiv

ABSTRAK

Suarjan, 311521038

“Implementasi IPTables Dan Squid Sebagai Firewall Dan Transparent Proxy

Jaringan Pada Server CentOS Di PT. DMC Teknologi Indonesia”

Skripsi, Teknik Informatika, Sekolah Tinggi Teknik Informatika Pelita Bangsa,

2017

Keamanan jaringan komputer merupakan hal yang sangat penting dalam teknologi

informasi yang mengandalkan internet saat ini. Banyaknya serangan dalam jaringan

internet yang mampu menyebabkan rusaknya sebuah sistem, harus ditangani secara

profesional oleh seorang System Administrator dalam sebuah lembaga atau

perusahaan dengan cara meningkatkan keamanan pada sistem itu sendiri. Salah satu

tehnik yang banyak diterapkan adalah dengan menggunakan firewall. Firewall

sendiri adalah perangkat yang digunakan untuk mengontrol dan membatasi hak

akses terhadap jaringan dalam sebuah sistem. Firewall sendiri dapat berbentuk

hardware maupun software.

Pada saat ini PT. DMC Teknologi Indonesia sudah menggunakan sistem operasi

CentOS 7 yang berbasis Linux pada salah satu servernya. Linux sangat terkenal

dengan sistem keamanannya yang kuat dan stabil. Salah satu tools yang dapat

berfungsi sebagai firewall dan transparent proxy pada Linux adalah IPTables dan

Squid. Dengan IPTables dan Squid seorang System Administrator dapat

mengontrol dan membatasi hak akses terhadap jaringan dan juga mengatur paket-

paket apa saja yang boleh masuk ke dalam sistem.

Kata kunci: Firewall, Jaringan Komputer, IPTables, CentOS 7, Linux

Page 18: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pada era globalisasi saat ini, kebutuhan akan informasi yang cepat, tepat,

dan akurat sangat penting sekali. Salah satu media untuk dapat menyalurkan

informasi dengan sangat cepat pada saat ini adalah jaringan internet. Dengan

adanya internet maka segala informasi baik itu berupa tulisan, audio, dan video

dapat sampai ke tangan masyarakat dengan cepat, tepat, serta akurat. Jaringan

internet tidak lagi menjadi sebuah kebutuhan sekunder atau tersier, melainkan

sudah menjadi kebutuhan primer bagi setiap individu, apalagi individu-individu

yang bergerak dalam sebuah perusahaan, instansi maupun lembaga, dimana hampir

semua sistem sudah terhubung dalam sebuah jaringan, termasuk jaringan internet.

Bahkan sudah bermunculan berbagai macam fasilitas di dalam internet seperti E-

Commerce, E-Campus, E-Payment, dll. Semua ini semakin memudahkan setiap

orang untuk dapet berinteraksi sesuai dengan kebutuhannya masing-masing, dan

bahkan fasilitas-fasilitas berbasis internet tersebut mampu menggeser sistem-sistem

manual dan tradisional yang sudah lama ada, seperti contohnya, sekarang setiap

orang yang ingin membeli baju ataupun barang elektronik, tidak perlu lagi datang

ke pasar atau mall untuk berbelanja, cukup dengan membuka situs E-Commerce

seperti Bukalapak ataupun Tokopedia untuk mencari apa yang dibutuhkan,

tentunya dengan harga yang relatif lebih murah, dikarenakan kebanyakan seller

pada E-Commerce tidak selalu mempunyai toko fisik, yang artinya mengurangi

biaya operasional penjual sendiri, dan tentunya sangat berpengaruh kepada harga

barang yang dijual oleh si penjual.

Page 19: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

2

Internet seperti sebuah pisau yang mempunyai dua sisi, di satu sisi dia

berguna untuk hal-hal yang sifatnya positif dan bermanfaat bagi khalayak ramai.

Tapi tidak sedikit juga beberapa orang maupun pihak yang memiliki pengetahuan

lebih tentang dunia IT memanfaatkan jaringan internet untuk hal-hal negatif, dan

mengambil keuntungan dengan cara-cara yang illegal. Hal-hal negatif ini yang

biasanya dikenal sebagai cyber crime atau kejahatan siber. Contoh beberapa

kejahatan dalam dunia siber seperti, virus, malware, website defacing, pencurian

database kartu kredit, phising, wireless cracking, dll. Tentu saja ini mengakibatkan

kerugian di satu pihak dan menguntungkan di pihak lainnya. Untuk itu di setiap

perusahaan ataupun instansi memiliki satu orang atau lebih system administrator

atau sebuah departemen khusus untuk bagian IT security yang berfungsi untuk

menanggulangi segala macam kejahatan dalam dunia siber yang dapat

mengakibatkan kerusakan fatal pada sistem tersebut.

PT. DMC Teknologi Indonesia merupakan sebuah perusahaan asing dari

Jepang yang bergerak pada bidang industri elektronik, tepatnya dalam pembuatan

produk touchscreen atau touchpanel, dan sebagian besar produknya diekspor keluar

negeri. Pada saat ini PT. DMC Teknologi Indonesia sudah menggunakan jaringan

internet di dalam sistemnya. PT. DMC Teknologi Indonesia saat ini sudah

menggunakan dua produsen perangkat jaringan yang sangat terkenal dan diakui

kualitasnya di dunia, yaitu Cisco dan Mikrotik. Namun perusahaan ini belum

memiliki sebuah firewall rules di antara perangkat switch dengan client.

Oleh karena itu, perlunya dibuatkan sebuah firewall lagi di antara switch

yang mengarah ke client untuk menciptakan sebuah topologi yang aman khususnya

dalam mengatur paket-paket yang diperbolehkan masuk ke dalam client dan juga

Page 20: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

3

mengurangin resiko serangan-serangan dari luar. Tentunya diharapkan dengan

bertambahnya satu buah firewall ini dapat meningkatkan keamanan sistem dalam

perusahaan dari serangan-serangan di dalam jaringan internet, dan juga dapat

mengatur paket-paket apa yang diperbolehkan lewat di dalamnya, serta hak-hak

akses apa saja yang dapat diterima oleh client di dalam sistem yang tentunya sudah

disesuaikan dengan kebijakan perusahaan

1.2 Identifikasi Masalah

Permasalahan terjadi pada jaringan di dalam sistem, yaitu :

1. Belum adanya sebuah firewall yang dibutuhkan untuk meningkatkan

keamanan di dalam area private network.

2. Belum terciptanya topologi DMZ (Demilitarized Zone) di dalam jaringan

perusahaan.

3. Belum adanya rules yang digunakan di dalam jaringan perusahaan untuk

mengatur paket-paket yang berjalan di dalam jaringan maupun hak akses

dalam hal penggunaan internet untuk masing-masing client.

1.3 Rumusan Masalah

Adapun permasalahan yang dihadapi dapat dirumuskan sebagai berikut :

Membangun sebuah firewall dengan menggunakan Linux CentOS 7 dan

mengimplementasikan rules IPTables dan Squid serta menciptakan sebuah topologi

DMZ (Demilitarized Zone) di dalamnya yang dapat meningkatkan keamanan

jaringan di dalam sistem di PT. DMC Teknologi Indonesia agar terhindar dari

Page 21: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

4

serangan-serangan dari dalam dan luar jaringan serta mengatur hak-hak akses yang

akan digunakan untuk mengatur kegiatan client selama berada di dalam jaringan.

1.4 Batasan Masalah

Dalam penelitian ini penulis membatasi permasalahan yang akan dibahas sebagai

studi kasus adalah sebagai berikut.

1. Menambahkan firewall, dan implementasi topologi DMZ di dalam jaringan

perusahaan

2. Penggunaan Linux CentOS 7 sebagai sistem operasi untuk firewall dan

transparent proxy server.

3. Implementasi IPTables dan Squid sebagai pengatur rules kepada client.

1.5 Tujuan dan Manfaat

1.5.1 Tujuan

Membangun sebuah firewall dengan sistem operasi Linux CentOS 7 dan

mengimplementasikan IPTables dan Squid sebagai rules untuk firewall yang berada

di dalam jaringan perusahaan serta mengimplementasikan topologi DMZ.

1.5.2 Manfaat

Sedangkan manfaat dari penelitian ini antara lain :

1. Bagi Perusahaan :

Membantu departemen IT PT. DMC Teknologi Indonesia untuk

meningkatkan keamanan dan memaksimalkan jaringan yang ada di dalam

perusahaan dengan penambahan firewall dan pegimplementasian topologi

Page 22: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

5

DMZ serta dapat menghemat biaya dengan memanfaatkan salah satu server

untuk dijadikan firewall tanpa perlu membeli perangkat tambahan.

2. Bagi Pembaca :

Mampu menciptakan sebuah firewall dengan sistem operasi berbasis Linux,

dan mampu mengimplementasikan serta memaksimalkan penggunaan

IPTables dan Squid.

1.6 Sistematika Penulisan

Untuk memudahkan pemahaman dalam penyusunan penelitian ini, penulis

membagi menjadi lima (5) bab secara sistematis sebagai berikut :

BAB I PENDAHULUAN

Pada bab ini berisi uraian latar belakang masalah, permasalahan penelitian, tujuan

dan manfaat penelitian, teknik pengumpulan data, dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini dijelaskan tentang tinjauan pustaka mengenai jurnal dengan judul

skripsi yang dibuat, jaringan komputer, firewall, internet, linux, CentOS 7,

IPTables, Squid dan Virtual Box.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini dijelaskan tentang analisis terhadap seluruh spesifikasi sistem yang

mencakup topologi jaringan yang sedang berjalan dan juga perancangan sistem

baru.

Page 23: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

6

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini dibahas tentang implementasi dari hasil tahapan analisis dan

perancangan sistem, serta kebutuhan perangkat keras dan perangkat lunak yang

diperlukan untuk membangun sistem secara simulasi dengan menggunakan

virtualisasi.

BAB V KESIMPULAN DAN SARAN

Pada bab ini terdiri dari kesimpulan dan saran yang berisikan hal-hal terpenting

yang dibahas dan kemudian dibuat kesimpulan. Bab ini juga berisi saran-saran yang

diberikan dan mungkin dapat menambah pengetahuan untuk pengembangan sistem

dan jaringan yang telah dibuat.

Page 24: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

7

BAB II

TINJAUAN PUSTAKA

2.1 Kajian Pustaka

Menurut Muhar Syarif (2008), dalam penelitiannya yang berjudul

“Implementasi IPTables sebagai Filtering Firewall”, diperoleh kesimpulan bahwa

penggunaan IPTables sebagai firewall memiliki beberapa keunggulan seperti biaya

yang murah, kemampuan untuk menginspeksi paket serta mampu bekerja dengan

ICMP dan UDP sebagaimana koneksi TCP, dan dapat membatasi usaha-usaha

koneksi sebagai tindakan preventif serangan syn flooding denial of service (DOS).

Menurut Sujito dan Mukhamad Fakthur Roji (2010), dalam penelitiannya

yang berjudul “Sistem Keamanan Internet dengan menggunakan IPTables sebagai

Firewall”, diperoleh kesimpulan bahwa penggunaan IPTables sebagai aplikasi dari

firewall, dapat membantu administrator untuk memfilter jaringan dari pemakai

yang tidak mempunyai hak akses, agar tidak bebas keluar masuk jaringan internet.

Menurut Qurrotul Aini dan Victor Amrizal (2010), dalam penelitiannya

yang berjudul “Implementasi IPTables Firewall pada Linux sebagai Sistem

Keamanan Jaringan yang handal”, diperoleh kesimpulan dengan menggunakan

IPTables sebagai firewall sebenarnya cukup untuk melindungi jaringan yang

terhubung dengan dunia luar dari berbagai macam serangan dan ancaman yang

datang dari pihak-pihak yang tidak bertanggung jawab.

Menurut Akrom Musajid (2016), dalam bukunya yang berjudul “Panduan

Singkat Membangun Server CentOS”, Squid dapat digunakan sebagai web caching

proxy untuk mengatur situs web yang dapat diakses oleh user, melakukkan logging

Page 25: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

8

aktifitas user ketika menggunakan internet, pengaturan waktu untuk dapat

mengakses internet, dan lain-lain. Sehingga dengan menggunakan Squid, seluruh

permintaan akses terhadap internet dapat diatur di dalam Squid yang berfungsi

sebagai sebuah proxy server.

Menurut Fatah Yasin Al Irsyadi (2012), dalam penelitiannya yang berjudul

“Implementasi Squid Server Pada Proxy Cache Video”, bahwa Squid banyak sekali

digunakan untuk mengatur lalu lintas akses ke website, meningkatkan kinerja ketika

melakukan browsing kepada user, serta mampu menyediakan konten yang statis

dan dinamis dalam penggunaan internet di lingkungan perusahaan.

Dari kelima penelitian di atas, maka penulis dapat menyimpulkan bahwa

pengimplementasian IPTables dan Squid sebagai firewall di dalam sebuah jaringan

memiliki banyak keunggulan seperti yang dijabarkan oleh Muhar Syarif (2008) dan

Akrom Musajid (2016), yaitu mampu menginspeksi paket dan membatasi usaha-

usaha koneksi sebagai tindakan preventif dari serangan denial of service (DOS) dan

juga mampu melakukan caching terhadap website dan DNS, serta mengatur semua

kebijakan yang berhubungan dengan akses internet. Begitupun dengan penelitian

yang dilakukan oleh Sujito dan Mukhamad Fakthur Roji (2010) serta Fatah Yasin

Al Irsyadi (2012), dimana penulis bisa mengambil kesimpulan bahwa seorang

system administrator sangat diuntungkan dengan penggunaan IPTables dan Squid

sebagai alat untuk memfilter jaringan dari pemakai yang tidak mempunyai hak

akses, yang tentunya dapat berakibat fatal bila pemakai yang tidak mempunyai hak

akses tersebut dapat masuk ke dalam jaringan sekaligus mampu melakukan proses

caching terhadap aktifitas user ketika mengunjungi website dan juga video.

Tentunya penggunaan IPTables dan Squid ini sangat diharapkan untuk menjadi

Page 26: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

9

firewall yang tangguh dalam sistem operasi berbasis Linux, yang mampu

memberikan keamanan yang maksimal pada sebuah jaringan di dalam sebuah

perusahaan maupun instansi dengan biaya yang relatif murah.

2.2 Implementasi

Pengertian implementasi menurut Kamus Besar Bahasa Indonesia berarti

pelaksanaan; penerapan. Adapun secara etimologis menurut kamus Webster yang

dikutip oleh Solichin Abdul Wahab adalah Konsep implementasi berasal dari

bahasa inggris yaitu to implement. Dalam kamus besar webster, to implement

(mengimplementasikan) berarti to provide the means of carrying out (menyediakan

sarana untuk melaksanakan sesuatu); dan to give practical effect to (untuk

menimbulkan dampak/akibat terhadap sesuatu). (Webster dalam Wahab, 2004:64).

Secara sederhana implementasi dapat diartikan pelaksanaan atau penerapan.

Majone dan Wildavsky (dalam Nurdin dan Usman, 2002), mengemukakan

implementasi sebagai evaluasi. Browne dan Wildavsky (dalam Nurdin dan Usman,

2004:70) mengemukakan bahwa ”implementasi adalah perluasan aktivitas yang

saling menyesuaikan”. Pengertian implementasi sebagai aktivitas yang saling

menyesuaikan juga dikemukakan oleh Mclaughin (dalam Nurdin dan Usman,

2004). Adapun Schubert (dalam Nurdin dan Usman, 2002:70) mengemukakan

bahwa ”implementasi adalah sistem rekayasa.”.

Pengertian-pengertian di atas memperlihatkan bahwa kata implementasi

bermakna pada aktivitas, penerapan, atau pelaksanaan suatu sistem. Ungkapan

penerapan mengandung arti bahwa implementasi bukan sekadar aktivitas, tetapi

Page 27: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

10

suatu kegiatan yang terencana dan dilakukan secara sungguh-sungguh berdasarkan

penelitian atau norma tertentu untuk mencapai tujuan kegiatan.

2.3 Jaringan Komputer

Menurut Jafar Noor Yudianto (2007), “Jaringan komputer adalah sebuah

sistem yang terdiri atas komputer-komputer yang didesain untuk dapat berbagi

sumber daya, berkomunikasi, dan dapat mengakses informasi. Agar tercapai

tujuannya, setiap bagian dari jaringan komputer dapat meminta dan memberikan

layanan (service). Pihak yang meminta/menerima layanan disebut klien (client),

dan yang memberikan/mengirimkan layanan disebut peladen (server). Desain ini

disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi

jaringan komputer”.

"Jaringan komputer merupakan kumpulan dari perangkat keras dan lunak di

dalam suatu sistem yang memiliki aturan tertentu untuk mengatur seluruh

anggotanya dalam melakukan aktivitas komunikasi. Satu komputer yang terkoneksi

ke jaringan menjadi satu node dari jaringan tersebut. Sedangkan host secara umum

diartikan sebagai komputer yang terkoneksi ke jaringan yang dapat memberikan

layanan jaringan (network service)." (Tanenbaum, Andrew S. (2003). Computer

Networks 4th Edition. New Jersey: Prentice Hall)

Menurut Kristanto (2003), “Jaringan komputer merupakan sekelompok

komputer otonom yang saling berhubungan satu sama lain, dengan menggunakan

satu protokol komunikasi sehingga seluruh komputer yang saling terhubung

Page 28: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

11

tersebut dapat berbagi informasi, program, sumber daya dan juga dapat saling

menggunakan perangkat keras lainnya secara bersamaan."

Dari definisi di atas dapat diambil kesimpulan, bahwa jaringan komputer

merupakan sebuah kumpulan dari beberapa perangkat keras dan perangkat lunak

yang terkoneksi satu sama lain dan dapat digunakan untuk berbagi resources dan

informasi dengan menggunakan metode client-server untuk saling memberikan dan

menerima layanan atau informasi.

2.3.1 Topologi Jaringan Komputer

Topologi jaringan adalah suatu bentuk/struktur jaringan yang

menghubungkan antar komputer satu dengan yang lainnya dengan menggunakan

media kabel maupun nirkabel. Dalam jaringan komputer terdapat beberapa topologi

yang umum untuk digunakan, yaitu :

1. Topologi Ring

Pada topologi ring setiap komputer dihubungkan dengan komputer lain

dan seterusnya sampai kembali lagi ke komputer pertama, dan

membentuk sebuah lingkaran sehinggan disebut dengan ring. Topologi

ini berkomunikasi menggunakan data token untuk mengontrol hak akses

komputer untuk menerima data, misalnya komputer 1 akan mengirim

file ke komputer 4, maka data akan melewati komputer 2 dan 3 sampai

diterima oleh komputer 4. Jadi sebuah komputer akan melanjutkan

pengiriman data jika yang dituju bukanlah ip address nya.

Page 29: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

12

Gambar 2. 1 Topologi Ring

Kelebihan :

- Lebih mudah dalam proses instalasi.

- Biaya instalasi lebih murah.

- Kecepatan transfer data yang lebih cepat.

Kekurangan :

- Jika salah satu komputer ataupun kabel bermasalah, berakibat

putusnya koneksi dalam satu jaringan.

- Sering terjadinya collision (tubrukan) data.

- Sulit dalam melakukan troubleshooting

2. Topologi Bus

Topologi bus menggunakan sebuah kabel tunggal sebagai media

transmisinya atau kabel pusat tempat dimana seluruh client dan server

Page 30: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

13

dihubungkan. Sehingga komputer atau jaringan lain dapat dengan

mudah dihubungkan satu sama lain.

Kelebihan :

- Layout kabel sederhana sehingga instalasi relatif mudah.

- Biaya instalasi yang relatif murah.

- Kerusakan pada satu komputer client tidak akan berpengaruh

terhadap jaringan.

- Penambahan dan pengurangan terminal dapat dilakukan tanpa

menggangu operasi yang sedang berjalan

Kekurangan :

- Jika kabel utama atau backbone putus maka semua jaringan

terganggu/terputus.

- Kabel utama yang panjang menyulitkan dalam troubleshooting.

- Kemungkinan collision (tabrakan) data apabila banyak client yang

mengirimkan pesan dan dapat menurunkan kecepatan komunikasi.

- Keamanan data kurang terjamin.

Gambar 2. 2 Topologi Bus

Page 31: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

14

- Diperlukan repeater untuk jarak jauh.

3. Topologi Star

Topologi ini berbentuk seperti bintang karena semua komputer yang

berada dalam jaringan dihubungkan ke sebuah hub atau switch dengan

kabel UTP, sehingga hub/switch yang menjadi pusat dari jaringan dan

bertugas untuk mengontrol lalu lintas data. Sebagai contoh jika

komputer 1 ingin mengirimkan data ke komputer 4, data akan dikirim

ke switch dan langsung dikirimkan ke komputer tujuan tanpa melewati

komputer lain. Topologi jaringan inilah yang paling banyak digunakan

sampai dengan saat ini karena kelebihannya lebih banyak dibandingkan

dengan topologi lainnya.

Gambar 2. 3 Topologi Star

Page 32: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

15

Kelebihan :

- Mudah melakukan troubleshooting pada jaringan.

- Mudah melakukan penambahan atau pengurangan komputer tanpa

menggangu jaringan.

- Tingkat keamanan data yang sangat tinggi.

Kekurangan :

- Memerlukan biaya instalasi yang tinggi karena membutuhkan

banyak kabel dan switch/hub.

- Kestabilan jaringan sangat tergantung kepada terminal pusat, yaitu

switch/hub. Jika switch/hub terjadi gangguan, maka akan berakibat

gangguan kepada jaringan.

4. Topologi Mesh

Pada topologi ini setiap komputer akan terhubung dengan komputer lain

dalam jaringannya menggunakan kabel tunggal, jadi proses pengiriman

data akan langsung mencapai komputer tujuan tanpa melewati komputer

lain ataupun switch/hub.

Page 33: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

16

Gambar 2. 4 Topologi Mesh

Kelebihan :

- Proses pengiriman data dan informasi lebih cepat.

- Jika salah satu komputer mengalami kerusakan tidak akan mengganggu

jaringan.

Kekurangan :

- Membutuhkan biaya yang sangat tinggi, karena membutuhkan banyak

penggunanaan kabel dan port I/O.

- Instalasi yang sangat rumit

Page 34: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

17

5. Topologi Tree

Topologi tree merupakan gabungan dari beberapa topologi star yang

dihubungkan dengan topologi bus, jadi setiap topologi star akan

terhubung dengan topologi star lainnya menggunakan topologi bus.

Biasanya dalam topologi ini terdapat beberapa tingkatan jaringan, dan

jaringan yang berada pada tingkat yang lebih tinggi dapat mengontrol

jaringan yang berada pada tingkat yang lebih rendah.

Gambar 2. 5 Topologi Tree

Page 35: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

18

Kelebihan :

- Mudah dalam melakukan troubleshooting.

- Mudah melakukan penambahan dan perubahan dalam jaringan.

Kekurangan :

- Menggunakan banyak kabel sehingga biaya relatif tinggi.

- Jika terjadi kerusakan pada jaringan tingkat tinggi, jaringan pada tingkat

yang lebih rendah akan mengalami gangguan juga.

2.3.2 Kategori Jaringan Komputer

Menurut Winarno Sugeng dan Theta Dinnarwaty Putri (2014:8-10),

jaringan komputer saat ini umumnya dibagi kedalam tiga jenis kategori, yaitu LAN

(Local Area Network), MAN (Metropolitan Area Network), dan WAN (Wide Area

Network).

1. LAN (Local Area Network)

Jaringan yang terdapat dalam sebuah gedung atau

perkantoran. Umumnya jaringan LAN dimiliki oleh suatu

perusahaan atau organisasi tertentu. Jaringan LAN digunakan untuk

menghubungkan komputer-komputer yang terdapat dalam gedung

tersebut. Komputer-komputer dihubungkan untuk berbagi sumber

daya yang ada, misalnya printer agar dapat digunakan bersama-

sama.

Page 36: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

19

Gambar 2. 6 LAN

2. MAN (Metropolitan Area Network)

Merupakan versi LAN yang berukuran lebih besar dan

biasanya memakai teknologi yang sama dengan LAN. MAN

umumnya digunakan untuk menghubungkan beberapa kantor yang

letaknya berdekatan. Jaringan MAN dibangun dengan tujuan agar

beberapa lembaga atau instansi dapat saling berbagi data.

Gambar 2. 7 MAN

Page 37: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

20

3. WAN (Wide Area Network)

Jaringan ini merupakan jaringan dengan skala yang sangat

besar, mencakup sebuah negara atau benua. Jaringan WAN banyak

digunakan oleh perusahaan besar dunia yang daerah operasinya

mencakup beberapa negara yang terletak di berbagai belahan dunia.

Jaringan WAN juga digunakan oleh negara-negara yang telah maju

untuk menghubungkan database dari satu daerah ke daerah yang

lain.

Gambar 2. 8 WAN

Page 38: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

21

2.4 Firewall

Menurut Roji (2010), Firewall merupakan suatu cara atau mekanisme yang

diterapkan baik terhadap hardware, software ataupun sistem itu sendiri dengan

tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak

suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan

jaringan luar yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat

merupakan sebuah workstation, server, router, atau local area network (LAN).

Firewall secara umum diperuntukkan untuk melayani :

1. Mesin/komputer

2. Jaringan

2.4.1 Karakteristik Firewall

Menurut Roji (2010), terdapat tiga karakteristik dari sebuah firewall,

yaitu :

1. Seluruh hubungan/kegiatan dari dalam ke luar, harus melewati

firewall. Hal ini dapat dilakukan dengan cara membatasi baik secara

fisik semua akses terhadap jaringan lokal, kecuali melewati firewall.

Banyak sekali bentuk jaringan yang memungkinkan agar

konfigurasi ini terwujud.

2. Hanya kegiatan yang terdaftar/dikenal yang dapat

melewati/melakukan hubungan, hal ini dapat dilakukan dengan

mengatur policy pada konfigurasi keamanan lokal. Banyak sekali

Page 39: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

22

jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang

ditawarkan.

3. Firewall itu sendiri haruslah kebal atau relatif kuat terhadap

serangan. Hal ini berarti penggunaan sistem yang dapat dipercaya

dan dengan sistem yang relatif aman.

2.4.2 Teknik yang digunakan oleh Firewall

Menurut Sujito, dkk. (2010), terdapat empat teknik yang dapat

digunakan oleh sebuah firewall, yaitu :

1. Service Control

Service Control (Kendali Terhadap Layanan), berdasarkan tipe-tipe

layanan yang digunakan di internet dan boleh diakses baik untuk ke

dalam ataupun keluar firewall. Biasanya firewall akan mengecek ip

address dan juga nomor port yang digunakan baik pada protokol

TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang

akan menerima dan menterjemahkan setiap permintaan akan suatu

layanan sebelum mengijinkannya. Bahkan bisa jadi software pada

server itu sendiri, seperti layanan untuk web ataupun untuk mail.

Page 40: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

23

2. Direction Control

Direction Control (Kendali Terhadap Arah), berdasarkan arah dari

berbagai permintaan (request) terhadap layanan yang akan dikenali

dan diijinkan melewati firewall.

3. User Control

User Control (Kendali Terhadap Pengguna), berdasarkan

pengguna/user untuk dapat menjalankan suatu layanan, artinya ada

user yang dapat dan ada yang tidak dapat menjalankan suatu

layanan, hal ini dikarenakan user tersebut tidak diijinkan untuk

melewati firewall. Biasanya digunakan untuk membatasi user dari

jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan

untuk membatasi terhadap pengguna dari luar.

4. Behavior Control

Behavior Control (Kendali Terhadap Perlakuan), berdasarkan

seberapa banyak layanan itu telah digunakan. Misalnya, firewall

dapat menyaring e-mail untuk menanggulangi/mencegah spam.

2.4.3 Tipe Firewall

Menurut Sujito, dkk. (2010), berdasarkan tipenya, firewall dapat

diklasifikasikan menjadi 3 kelompok yaitu :

1. Packet-Filtering Router

Packet-Filtering Router diaplikasikan dengan cara mengatur semua

paket ip baik yang menuju, melewati atau akan dituju oleh paket

tersebut. Pada tipe ini paket tersebut akan diatur apakah akan

Page 41: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

24

diterima dan diteruskan atau ditolak. Penyaringan paket ini

dikonfigurasikan untuk menyaring paket yang akan ditransfer secara

dua arah (baik dari, dan ke jaringan lokal). Aturan penyaringan

didasarkan pada header ip dan transport header, termasuk juga

alamat awal (ip) dan alamat tujuan (ip), protokol transport yang di

gunakan (UDP, TCP), serta nomor port yang digunakan. Kelebihan

dari tipe ini adalah mudah untuk di implementasikan, transparan

untuk pemakai, dan relatif lebih cepat. Adapun kelemahannya

adalah cukup rumitnya untuk mengatur paket yang akan disaring

secara tepat, serta lemah dalam hal autentikasi.

Adapun serangan yang dapat terjadi pada firewall dengan tipe

seperti ini adalah :

IP Address Spoofing : Intruder (Penyusup) dari luar dapat

melakukan ini dengan cara menyertakan/menggunakan ip

address jaringan lokal yang telah diijinkan melalui firewall.

Source Routing Attacks : Tipe ini tidak menganalisa informasi

routing sumber ip, sehingga memungkinkan untuk melewati

firewall.

Tiny Fragment Attacks : Intruder (Penyusup) membagi ip ke

dalam bagian-bagian (fragment) yang lebih kecil dan memaksa

terbaginya informasi mengenai TCP header. Serangan jenis ini

di desain untuk menipu aturan penyaringan yang bergantung

kepada informasi TCP header.

Page 42: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

25

Penyerang berharap hanya bagian (fragment) pertama saja

yang akan diperiksa dan sisanya dapat lewat dengan bebas. Hal

ini dapat ditanggulangi dengan cara menolak semua paket

dengan protokol TCP dan memiliki Offset = 1 pada IP

fragment.

Sumber : http://cecs.wright.edu/~pmateti/InternetSecurity/Lectures/Firewalls/

2. Application-Level Gateway

Application-Level Gateway, yang biasa juga dikenal sebagai Proxy

Server yang berfungsi untuk memperkuat/menyalurkan arus

aplikasi. Tipe ini akan mengatur semua hubungan yang

menggunakan layer aplikasi, baik itu HTTP, FTP, GOPHER dll.

Cara kerjanya adalah apabila ada pengguna yang menggunakan

salah satu aplikasi semisal FTP untuk mengakses secara remote,

maka gateway akan meminta user untuk memasukkan alamat

remote host yang akan diakses. Saat pengguna menggunakan user

Gambar 2. 9 Packet-Filtering Router

Page 43: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

26

ID serta informasi lainnya yang sesuai maka gateway akan

melakukan hubungan terhadap aplikasi tersebut yang berada pada

remote host, dan menyalurkan data di antara kedua titik. Apabila

data tersebut tidak sesuai maka firewall tidak akan meneruskan data

tersebut atau menolaknya. Firewall dengan tipe ini dapat

dikonfigurasikan untuk hanya mendukung beberapa aplikasi saja

dan menolak aplikasi lainnya untuk melewati firewall.

Kelebihannya adalah relatif lebih aman dibandingkan dengan tipe

Packet-Filtering Router karena lebih mudah untuk memeriksa

(audit) dan mendata (log) semua aliran data yang masuk pada level

aplikasi. Sedangkan kekurangannya adalah terdapat pemrosesan

tambahan yang berlebih pada setiap hubungan yang akan

mengakibatkan terdapat dua buah sambungan koneksi antara

pemakai dan gateway, dimana gateway akan memeriksa dan

meneruskan semua arus dari dua arah.

Sumber : https://www.slideshare.net/reddivarihareesh/firewall-71991008

Gambar 2. 10 Application-Level Gateway

Page 44: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

27

3. Circuit-Level Gateway

Tipe ketiga ini merupakan sistem yang berdiri sendiri, atau juga

merupakan fungsi khusus yang terbentuk dari application-level

gateway. Tipe ini tidak mengijinkan koneksi TCP end to end

(langsung).

Cara kerja dari firewall ini, gateway akan mengatur kedua hubungan

TCP dari user pada inner host (pengguna lokal) dan outside host

(pengguna luar). TCP pada hubungan user lokal dengan firewall dan

TCP pada hubungan user luar dengan firewall akan dihubungkan.

Ketika dua buah hubungan sudah terlaksana maka gateway akan

menyalurkan TCP segment dari satu hubungan ke lainnya tanpa

memeriksa isinya. Fungsi keamanannya terletak pada penentuan

hubungan mana yang diijinkan. Penggunaan dengan tipe ini

biasanya dibuat karena administrator percaya dengan user lokal.

Sumber : http://slideplayer.com/slide/4947549/

Gambar 2. 11 Circuit-Level Gateway

Page 45: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

28

2.5 Linux

Linux adalah sistem operasi, sebuah program yang memungkinkan program

lain dan manusia sebagai pengguna untuk dapat menjalankan komputer sesuai

dengan keinginannya. Ketika seorang pengguna komputer ingin melakukan

pekerjaan seperti mengetik dokumen, pengguna itu harus memiliki komputer dan

menggunakan program pengetikan, dan untuk membuat program pengetikan itu

berjalan di dalam komputer dibutuhkan sebuah sistem operasi sebagai tempat

program itu berjalan. Linux merupakan satu dari sistem operasi yang

memungkinkan keinginan pengguna tadi terwujud, sama dengan sistem operasi

Windows yang sudah dikenal saat ini. (Rendra Towidjojo:2016)

Linux ditemukan oleh Linus B. Torvalds yang lahir pada tanggal 28

Desember 1969 di Helsinki-Finlandia. Pada tahun 1991, Torvalds tercatat sebagai

mahasiswa ilmu komputer di University of Helsinki, Finlandia. Torvalds kemudian

membuat sistem operasi varian UNIX untuk digunakan pada komputer pribadinya,

sebelum akhirnya kernel Linux (Linus MINIX) yang beliau bangun telah selesai

dan dirilis ke internet melalui e-mail untuk memberitahukan informasi bahwa telah

tersedia sebuah sistem operasi gratis beserta kode sumbernya. (Askari Azikin:2011)

Menurut Askari Azikin (2011), Linux merupakan sistem operasi open

source di bawah lisensi General Public Licence v2 (GPLv2). Dimana GPL itu

sendiri merupakan gagasan dari GNU Project. Linux merupakan sistem operasi

UNIX-like atau sistem operasi yang mirip dengan UNIX. Dengan lisensi GPL,

Linux dapat diperoleh secara gratis lengkap dengan kode sumbernya, kode sumber

itu sendiri adalah baris-baris pemrograman atau yang lebih dikenal dengan istilah

source code. Selain itu, Linux dapat digandakan dan diedarkan secara bebas (free),

Page 46: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

29

dan pengguna juga dapat dengan bebas merubah kode sumbernya, selama

mengikuti aturan dari GPL.

2.5.1 Distribusi Linux

Distribusi Linux atau yang sering disingkat dengan Distro Linux adalah

sebutan untuk sistem operasi komputer dan aplikasinya, merupakan keluarga UNIX

yang menggunakan kernel Linux. Distro Linux bisa berupa perangkat lunak bebas

dan juga perangkat lunak komersial seperti Red Hat Enterprise, SUSE, dan lain-

lain. (https://id.wikipedia.org/wiki/Distribusi_Linux)

Beberapa distro Linux yang terkenal sampai saat ini adalah :

1 Arch Linux

2 Debian

3 Ubuntu

4 Kali Linux

5 Red Hat Enterprise

6 CentOS

7 OpenSUSE

2.5.2 Perintah Dasar Linux

Pada umumnya untuk melakukan konfigurasi atau menjalankan perintah

pada Linux, dibutuhkan sebuah terminal untuk menjalankannya. Terminal adalah

sebuah antar muka yang berbasis text yang menghubungkan pengguna dengan

sistem operasi Linux.

Page 47: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

30

Di bawah ini adalah beberapa contoh perintah-perintah dasar yang bisa

digunakan untuk melakukan konfigurasi atau menjalankan perintah pada terminal

di Linux CentOS 7. (Akrom Musajid:2016)

1. man

Perintah man digunakan untuk melihat manual dari suatu perintah, cara

menggunakannya adalah dengan mengetikkan man diikuti dengan perintah yang

ingin kita ketahui manual pemakaiannya.

2. cat

Perintah cat digunakan unutk menampilkan seluruh isi file ke layar. Sintaks

penulisannya seperti berikut.

3. cd

Singkatan dari Change Directory, merupakan perintah yang digunakan untuk

berpinda direktori pada saat mengoperasikan terminal Linux.

Dapat juga digunakan untuk mundur satu atau lebih ke direktori sebelumnya.

- Mundur satu direktori

[root@localhost ~]# man <command>

[root@localhost ~]# cat <nama_file>

[root@localhost ~]# cd <nama_direktori>

[root@localhost ~]# cd ..

Page 48: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

31

- Mundur dua direktori

- Mundur tiga direktori

Dan seterusnya.

4. cp

Perintah ini digunakan untuk menyalin file atau direktori. Untuk menyalin file dapat

menggunakan sintaks

Kemudian untuk menyalin direktori berisi file digunakan penambahan option -rf.

5. ls

Perintah ls dapat digunakan untuk menampilkan isi dari sebuah direktori. Untuk

menampilkan file yang tersembunyi dapat ditambahkan dengan parameter -a.

6. rm

Perintah rm digunakan untuk menghapus file atau direktori, biasanya ditambahkan

parameter -rf untuk menghapus isi dari direktori sekaligus.

[root@localhost ~]# cd ../..

~]# cd ../../..

[root@localhost ~]# cp <file> <file>

[root@localhost ~]# cp -rf <direktori> <direktori>

[root@localhost ~]# ls -a <direktori>

[root@localhost ~]# rm -rf <file/direktori>

Page 49: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

32

7. mkdir

Perintah mkdir digunakan untuk membuat direktori baru.

8. sudo

Perintah sudo digunakan untuk menjalankan sebuah perintah dengan hak akses

superuser atau root. Perintah-perintah yang termasuk dalam hak akses superuser

terdapat di file konfigurasi /etc/sudoers.

9. clear

Perintah clear digunakan untuk membersihkan layar di terminal.

10. uname

Perintah uname digunakan untuk menampilkan informasi sistem operasi yang

digunakan pada Linux. Paramater -a ditambahkan untuk melihat versi kernel yang

berjalan.

[root@localhost ~]# mkdir <direktori baru>

[root@localhost ~]# sudo <command>

[root@localhost ~]# clear

[root@localhost ~]# uname -a

Page 50: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

33

2.5.3 CentOS

CentOS yang merupakan singkatan dari Community Enterprise Operating

System merupakan salah satu distribusi Linux yang berasal dari source code Red

Hat yang dikembangkan oleh sebuah komunitas yang disebut dengan CentOS

Project. (Akrom Musajid:2016)

Red Hat merupakan salah satu distribusi Linux berbayar, namun CentOS

merupakan software yang dirilis dibawah General Public License (GPL) yang

selanjutnya dikembangkan oleh komunitas tersebut.

CentOS saat ini sudah digunakan oleh banyak perusahaan karena

merupakan salah satu Linux Operating System yang dapat digunakan dalam skala

Enterprise dan juga dapat digunakan secara gratis. Ada beberapa alasan yang

mendasar kenapa CentOS bisa menjadi opsi dari banyak distribusi Linux untuk

sebuah server. Selain karena CentOS berasal dari source code Red Hat yang dikenal

dengan kehandalannya sehingga CentOS didesain semirip mungkin dengan Red

Hat namun juga karena alasan dukungan terhadap software dan hardware yang

lebih baik. (Akrom Musajid:2016)

Dukungan ini merupakan salah satu alasan terpenting dari sebuah distribusi

Linux skala Enterprise, karena CentOS memberikan support dalam produknya

secara berkala dalam hal dukungan software packet untuk update. CentOS sendiri

memiliki dukungan (life cycles) yang cukup panjang hingga lima tahun sampai

sepuluh tahun. Berikut ini adalah data End-of-support dari semua versi CentOS.

Page 51: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

34

2.6 IPTables

IPTables adalah sebuah firewall, yang secara default sudah terpasang di

hampir semua distribusi Linux, seperti Ubuntu, Debian, CentOS, dan lain-lain.

Akan tetapi secara default IPTables mengijinkan semua traffic untuk lewat tanpa

menggunakan rules. (Onno W. Purbo:2008)

Pengaturan IPTabels paling setidaknya menangani tiga kumpulan aturan

yang disebut chain. Paket-paket yang diarahkan ke mesin firewall dinamakan chain

INPUT, paket-paket yang diteruskan melewati firewall dinamakan chain

FORWARD, dan paket-paket yang menuju jaringan eksternal meninggalkan mesin

firewall disebut chain OUTPUT. (Sujito, dkk.:2010)

Paket-paket yang masuk diperiksa, apakah rusak, salah informasi, atau

tidak, kemudian diberikan ke chain INPUT. Tergantung pada informasi yang

Versi CentOS Tanggal rilis Full updates Maintenance Updates

3 19 Maret 2004 20 Juli 2006 31 Oktober 2010

4 9 Maret 2005 31 Maret 2009 29 Februari 2012

5 12 April 2007 Q1 2014 31 Maret 2017

6 10 Juli 2011 Q2 2017 30 November 2020

7 7 Juli 2014 Q4 2020 30 Juni 2024

Table 2. 1 End of Support CentOS

Page 52: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

35

terdapat di dalam header paket dan kebijakan dalam rules set, keputusan yang

diambil untuk suatu paket dapat berupa sebagai berikut. (Sujito, dkk.:2010)

1. ACCEPT, menerima paket dan selanjutnya diproses oleh kernel.

2. DROP, menolak paket tanpa pemberitahuan sama sekali.

3. REJECT, mengembalikan paket ke asalnya dengan pesan kesalahan ICMP.

4. LOG, melakukan log (pencatatan) terhadap paket yang bersesuaian.

5. RETURN, untuk chain user-defined akan dikembalikan ke chain yang

memanggil, sedangkan untuk chain INPUT, FORWARD, dan OUTPUT

akan dijalankan kebijakan default.

6. Mengirim ke chain user-defined.

Keputusan kebijakan di atas dibuat oleh pernyataan jump yang terdapat

dalam rules set. Keputusan-keputusan yang serupa dibuat dalam chain OUTPUT

dan FORWARD. IPTables juga memberikan fasilitas pembuatan proxy transparan

dan ip masquerade dengan skema NAT (Network Address Translation). (Sujito,

dkk.:2010)

Gambar 2. 12 Diagram Perjalanan Paket pada IPTables

Page 53: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

36

2.6.1 Syntax Pada IPTables

1. Table

IPTables memiliki 3 buah table di dalamnya, yaitu NAT, MANGLE dan

FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing.

Fungsi dari masing-masing tabel tersebut sebagai berikut :

1. NAT : Secara umum digunakan untuk melakukan Network Address

Translation. NAT adalah penggantian field alamat asal atau alamat tujuan

dari sebuah paket.

2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket,

seperti TTL, TOS dan MARK

3. FILTER : Disinilah fungsi untuk filter berjalan yang berfungsi untuk

menentukan apakah paket akan di ACCEPT, LOG, REJECT atau DROP.

2. Command

IPTables memiliki perintah untuk memberitahu apa yang harus dijalankan.

Table 2. 2 Command IPTables

Command Keterangan

-A

–append

Perintah ini menambahkan aturan pada akhir

chain untuk dieksekusi terakhir

-D

–delete

Menghapus rule yang terdapat di dalam chain

Page 54: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

37

-R

–replace

Mengganti rule yang terdapat di dalam chain.

Secara default menggantikan rule nomor 1

dalam chain

-I

–insert

Memasukkan rule pada chain di posisi paling

atas, sehingga akan dieksekusi pertama

-L

–list

Menampilkan list rules pada chain yang sudah

dimasukkan atau sudah berjalan di dalam chain

-F

–flush

Menghapus rule di dalam chain, secara default

jika tidak disebutkan rules yang spesifik untuk

dihapus, maka akan menghapus semua rules di

dalam chain

-N

–new-chain

Membuat chain baru.

-X

–delete-chain

Perintah ini akan menghapus chain yang

disebutkan.

-P

–policy

Mengganti kebijakan atau policy di dalam chain

kepada target

-E

–rename-chain

Mengganti nama sebuah chain

Page 55: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

38

3. Options

Option digunakan dengan mengkombinasikan perintah tertentu dan

menghasilkan perintah dengan tujuan yang bervariasi.

Table 2. 3 Options IPTables

Option Command

Pemakai

Keterangan

-v

–verbose

–list

–append

–insert

–delete

–replace

Memberikan output yang lebih

detail, biasa dikombinasikan

dengan –list.

-x

–exact

–list Memberikan output yang lebih

tepat.

-n

–numeric

–list Memberikan output yang

berbentuk angka. Ip address dan

nomor port akan ditampilkan

dalam bentuk angka

–line-number –list Memberikan urutan nomor pada

rules untuk mempermudah

konfigurasi

–modprobe All Digunakan untuk memanggil modul

tertentu.

Page 56: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

39

4. Generic Matches

Syntax ini difungsikan untuk mendefiniskan protokol, lalu mendefiniskan

aturan yang lebih spesifik terkait dengan protokol tersebut. Karena tiap

protokol memiliki karakteristik yang berbeda, maka setiap protokol harus

diperlakukan secara khusus.

Table 2. 4 Generic Matches IPTables

Match Keterangan

-p

–protocol

Digunakan untuk mengecek tipe protokol tertentu.

Contoh protokol yang umum adalah TCP, UDP, ICMP

dan ALL.

-s

–src

–source

Digunakan untuk mencocokkan paket berdasarkan ip

address dari sumber. Bisa berupa ip tunggal, contoh

192.168.1.1, atau menggunakan subnet mask

192.168.1.0/255.255.255.0, atau 192.168.1.0/24.

-d

–dst

–destination

Digunakan untuk mecocokkan paket berdasarkan ip

address tujuan. Penggunaannya sama dengan match –

src

-i

–in-interface

Digunakan untuk mencocokkan paket berdasarkan

interface di mana paket datang. Hanya berlaku pada

chain INPUT, FORWARD dan PREROUTING.

-o

–out-interface

Digunakan untuk mencocokkan paket berdasarkan

interface di mana paket keluar.Hanya berlaku untuk

chain OUTPUT, FORWARD dan POSTROUTING

Page 57: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

40

5. Implicit Matches

Implicit Matches adalah match yang lebih spesifik untuk tipe protokol

tertentu. Implicit Match merupakan sekumpulan rule yang akan di load

setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga

jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.

1. TCP Matches

Table 2. 5 Implicit Matches IPTables

Match Keterangan

–sport

–source-port

Match ini berguna untuk mecocokkan paket

berdasarkan port asal. Dalam hal ini kia bisa

mendefinisikan nomor port atau nama service-nya.

Daftar nama service dan nomor port yang bersesuaian

dapat dilihat di /etc/services.

–sport juga bisa dituliskan untuk range port tertentu.

Misalkan kita ingin mendefinisikan range antara port

22 sampai dengan 80, maka kita bisa menuliskan –

sport 22:80.

Jika bagian salah satu bagian pada range tersebut kita

hilangkan maka hal itu bisa kita artikan dari port 0,

jika bagian kiri yang kita hilangkan, atau 65535 jika

bagian kanan yang kita hilangkan. Contohnya –sport

:80 artinya paket dengan port asal nol sampai dengan

80, atau –sport 1024: artinya paket dengan port asal

1024 sampai dengan 65535.Match ini juga mengenal

inversi.

Page 58: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

41

–dport

–destination-

port

Penggunaan match ini sama dengan match –source-

port.

–tcp-flags Digunakan untuk mencocokkan paket berdasarkan

TCP flags yang ada pada paket tersebut. Pertama,

pengecekan akan mengambil daftar flag yang akan

diperbandingkan, dan kedua, akan memeriksa paket

yang di-set 1, atau on.

Pada kedua list, masing-masing entry-nya harus

dipisahkan oleh koma dan tidak boleh ada spasi antar

entry, kecuali spasi antar kedua list. Match ini

mengenali SYN,ACK,FIN,RST,URG, PSH. Selain itu

kita juga menuliskan ALL dan NONE. Match ini juga

bisa menggunakan inversi.

–syn Match ini akan memeriksa apakah flag SYN di-set dan

ACK dan FIN tidak di-set. Perintah ini sama artinya

jika kita menggunakan match –tcp-flags

SYN,ACK,FIN SYN

Paket dengan match di atas digunakan untuk

melakukan request koneksi TCP yang baru terhadap

server

2. UDP Matches

Karena bahwa protokol UDP bersifat connectionless, maka tidak ada

flags yang mendeskripsikan status paket untuk untuk membuka atau

menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement.

Sehingga implicit match untuk protokol UDP lebih sedikit daripada TCP

Page 59: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

42

Ada dua macam match untuk UDP:

–sport atau –source-port

–dport atau –destination-port

3. ICMP Matches

Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan

kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk

tipe protokol ICMP, yaitu : –icmp-type

6. Explicit Matches

1. MAC Address

Match jenis ini berguna untuk melakukan pencocokan paket

berdasarkan MAC source address. Perlu diingat bahwa MAC hanya

berfungsi untuk jaringan yang menggunakan teknologi ethernet.

2. Multiport Matches

Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau

port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan

yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita

tidak bisa menggunakan port matching standard dan multiport matching

dalam waktu yang bersamaan.

Ex : iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110

Page 60: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

43

3. Owner Matches

Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat

atau pemilik/owner paket tersebut. Match ini bekerja dalam chain

OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada

beberapa proses tidak memiliki owner (??).

Ex : iptables –A OUTPUT –m owner –uid-owner 500

Kita juga bisa melakukan filter berdasarkan group ID dengan sintaks –

gid-owner. Salah satu penggunannya adalah bisa mencegah user selain

yang dikehendaki untuk mengakses internet misalnya.

4. State Matches

Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang

berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW

digunakan untuk paket yang akan memulai koneksi baru.

ESTABLISHED digunakan jika koneksi telah tersambung dan paket-

paketnya merupakan bagian dari koneki tersebut. RELATED digunakan

untuk paket-paket yang bukan bagian dari koneksi tetapi masih

berhubungan dengan koneksi tersebut, contohnya adalah FTP data

transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID

adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian

dari koneksi yang ada.

Ex : iptables –A INPUT –m state –state RELATED,ESTABLISHED

Page 61: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

44

7. Target/Jump

Target atau jump adalah perlakuan yang diberikan terhadap paket-paket

yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang

lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh

paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku

sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah

chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke

dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain

input.

Ex : iptables –A INPUT –p tcp –j tcp_packets

Table 2. 6 Target/Jump IPTables

Target Keterangan

-j ACCEPT

–jump

ACCEPT

Ketika paket cocok dengan daftar match dan target ini

diberlakukan, maka paket tidak akan melalui baris-baris

aturan yang lain dalam chain tersebut atau chain yang lain

yang mereferensi chain tersebut. Akan tetapi paket masih

akan memasuki chain-chain pada tabel yang lain seperti

biasa.

-j DROP

–jump DROP

Target ini men-drop paket dan menolak untuk memproses

lebih jauh. Dalam beberapa kasus mungkin hal ini kurang

baik, karena akan meninggalkan dead socket antara client

dan server.

Paket yang menerima target DROP benar-benar mati dan

target tidak akan mengirim informasi tambahan dalam

bentuk apapun kepada client atau server.

-j RETURN Target ini akan membuat paket berhenti melintasi aturan-

aturan pada chain dimana paket tersebut menemui target

Page 62: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

45

–jump

RETURN

RETURN. Jika chain merupakan subchain dari chain yang

lain, maka paket akan kembali ke superset chain di

atasnya dan masuk ke baris aturan berikutnya. Apabila

chain adalah chain utama misalnya INPUT, maka paket

akan dikembalikan kepada kebijakan default dari chain

tersebut.

-j MIRROR Apabila kompuuter A menjalankan target seperti contoh di

atas, kemudian komputer B melakukan koneksi http ke

komputer A, maka yang akan muncul pada browser adalah

website komputer B itu sendiri. Karena fungsi utama target

ini adalah membalik source address dan destination

address.

Target ini bekerja pada chain INPUT, FORWARD dan

PREROUTING atau chain buatan yang dipanggil melalui

chain tersebut.

Parameter target yang biasa ditambahkan yaitu:

1. LOG Target

Ada beberapa option yang bisa digunakan bersamaan dengan target ini.

Yang pertama adalah yang digunakan untuk menentukan tingkat log.

Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err,

crit, alert dan emerg.Yang kedua adalah -j LOG –log-prefix yang digunakan

untuk memberikan string yang tertulis pada awalan log, sehingga

memudahkan pembacaan log tersebut.

Ex : iptables –A FORWARD –p tcp –j LOG –log-level debug

iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”

Page 63: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

46

2. REJECT Target

Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan

menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan

mengirimkan error message ke host pengirim paket tersebut. REJECT

bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain

tambahan yang dipanggil dari ketiga chain tersebut.

Ex : iptables –A FORWARD –p tcp –dport 22 –j REJECT –reject-with icmp-

host-unreachable

Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable,

icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable,

icmp-net-prohibited dan icmp-host-prohibited.

3. SNAT Target

Target ini berguna untuk melakukan perubahan alamat asal dari paket

(Source Network Address Translation). Target ini berlaku untuk table nat

pada chain POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan.

Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-

paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang

sama.

Ex : iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source

194.236.50.155-194.236.50.160:1024-32000

Page 64: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

47

4. DNAT Target

Berkebalikan dengan SNAT, DNAT digunakan untuk melakukan translasi

field alamat tujuan (Destination Network Address Translation) pada header

dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk

table nat pada chain PREROUTING dan OUTPUT atau chain buatan yang

dipanggil oleh kedua chain tersebut.

iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80 –j DNAT

–to-destination 192.168.0.2

5. MASQUERADE Target

Secara umum, target MASQUERADE bekerja dengan cara yang hampir

sama seperti target SNAT, tetapi target ini tidak memerlukan option –to-

source. MASQUERADE memang didesain untuk bekerja pada komputer

dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan

memberi pada kita nomor IP yang berubah-ubah.

Seperti halnya pada SNAT, target ini hanya bekerja untuk table nat pada

chain POSTROUTING.

Ex : iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE

6. REDIRECT Target

Target REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket

ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan

paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy,

lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem

Page 65: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

48

jaringan yang menggunakan transparent proxy. Contohnya kita ingin

mengalihkan semua koneksi yang menuju port http untuk memasuki

aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk table nat

pada chain PREROUTING dan OUTPUT atau pada chain buatan yang

dipanggil dari kedua chain tersebut.

2.7 Squid

Squid adalah sebuah program atau tools yang digunakan untuk melakukan

caching terhadap konten suatu website dan tersedia secara opensource. Squid juga

dapat digunakan untuk pengaturan website mana saja yang dapat diakses oleh

client, autentikasi user saat mengakses internet, pencatatan seluruh aktifitas klien

saat mengakses internet, manajemen traffic yang mencakup di dalamnya

penghematan bandwith karena konten-konten yang sering diakses tersimpan di

cache lokal, pengaturan jam akses internet, pembatasan jumlah client yang dapat

mengakses internet serta sejumlah fasilitas lain yang dapat disesuaikan berdasarkan

kebutuhan (Akrom Musajid:2016)

Sumber: www.pdproxy.com

Gambar 2. 13 Diagram Perjalanan paket pada Squid

Page 66: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

49

BAB III

METODE PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian mengenai implementasi IPTables dan Squid sebagai firewall

dengan menggunakan Linux CentOS ini dilaksanakan dari bulan April 2017 sampai

dengan Agustus 2017 terhitung dari tahap pengajuan penelitian sampai dengan

tahap implementasi dengan menggunakan virtualisasi. Penelitian ini dilakukan

pada PT. DMC Teknologi Indonesia yang berlokasi di Jl. Industri Utama, Blok RR-

7, Kawasan Industri Jababeka tahap 2, Cikarang, Kabupaten Bekasi.

3.2 Teknik Pengumpulan Data

Data-data yang digunakan dalam penelitian ini didapatkan dengan beberapa

teknik, yaitu :

1. Interview

Pendekatan yang dapat digunakan untuk mendapatkan data primer adalam

pendekatan komunikasi. Interview dilakukan kepada Leader departemen IT

(Information Technology) untuk mengetahui kebijakan-kebijakan apa saja yang

digunakan dalam perusahaan untuk membatasi hak akses user dalam mengakses

jaringan di PT. DMC Teknologi Indonesia.

Page 67: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

50

2. Studi Pustaka

Penulis melakukan studi pustaka dengan acuan pada buku-buku para ahli,

jurnal-jurnal mahasiswa, dan website di internet untuk mendukung teori yang

digunakan penulis serta menjadikan pembanding dengan hasil yang didapat di

lapangan selama penelitian dilakukan.

3.3 Jenis Data

Jenis data yang digunakan dalam penelitian ada dua yaitu data primer dan

data sekunder. Data primer adalah data yang diperoleh dari nara sumber, sedangkan

data sekunder adalah data yang telah tersedia. Dalam penelitian ini data yang

digunakan adalah data primer yaitu data hasil wawancara dengan Leader

departemen IT di PT. DMC Teknologi Indonesia, yang digunakan untuk

menentukan policy atau kebijakan dalam penentuan firewall rules dengan IPTables

dan Squid.

3.4 Tahapan Pengembangan Sistem

Pengembangan sistem atau yang umum disebut sebagai System

Development Life Cycle (SDLC) dalam sebuah rekayasa sistem dan rekayasa

perangkat lunak adalah proses pembuatan dan pengubahan sistem serta model dan

metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep

ini merujuk pada sistem komputer. Pengembangan sistem yang dpilih dalam

penelitian ini adalah pengembangan sistem waterfall. Tahapan yang ada dalam

Page 68: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

51

waterfall ada empat, yaitu Analisa Kebutuhan, Perancangan (Desain),

Implementasi, dan Pengujian (Testing).

3.5 Analisis Sistem

Tahapan analisis sistem adalah tahapan mempelajari sistem yang sedang

berjalan untuk diketahui kelemahan dan kekurangannya, sistem pengganti

diusulkan guna menutupi kelemahan dan kekurangan sistem yang ada. Hasil

analisis terhadap kelemahan sistem yang sedang berjalan adalah:

1. Belum adanya rules firewall yang mengatur paket-paket apa saja yang boleh

masuk, dan mana yang tidak boleh masuk ke dalam sistem.

2. Belum adanya rules set tetap yang digunakan sebagai acuan perusahaan

dalam menetapkan policy penggunaan internet kepada user sesuai dengan

tingkatan jabatannya.

Gambar 3. 1 SDLC Waterfall

Page 69: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

52

3. Tidak adanya firewall di dalam sebuah sistem sangat berakibat fatal jika

terdapat serangan dari luar maupun dari dalam jaringan di dalam sistem,

yang tentu saja mampu merusak sistem dalam skala yang sangat kritis.

3.6 Rancangan Sistem yang Berjalan

Berikut adalah topologi sistem yang berjalan pada PT. DMC

Teknologi Indonesia.

INTERNETISP ROUTER

MIKROTIK Web Server ( CentOS 7 server )

Mail Server ( Ubuntu 16.04 server )

Backup Server ( Ubuntu 16.04 server )

SWITCH

Client

Client

Client

Laptop

Laptop Laptop

Wireless AP

Gambar 3. 2 Topologi Sistem yang Berjalan

Berikut adalah aturan aturan yang berjalan pada sistem di PT. DMC

Teknologi Indonesia.

1. Semua client dapat mengakses internet.

2. Internet dapat diakses selama 24 jam.

3. Semua client dapat mengakses media sosial.

4. Semua client dapat membuka portal berita di internet.

5. Semua client dapat mengakses web server lewat SSH.

6. Dapat menambahkan ip address baru diluar ip address range yang

sudah ditentukan oleh router.

Page 70: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

53

3.7 Rancangan Sistem yang Diajukan

Berikut adalah topologi rancangan sistem yang diajukan untuk

berjalan pada sistem di PT. DMC Teknologi Indonesia.

INTERNET ISP ROUTER

MIKROTIK

Web Server ( CentOS 7 server )

Mail Server ( Ubuntu 16.04 server )

Backup Server ( Ubuntu 16.04 server )

SWITCH

Client

Client

Client

LaptopLaptop Laptop

Wireless AP

Gambar 3. 3 Topologi Sistem yang Diajukan

Berikut adalah aturan-aturan yang disarankan berjalan di dalam

jaringan di PT. DMC Teknologi Indonesia.

1. Semua client tidak dapat mengakses internet berdasarkan blocking list

mulai hari Senin sampai dengan Jumat dari jam 9 pagi sampai jam 4 sore

Waktu Indonesia Barat ( WIB )

2. Mengijinkan traffic dari interface localhost jika terjadi sesuatu yang

tidak beres dengan server router.

3. Hanya mengijinkan paket ICMP yang datang dari dalam private network

untuk mencegah serangan IP spoofing.

Page 71: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

54

4. Memberikan akses SSH ke server router hanya dari IP 192.168.231.1,

sedangkan IP lain tidak bisa.

5. Blocking list beberapa situs portal berita yang sering dikunjungi client

yaitu:

a. detik.com

b. tribunnews.com

c. kompas.com

d. liputan6.com

e. kapanlagi.com

6. Blocking list beberapa situs anime dan film yang sering dikunjungi

client yaitu:

a. samehadaku.tv

b. nekonime.tv

c. oploverz.in

d. indoxxi.vip

e. pahe.in

7. Melakukan pencatatan informasi/logging untuk memonitoring website

yang diakses dan cache dari client.

Page 72: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

55

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil

Untuk perancangan dan implementasi jaringan pada pada BAB IV ini

penulis akan menerapkan metode SDLC yang mana tahapan pertama pada metode

ini adalah analisa, dari hasil observasi di lapangan penulis telah menganalisa

berbagai macam masalah dan kekurangan yang terdapat pada topologi sertau rules

yang berjalan di dalam sistem dan jaringan PT. DMC Teknologi Indonesia. Setelah

tahap perancangan topologi jaringan, serta rules yang akan diimplementasikan,

kemudian menentukan apa saja yang perlu dimonitoring, maka berlanjut pada tahap

implementasi, adapun urutannya adalah sebagai berikut:

1. Installasi Linux CentOS 7 sebagai sistem operasi server, router, firewall

dan transparent proxy.

2. Konfigurasi IPTables sebagai firewall rules.

3. Instalasi dan Konfigurasi Squid sebagai transparent proxy.

4.1.1 Instalasi Linux CentOS 7 di Virtual Box

Penulis sudah menetapkan bahwa sistem operasi yang digunakan

sebagai firewall adalah Linux CentOS 7 64 Bit dengan seri kernel 3.10.0-

693.5.2.el7.x86_64 dengan menggunakan VirtualBox sebagai wadah

virtualisasi untuk melakukan simulasi firewall.

Berikut merupakan system requirements dari CentOS 7 dengan base 64-Bit.

Page 73: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

56

Gambar 4. 1 Membuat Virtual Machine

1024 MB RAM

10 GB HDD Disk Space

Berikut merupakan spesifikasi komputer yang digunakan untuk melakukan

simulasi.

Intel Core i5 4590, 3.3 GHz

16 GB RAM DDR3

4 TB HDD

Windows 10 Professional Edition 64 Bit

Berikut adalah tahapan-tahapan instalasi CentOS 7 di Virtual Box.

1. Membuat Virtual Machine Baru

Buka aplikasi VirtualBox dan buat Virtual Machine baru dengan

nama CentOS 7 Firewall dengan type Linux dan version Red Hat

(64-bit)

Page 74: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

57

Gambar 4. 2 Pengaturan RAM

Gambar 4. 3 Pembuatan Virtual Harddisk

2. Pengaturan RAM

Memori RAM yang digunakan pada CentOS 7 sebagai firewall

sebanyak 1024 MB.

3. Pembuatan Virtual Harddisk

Buat sebuah Virtual Harddisk pada VirtualBox yang belum terisi

oleh sistem operasi.

Page 75: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

58

4. Penentuan Tipe Virtual Harddisk

Pilih tipe virtual harddisk, direkomendasikan untuk memilih tipe

VDI (VirtualBox Disk Image) yang sudah secara default menjadi

pilihan di VirtualBox.

5. Penentuan Parameter Harddisk

Disediakan dua pilihan untuk parameter lingkup harddisk. Tipe

dynamically allocated membuat size virtual harddisk meningkat

sesuai kebutuhan sampai batas yang telah ditentukan. Sedangkan

tipe fixed size menjadikan size virtual harddisk tetap dan tidak akan

berubah. Disini pilih dynamically allocated.

Gambar 4. 4 Penentuan Tipe Virtual Harddisk

Gambar 4. 5 Penentuan Parameter Harddisk

Page 76: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

59

6. Penentuan Kapasitas Virtual Harddisk

Selanjutnya menentukan kapasitas virtual harddisk yang akan

digunakan untuk sistem operasi CentOS yang akan dipakai sebagai

firewall. Kapasitas sebesar 8 GB sudah mencukupi untuk sistem

operasi berjalan dengan baik sebagai firewall.

Gambar 4. 6 Penentuan Kapasitas Virtual Harddisk

Page 77: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

60

7. Pengisian File ISO Untuk Sistem Operasi

Langkah selanjutnya memasukkan file ISO CentOS 7 ke dalam

virtual harddisk yang sudah dibuat. Pilih virtual machine yang sudah

dibuat yaitu CentOS 7 Firewall, pilih bagian Settings > Storage >

Controller : IDE > Optical Drive, lalu pilih file ISO CentOS 7 yang

sudah disiapkan.

Gambar 4. 7 Pengisian File ISO CentOS 7

Page 78: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

61

8. Pemilihan Bahasa

Jalankan virtual machine, akan masuk ke window untuk tahapan

instalasi CentOS 7. Pilih English ( United States ) sebagai bahasa

utama yang akan digunakan pada sistem operasi CentOS 7.

Gambar 4. 8 Pemilihan Bahasa

Page 79: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

62

9. Installation Summary Window

Selanjutnya diberikan sebuah Installation Summary Window yang di

dalamnya terdapat beberapa pilihan pengaturan.

Gambar 4. 9 Installation Summary Window

Page 80: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

63

10. Pengaturan Regional, Tanggal dan Waktu

Pilih region Asia, dan city Jakarta. Lalu atur tanggal dan sesuaikan

dengan waktu setempat.

Gambar 4. 10 Pengaturan Regional, Tanggal dan Waktu

Page 81: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

64

11. Pemilihan Lokasi Instalasi

Pilih partisi pada virtual harddisk yang sudah dibuat.

Gambar 4. 11 Pemilihan Lokasi Instalasi

Page 82: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

65

12. Metode Partisi

Metode yang digunakan untuk melakukan partisi adalah manual

partisi.

13. Pengaturan Partisi

Untuk partisi virtual harddisk dibagi menjadi empat partisi :

a. /boot : 1024 MB, XFS Format

b. / : 4400 MB, XFS Format

c. /var : 1907.35 MB, XFS Format

d. swap : 819.2 MB

Gambar 4. 12 Metode Partisi

Page 83: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

66

14. Rangkuman Perubahan

Sebelum melakukan format kepada partisi yang sudah ditentukan,

akan ditampilkan rangkuman dari perubahan yang akan dijalankan.

Gambar 4. 13 Pengaturan Partisi

Gambar 4. 14 Rangkuman Perubahan

Page 84: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

67

15. Pemilihan Paket Instalasi

Disediakan beberapa paket instalasi yang akan dipasang di dalam

sistem, untuk kebutuhan penggunaan firewall cukup dengan

menggunakan minimal install dalam basic environment, dengan

add-ons :

Debugging Tools : Berfungsi sebagai alat debugging aplikasi

yang berjalan dengan tidak semestinya dan mendiagnosa

masalah-masalah yang berhubungan dengan kinerja sistem.

Development Tools : Berfungsi sebagai lingkungan

pengembangan dasar sistem.

Security Tools : Berfungsi sebagai alat untuk melakukan cek

integritas dan verifikasi.

Gambar 4. 15 Pemilihan Paket Instalasi

Page 85: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

68

16. Pembuatan User dan Password

Buat sebuah user lengkap dengan password.

17. Proses Finalisasi Penginstallan OS

Proses akhir dari penginstallan sistem operasi CentOS 7.

Gambar 4. 17 Pembuatan User dan Password

Gambar 4. 16 Kolom Pembuatan User dan Password

Gambar 4. 18 Proses Finalisasi Penginstallan OS CentOS 7

Page 86: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

69

18. Proses Pembuatan Jaringan NAT di dalam Virtual Box

Jaringan NAT diperlukan di dalam Virtual Box agar CentOS server

bisa terhubung dengan virtual OS yang dibuat di dalam Virtual Box.

Pada Virtual Box, pilih File > Preferences > Network > Adds

new NAT network.

Buat nama NAT Firewall to Client

Berikan CIDR atau segment IP : 192.168.10.0/24

Check pada Supports DHCP

Gambar 4. 19 Pembuatan Jaringan NAT di Virtual Box

Page 87: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

70

19. Pengaturan Jaringan CentOS Server dan Windows Client

Pengaturan dibutuhkan agar CentOS Server mendapatkan koneksi

internet dari komputer host, dan berada dalam satu segment IP lokal

dengan Windows Client.

CentOS 7 VM > Settings > Network

o Adapter 1

Attached to : NAT Network

Name : NAT Firewall to Client

Promiscuous Mode : Allow All

Gambar 4. 20 CentOS 7 Network Settings (Adapter 1)

Page 88: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

71

o Adapter 2

Attached to : Host-Only Adapter

Name : VirtualBox Host-Only Ethernet

Adapter #3

Promiscuous Mode : Allow All

Gambar 4. 21 CentOS 7 Network Settings (Adapter 2)

Page 89: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

72

Windows 7 VM > Settings > Network

o Adapter 1

Attached to : Host-Only Adapter

Name : VirtualBox Host-Only Ethernet

Adapter #3

Promiscuous Mode : Allow All

Gambar 4. 22 Windows 7 Network Settings (Adapter 1)

Page 90: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

73

4.1.2 Konfigurasi IPTables sebagai Firewall Rules

Selanjutnya penulis melakukan konfigurasi terhadap IPTables di dalam

Linux CentOS 7, dimana IPTables sendiri secara default sudah terpasang di Linux

dengan seri kernel diatas 2.4. Linux CentOS 7 yang digunakan sudah memiliki seri

kernel 3.10. Langkah-langkah konfigurasinya sebagai berikut

1. Login ke dalam CentOS 7 dengan username : root, dan password :

leemalia20

2. Matikan service dari firewalld yang merupakan firewall default yang

berjalan di CentOS 7. Pastikan statusnya sudah inactive.

3. Buat sebuah file untuk script rules IPTables untuk kondisi sebagai

berikut:

A. NAT Table

Setiap paket TCP yang masuk melalui public interface dan menuju

port 80 dialihkan ke transparent proxy di 192.168.231.100:3128.

Setiap paket TCP yang masuk melalui private interface dan menuju

port 80 dialihkan langsung ke port transparent proxy di port 3128.

Gambar 4. 23 Login CentOS 7

Gambar 4. 24 Disable service firewalld

Page 91: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

74

Semua paket yang keluar dari public interface akan di

MASQUERADE, agar ip address dalam private network

mendapatkan ip address public untuk dapat bisa mengakses internet.

B. Filter Table

Buat status untuk chain INPUT menjadi RELATED,ESTABLISHED.

Izinkan semua traffic dari interface loopback pada chain INPUT.

Izinkan paket ICMP hanya datang dari dalam private network untuk

mencegah ip spoofing attack pada chain INPUT

Berikan akses SSH ke server hanya dari ip address 192.168.231.1

pada chain INPUT

Izinkan paket UDP pada port 67 hanya dari private network pada

chain INPUT

Tidak mengizinkan paket lain yang datang dari private network, lalu

ditolak dengan mengirimkan pesan icmp-host-prohibited pada chain

INPUT

Koneksi yang tidak memenuhi kriteria rulse pada chain INPUT yang

sudah diatur sebelumnya akan di DROP/diputus tanpa

pemberitahuan atau pesan.

Semua paket yang mengarah ke dalam private network dari interface

private network tidak akan dikirimkan untuk alasan performance

pada chain FORWARD. Karena dikhawatirkan dengan kondisi

seperti ini terdapat kesalahan konfigurasi pada private network atau

pada device di dalam private network.

Page 92: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

75

Semua paket yang berasal dari private network akan diteruskan pada

chain FORWARD.

Semua paket yang mengarah ke dalam private network dari public

network akan diteruskan pada chain FORWARD.

Paket yang tidak berasal dari range ip address di dalam private

network akan di REJECT atau ditolak dengan pesan icmp-host-

prohibited pada chain FORWARD.

Koneksi yang tidak memenuhi kriteria rules pada chain FORWARD

yang sudah diatur sebelumnya akan di DROP/diputus tanpa

pemberitahuan atau pesan.

Semua koneksi melalui chain OUTPUT akan dikeluarkan.

Simpan script IPTables dengan nama iptables-firewall.server.

Gambar 4. 25 Script Rules IPTables

Page 93: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

76

4. Restore script iptables-firewall.server ke konfigurasi IPTables.

5. Restart service IPTables untuk mengaktifkan ulang service IPTables.

6. Check status service IPTables. Pastikan service IPTables sudah berjalan.

7. Check rules IPTables untuk memastikan semua rules untuk table filter

sudah berjalan.

Gambar 4. 26 Restore script IPTables

Gambar 4. 27 Restart Service IPTables

Gambar 4. 28 Status service IPTables

Gambar 4. 29 Check rules IPTables

Page 94: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

77

8. Check rules table NAT IPTables untuk memastikan rules untuk table

NAT sudah berjalan.

9. Izinkan ip forwarding untuk ipv4 agar ip address di dalam private

network mendapatkan ip public.

4.1.3 Konfigurasi Squid sebagai Transparent Proxy

Langkah selanjutnya yang penulis lakukan adalah memasang Squid sebagai

transparent proxy tanpa perlu melakukan setting proxy di dalam browser setiap

client. Fungsi Squid disini untuk melakukan filter dan caching terhadap client serta

dapat menentukan jam akses terhadap website yang masuk ke dalam blocking list.

Filter yang dilakukan disini oleh penulis adalah filter terhadap beberapa halaman

website yang berada di protokol http di port 80. Beberapa website yang sering

diakses ketika jam kerja karena dianggap oleh perusahaan sebagai time wasting dan

mengganggu kinerja karyawan, dimasukkan ke dalam blocking list lalu di filter oleh

Gambar 4. 30 Check rules table NAT

Gambar 4. 31 IP Forwarding ipv4

Page 95: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

78

Squid agar akses menuju website-website tersebut di block. Langkah-langkah

konfigurasinya sebagai berikut:

1. Lakukan instalasi Squid di CentOS 7

2. Lakukan konfigurasi Squid pada file squid.conf di path

/etc/squid/squid.conf

3. Berikan rules :

Definisikan ip address range pada private network untuk masuk ke

dalam access list di dalam squid.

Blokir semua website yang masuk di dalam blocking list pada hari

kerja Senin s/d Jumat, mulai jam 09.00-16.00 WIB

Lakukan redirect ke halaman website perusahaan di

http://www.dmccoltd.com/english/about_us/dti.asp ketika website

yang sudah masuk blocking list diakses oleh client.

Set http port pada squid menjadi intercept agar setiap akses yang

melalui http di port 80 dicegat oleh Squid terlebih dahulu.

Set http port ke mode accelerator/reverse proxy mode, gunakan

http/1.1 header untuk support virtual domain.

Gambar 4. 32 Instalasi Squid

Gambar 4. 33 Konfigurasi Squid

Page 96: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

79

4. Buat sebuah file dengan nama “blokir.acl” dan simpan di path

/etc/squid/. Isi file tersebut dengan website-website yang akan diblokir

oleh Squid.

Gambar 4. 34 Konfigurasi Squid Rules

Gambar 4. 35 File blokir.acl

Page 97: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

80

5. Lakukan parse untuk mengetahui apakah konfigurasi Squid sudah benar

atau masih terdapat error di dalam konfigurasi.

6. Jalankan service Squid

7. Check status Squid, dan pastikan Squid sudah berjalan dan dalam active

state.

Gambar 4. 36 Squid Parse

Gambar 4. 37 Start Squid

Gambar 4. 38 Enable Squid

Page 98: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

81

4.2 Pembahasan

Pada pembahasan ini , telah disinggung mengenai bagaimana sebuah sistem

operasi Linux dapat bekerja sebagai router, firewall, dan transparent proxy untuk

mengamankan jaringan serta memberikan rules di dalam sebuah perusahaan.

Perangkat yang akan digunakan sebagai router, serta client merupakan virtual

machine yang akan mewakili tiap-tiap kriteria, dan menjadi alat simulasi dari

topologi sebuah sistem sebenarnya di dalam sebuah jaringan. Sebagai contoh,

sebuah server Linux dengan fitur-fitur yang dibutuhkan untuk menjadi sebuah

router, dan dapat menjadi firewall serta transparent proxy server dengan bantuan

IPTables dan Squid. Perangkat lain seperti client juga sudah cukup untuk

membantu mensimulasikan sebuah topologi jaringan DMZ (demilitarized zone)

yang terlindungi oleh firewall dan transparent proxy server.

Gambar 4. 39 Check Status Squid

Page 99: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

82

Berdasarkan penjelasan diatas maka dapat disusun sebuah simulasi

pengujian untuk membuktikan apakah sistem yang dibangun memiliki hasil sesuai

dengan yang diharapkan atau tidak. Simulasi pengujian tertuang pada gambar 4.40.

CENTOS 7 SERVER

IPTABLES FIREWALLSQUID TRANSPARENT PROXY

INTERNET

HTTP / Port 80

Client

Client

Client

TCP, UDP, ICMP

HTTP, HTTPS

Gambar 4. 40 Simulasi Pengujian

Dari gambar dapat dijelaskan bahwa sebuah server berbasis Linux CentOS

7 akan difungsikan sebagai router, firewall dan transparent proxy. Sebuah laptop

dan virtual machine dengan menggunakan Virtual Box dipakai sebagai alat untuk

simulasi. Penghubung antara internet, server dan client menggunakan kabel

ethernet virtual yang disediakan oleh Virtual Box. Pengujian dilaksanakan tanggal

19 Oktober 2018.

Page 100: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

83

4.2.1 Firewall menggunakan IPTables

Penggunaan IPTables sebagai firewall pada server Linux CentOS 7

digunakan untuk mengatur paket-paket yang berjalan di dalam jaringan

perusahaan. Paket-paket tersebut disesuaikan dengan rules yang didapat

dari kebijakan perusahaan untuk menghindari pemakaian resources

berlebih pada jaringan ketika terjadi miss konfigurasi, menghalau paket

yang dapat membahayakan jaringan dan sistem di dalam perusahaan, serta

membagikan koneksi internet kepada client yang tentunya harus sesuai

dengan rules yang ditetapkan perusahaan. Berikut hasil dari simulasi

firewall dengan IPTables:

Client dapat melakukan ping kepada server, dimana ping

menggunakan protokol ICMP.

Gambar 4. 41 Client Ping ke Server

Page 101: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

84

Server dapat melakukan ping kepada client, dimana ping

menggunakan protokol ICMP.

Client dapat melakukan ping ke interface public yang dimiliki

oleh server.

Gambar 4. 42 Server Ping ke Client

Gambar 4. 43 Client ping ke interface public server

Page 102: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

85

Client dapat mengakses internet lewat browser.

4.2.2 Transparent Proxy menggunakan Squid

Penggunaan Squid sebagai transparent proxy dibutuhkan untuk melakukan

intercept pada protokol http di port 80. Ketika simulasi ini dijalankan semua paket

pertama kali melewait rules IPTables terlebih dahulu. Jika ditemukan protokol TCP

dari private network maupun public network yang memiliki service http di port 80

melewati server, maka IPTables akan melakukan redirect ke transparent proxy

untuk diproses selanjutnya menggunakan rules yang sudah ditetapkan pada Squid.

Jika terdapat alamat website yang menggunakan protokol http sesuai dengan isi dari

blocking list dan berada dalam waktu dimana tidak boleh mengakses website

tersebut, yaitu pada hari Senin s/d Jumat, mulai jam 09.00 sampai jam 16.00, yang

sudah diatur dalam Squid, maka koneksi akan diblokir secara otomatis, sehingga

client tidak bisa mengakses website tersebut. Berikut hasil dari simulasi transparent

proxy dengan Squid:

Gambar 4. 44 Client dapat akses Internet

Page 103: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

86

Akses ke portal berita detik.com diluar waktu yang sudah

ditentukan oleh Squid.

Akses ke portal berita detik.com didalam waktu yang sudah

ditentukan oleh Squid

Gambar 4. 45 Akses website detik.com diluar rules

Gambar 4. 46 Akses website detik.com didalam rules

Page 104: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

87

Akses ke website anime di nekonime.tv diluar waktu yang

ditentukan oleh Squid.

Akses ke website anime di nekonime.tv didalam waktu yang

ditentukan oleh Squid.

Gambar 4. 47 Akses website nekonime.tv diluar rules

Gambar 4. 48 Akses website di nekonime.tv diluar rules

Page 105: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

88

BAB V

KESIMPULAN

5.1 Kesimpulan

Kesimpulan yang didapat dari Implementasi IPTables dan Squid sebagai

Firewall dan Transparent Proxy jaringan di PT. DMC Teknologi Indonesia adalah:

1. Implementasi firewall dan transparent proxy ini dibuat untuk

mengamankan jaringan dan sistem di dalam perusahaan, serta mengatur

paket-paket yang berjalan di dalamnya agar disesuaikan dengan rules

yang ditetapkan oleh perusahaan.

2. Implementasi topologi DMZ (Demilitarized Zone) sangat membantu

sebagai tindakan preventif menghadapi serangan dari dalam maupun

luar jaringan atau sistem, di ruang lingkup perusahaan.

3. Linux CentOS 7 mampu menjadi sistem operasi yang sangat handal

ketika digunakan sekaligus untuk server, router, firewall, dan

transparent proxy dalam ruang lingkup perusahaan.

4. Perusahaan mampu menekan biaya (cost down) khususnya untuk

Departemen IT dengan menggunakan satu server yang dapat

diimplementasikan menjadi router, firewall¸dan transparent proxy

sehingga tidak perlu menyediakan perangkat tambahan untuk setiap

fungsi tersebut.

Page 106: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

89

5.2 Saran

1 Menggunakan dedicated firewall berupa hardware seperti Fortinet

Fortigate Firewall atau Juniper SRX series, dimana didalamnya sudah

terdapat fitur-fitur security pada level advance untuk mengamankan

sistem atau jaringan di dalam perusahaan menjadi lebih secure lagi.

2 Mengaktifkan fitur firewall pada Mikrotik yang digunakan di

perusahaan yang terhubung langsung dari router ISP (Internet Service

Provider) agar jaringan atau sistem di dalam perusahaan memiliki dua

buah firewall yang berjalan.

3 Terapkan lebih banyak rules kepada client dalam hal penggunaan

internet.

4 Berikan penyuluhan kepada semua karyawan bagaimana menggunakan

internet dengan baik dan bijak sesuai dengan aturan perusahaan, serta

bagaimana cara untuk menghindari hal-hal yang tidak diinginkan

selama mengakses internet di ruang lingkup perusahaan.

Page 107: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

90

DAFTAR PUSTAKA

Aini, Q., & Amrizal, V. (2010). Implementasi IP-Tables Firewall pada Linux

sebagai Sistem Keamanan Jaringan yang Handal. Jurnal Sistem Informasi,

3(1), 1–10.

Azikin, A. (2011). Debian GNU/Linux. Bandung: Informatika Bandung.

Distribusi Linux. (n.d.). Retrieved from

https://id.wikipedia.org/wiki/Distribusi_Linux

Irsyadi, Y. F. Al. (2012). Implementasi Squid Server Pada Proxy Cache Video.

Jurnal Emitor, 12(01), 16–25.

Kristanto, A. (2003). Jaringan Komputer. Yogyakarta: GRAHA ILMU.

Musajid, A. (2016). CentOS : Panduan Singkat Membangun Server. Jasakom.

Purbo, O. W. (2008). Panduan Mudah Merakit + Menginstal Server Linux.

Yogyakarta: ANDI.

Roji, M. F., & Sujito. (2010). Sistem Keamanan Internet Dengan Menggunakan

IPTables Sebagai Firewall, 58–70.

Sugeng, W., & Dinnarwati Putri, T. (2015). Jaringan Komputer Dengan TCP/IP.

Bandung: MODULA.

Syarif, M. (2008). Implementasi IPTables Sebagai Filtering Firewall.

Tanenbaum, A. S. (2003). Computer Netwokrs. New Jersey: Prentice Hall.

Towidjojo, R. (2016). Linux Fundamentals (Dasar Sistem Operasi Linux).

IlmuJaringan(dot)Com.

Wahab, S. A. (1991). Analisis Kebijakan; Dari Formulasi Ke Implementasi

Kebijaksanaan Negara. Jakarta: Bumi Aksara.

Yudianto, M. J. N. (2014). Jaringan Komputer dan Pengertiannya.

Page 108: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

91

Ilmukomputer.Com, 1–10. Retrieved from

http://www.unej.ac.id/files/pdf2/Ilmu-komputer-Jaringan-Komputer-Dan-

Pengertiannya.pdf

Page 109: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

92

LAMPIRAN

Command stop dan cek service firewalld

root@localhost:~$ systemctl stop firewalld

root@localhost:~$ systemctl status firewalld

Script IPTables

*nat

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A PREROUTING -i enp0s3 -p tcp --dport 80 -j DNAT --to 192.168.231.100:3128

-A PREROUTING -i enp0s8 -p tcp --dport 80 -j REDIRECT --to-port 3281

-A POSTROUTING -o enp0s3 -j MASQUERADE

-A POSTROUTING -o enp0s8 -j MASQUERADE

COMMIT

*filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -s 192.168.231.0/24 -i enp0s8 -p icmp -j ACCEPT

-A INPUT -i enp0s8 -s 192.168.231.1 -d 192.168.231.100 -p tcp -dport 22 -j

ACCEPT

Page 110: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

93

-A INPUT -s 192.168.231.0/24 -i enp0s8 -p udp -m state --state NEW -m udp --

dport 67 -j ACCEPT

-A INPUT -s 192.168.231.0/24 -i enp0s8 -j REJECT --reject-with icmp-host-

prohibited

-A INPUT -j DROP

-A FORWARD -d 192.168.231.0/24 -i enp0s8 -j DROP

-A FORWARD -s 192.168.231.0/24 -i enp0s8 -j ACCEPT

-A FORWARD -d 192.168.231.0/24 -i enp0s3 -j ACCEPT

-A FORWARD -i enp0s8 -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j DROP

-A OUTPUT -j ACCEPT

COMMIT

Command restore dan restart service IPTables

root@localhost:~$ iptables-restore iptables-firewall.server

root@localhost:~$ systemctl restart iptables.service

Command cek status IPTables

root@localhost:~$ systemctl status iptables.service

Command cek rules IPTables di Table Filter

root@localhost:~$ iptables -nvL

Command cek rules IPTables di Table NAT

root@localhost:~$ iptables -nvL -t nat

Command IP Forwarding IPv4

root@localhost:~$ echo 1 > /proc/sys/net/ipv4/ip_forward

Command install Squid

Page 111: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

94

root@localhost:~$ yum install squid

Command konfigurasi squid.conf

root@localhost:~$ nano /etc/squid/squid.conf

acl lan src 192.168.231.0/24

acl blokir dstdomain “/etc/squid/blokir.acl”

acl jam_blokir time MTWHF 09:00-16:00

deny_info https://www.dmccoltd.com/english/about_us/dti.asp blokir

http_access allow lan

http_access deny blokir jam_blokir

http_port 3128 intercept

http_port 3128 accel vhost allow-direct

visible_hostname pxy.dmcti.com

Isi file blokir.acl

root@localhost:~$ nano /etc/squid/blokir.acl

.detik.com

.tribunnews.com

.kompas.com

.liputan6.com

.kapanlagi.com

.merdeka.com

.okezone.com

.tempo.co

.bola.net

.viva.co.id

Page 112: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

95

.samehadaku.tv

.nekonime.tv

.oploverz.in

.indoxxi.vip

.pahe.in

Command parsing konfigurasi Squid

root@localhost:~$ squid -k parse

Command start dan cek status Squid

root@localhost:~$ systemctl start squid

root@localhost:~$ systemctl enable squid

root@localhost:~$ systemctl status squid

Page 113: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

96

(Purbo, 2008)(Musajid, 2016)(Aini & Amrizal, 2010)(Roji & Sujito, 2010)(Syarif,

2008)(Irsyadi, 2012)(Wahab, 1991)(Yudianto, 2014)(Tanenbaum,

2003)(Kristanto, 2003)(Sugeng & Dinnarwati Putri, 2015)(Towidjojo,

2016)(Azikin, 2011)(“Distribusi Linux,” n.d.)

Page 114: IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...

97