IMPLEMENTASI IPTABLES DAN SQUID SEBAGAI FIREWALL DAN ...
Transcript of 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
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
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
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
ii
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
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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.
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
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
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
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
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.
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
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
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
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.
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
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
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.
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
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
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
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.
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
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.
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
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
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
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),
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.
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 ..
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>
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
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.
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
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
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
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
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.
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
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.
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
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
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
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
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”
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
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
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
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.
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
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
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.
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.
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.
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.
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)
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.
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
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
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
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
62
9. Installation Summary Window
Selanjutnya diberikan sebuah Installation Summary Window yang di
dalamnya terdapat beberapa pilihan pengaturan.
Gambar 4. 9 Installation Summary Window
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
64
11. Pemilihan Lokasi Instalasi
Pilih partisi pada virtual harddisk yang sudah dibuat.
Gambar 4. 11 Pemilihan Lokasi Instalasi
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
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
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
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
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
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)
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)
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)
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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
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.
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.
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.
91
Ilmukomputer.Com, 1–10. Retrieved from
http://www.unej.ac.id/files/pdf2/Ilmu-komputer-Jaringan-Komputer-Dan-
Pengertiannya.pdf
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
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
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
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
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.)
97