Upload
danu-anugrah-pernikadilah
View
40
Download
3
Embed Size (px)
DESCRIPTION
PROYEK AKHIR D3
Citation preview
P R O Y E K A K H I R
SISTEM KEAMANAN DAN MONITORING FILE
SYSTEM PADA SERVER DENGAN OS UBUNTU
MENGGUNAKAN ARTILLERY
PROGRAM STUDI TEKNIK KOMPUTER
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK TELKOM
BANDUNG
2013
Penulis
Danu Anugrah Pernikadilah
NIM 30210342
Bismillahirrohmanirrohim
Dipersembahkan untuk kedua orang tua
Sahabat, teman serta orang - orang yang senantiasa mendukungku
LEMBAR PENGESAHAN PROYEK AKHIR
SISTEM KEAMANAN DAN MONITORING FILE SYSTEM PADA SERVER DENGAN OS UBUNTU MENGGUNAKAN ARTILLERY
Penulis Danu Anugrah NIM 30210342 Pembimbing I Mochammad Fahru Rizal Pembimbing II Tommy Eka Gautama Ketua Program Studi Henry Rossi Andrian, S.T., M.T NIP 09820562-1 Tanggal Pengesahan: 20 September 2013
PERNYATAAN
Dengan ini saya menyatakan :
1. proyek akhir ini adalah asli dan belum pernah diajukan untuk mendapatkan
gelar akademik (Ahli Madya, Sarjana, Magister dan Doktor), baik di Politeknik
Telkom maupun di perguruan tinggi lainnya;
2. karya tulis ini murni gagasan, rumusan, dan penelitian saya sendiri, tanpa
bantuan pihak lain, kecuali arahan tim pembimbing atau tim promotor atau
penguji;
3. dalam karya tulis ini tidak terdapat karya atau pendapat yang telah ditulis atau
dipublikasikan orang lain, kecuali secara tertulis dengan jelas dicantumkan
sebagai acuan dalam naskah dengan menyebutkan nama pengarang dan
dicantumkan dalam daftar pustaka;
4. mengijinkan karya tulis ini dipublikasikan oleh Politeknik Telkom, dengan tetap
mencantumkan saya sebagai penulis; dan
5. pernyataan ini saya buat dengan sesungguhnya dan apabila pada kemudian
hari terdapat penyimpangan dan ketidakbenaran dalam pernyataan ini maka
saya bersedia menerima sanksi akademik berupa pencabutan gelar yang telah
diperoleh karena karya tulis ini, serta sanksi lainnya sesuai norma yang berlaku
di Politeknik Telkom.
Bandung, 16 September 2013
Pembuat pernyataan,
Danu Anugrah Pernikadilah
i
KATA PENGANTAR
Puji syukur saya panjatkan kepada Allah SWT karena atas rahmat dan lindungannya
Proyek Akhir berjudul Sistem Keamanan Dan Monitoring File Sistem Pada Server
Dengan OS Ubuntu Menggunakan Artillery ini dapat terselesaikan .
Proyek Akhir ini membahas mengenai pembuatan dan implementasi sistem
keamanan pada server berbasis ubuntu. Dengan proyek akhir ini, diharapkan dapat
menanggulangi adanya terjadinya serangan yang ditujukan pada server melalui port
yang terbuka, dan melakukan monitoring pada file sistem pada server berbasis
layanan jaringan.
Pada kesempatan ini Penulis mengucapkan terima kasih kepada Mochammad
Fahru Rizal dan Tommy Eka Gautama yang telah dengan sabar membimbing dan
memberikan arahan pembangunan, perancangan serta penulisan dalam
menyelesaikan Proyek Akhir ini.
Dengan selesainya Proyek Akhir ini penulis berharap Proyek Akhir ini dapat
memberi manfaat dan dapat dikembangkan tidak hanya di implementasikan pada
server berbasis layanan jaringan tapi juga server server yang lain. Sehingga
keamanan pada sebuah server dapat lebih ditingkatkan,
Bandung, 27 Agustus 2013
Penulis
ii
ABSTRAK
Keamanan merupakan sebuah aspek penting dalam sebuah server. Apabila
keamanan yang diimplementasikan pada sebuah server memiliki banyak celah,
maka server tersebut akan sangat mudah untuk dibobol. Karena itulah diperlukan
sebuah sitem yang fleksibel dan mudah untuk dioperasikan, sehingga dapat
mengurangi celah keamanan yang terdapat pada sebuah server.
Masalah lain yang muncul adalah, kebanyakan sistem keamanan yang
diimplementasikan pada sebuah server membutuhkan sumber daya yang cukup
besar, beberapa sistem keamanan hanya memberikan sedikit fungsionalitas,
sehingga administrator harus menambah sistem keamanan pada server dengan
instalasi tools atau aplikasi lain untuk menunjang sistem keamanan yang sudah ada.
Hal ini menyebabkan sumber daya yang digunakan oleh sebuah server akan
semakin besar, dan berdampak pada turunnya performa layanan pada server
tersebut.
Pembangunan dan implementasi sistem keamanan dan monitoring file
menggunakan artillery ini diharapkan dapat memberikan administrator kemudahan
untuk mempersempit celah keamanan dan menjaga integritas data pada server
yang ditangani.
Kata Kunci : Server, Website, Administrator, Monitoring File, Artillery
iii
ABSTRACT
Security is an important aspect of a server. If the security that implemented on a
server had many loopholes, then the server will be very easy to be cracked. That's
why it needs a system that is flexible and easy to operate, so it can reduce the
vulnerabilities found on a server.
Another problem that arises is, most security systems that implemented on a server
requires considerable resources, a security system offers little functionality, so the
administrator must add the security system on a server by Installing another tools
or other applications to support existing security systems . This causes the resources
used by a server will be greater, and the impact on the decrease in the performance
of services on the server.
Development and implementation of security systems and monitoring file using
artillery is expected to provide convenience for the administrator, narrow the
security gap and maintain the integrity of the data on the server.
Keywords: Server, Website, Administrator, Monitoring File, Artillery
iv
DAFTAR ISI
KATA PENGANTAR ...................................................................................................................... i
ABSTRAK .................................................................................................................................... ii
ABSTRACT ................................................................................................................................. iii
DAFTAR ISI ................................................................................................................................ iv
DAFTAR GAMBAR ..................................................................................................................... vi
DAFTAR TABEL ......................................................................................................................... vii
DAFTAR LAMPIRAN ................................................................................................................. viii
BAB 1 PENDAHULUAN .............................................................................................................. 9
1.1 Latar Belakang ................................................................................................................. 9
1.2 Rumusan Masalah.......................................................................................................... 10
1.3 Tujuan ............................................................................................................................ 10
1.4 Batasan Masalah ............................................................................................................ 10
1.5 Definisi Operasional ....................................................................................................... 10
1.6 Metode Pengerjaan ....................................................................................................... 11
1.7 Jadwal Pengerjaan ......................................................................................................... 12
BAB 2 TINJAUAN PUSTAKA ..................................................................................................... 13
2.1 Server ............................................................................................................................. 13
2.2 Intrusion Detection System and Intrusion Prevention System ....................................... 14
2.2.1 Artillery ....................................................................................................... 16
2.3 Website .......................................................................................................................... 17
BAB 3 ANALISIS DAN PERANCANGAN..................................................................................... 19
3.1 Gambaran Sistem Saat Ini .............................................................................................. 19
3.2 Analisis Kebutuhan Sistem ............................................................................................. 19
3.2.1 Analisis Pengguna Sistem ........................................................................... 19
3.2.2 Topologi Jaringan ....................................................................................... 20
3.2.3 Desain Sistem ............................................................................................. 21
3.3 Kebutuhan Perangkat Keras dan Perangkat Lunak ........................................................ 22
3.3.1 Pengembangan Sistem ............................................................................... 22
BAB 4 IMPLEMENTASI DAN PENGUJIAN ................................................................................. 23
v
4.1 Implementasi ................................................................................................................. 23
4.1.1 Implementasi File Sistem ........................................................................... 23
4.1.2 Implementasi Layanan Pada Server ........................................................... 27
4.2 Pengujian ....................................................................................................................... 29
4.2.1 Skenario Pengujian ..................................................................................... 29
4.2.2 Pengujian .................................................................................................... 30
BAB 5 PENUTUP ...................................................................................................................... 35
5.1 Kesimpulan .................................................................................................................... 35
5.2 Saran .............................................................................................................................. 35
DAFTAR REFERENSI .................................................................................................................. 36
LAMPIRAN................................................................................................................................ 37
vi
DAFTAR GAMBAR
Gambar 2. 1 Topologi Letak Server .......................................................................... 13
Gambar 3. 1 Topologi Jaringan ................................................................................ 20
Gambar 3. 2 Desain Sistem Emulasi Port ................................................................ 21
Gambar 3. 3 Desain Port Layanan ........................................................................... 21
Gambar 4. 1 Hasil Netstat........................................................................................ 25
Gambar 4. 2 Port Yang Diemulasi Artillery .............................................................. 30
Gambar 4. 3 Koneksi Terputus Setelah Telnet ........................................................ 31
Gambar 4. 4 IP masuk dalam banlist ....................................................................... 31
Gambar 4. 5 IP masuk dalam Iptables ..................................................................... 31
Gambar 4. 6 Direktori yang dimonitoring ............................................................... 32
Gambar 4. 7 Proses Backup Index.html ................................................................... 33
Gambar 4. 8 File Backup.txt..................................................................................... 33
Gambar 4. 9 Halaman danu.com telah berubah ..................................................... 34
Gambar 4. 10 File Log Yang Mencatat Perubahan .................................................... 34
file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561442file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561443file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561444file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561445
vii
DAFTAR TABEL
Tabel 1. 1 Jadwal Pengerjaan .................................................................................... 12
Tabel 2. 1 Perbandingan IPS & IDS ............................................................................ 15
Tabel 2. 2 Metode IPS & IPS ...................................................................................... 16
Tabel 3. 1 Pengalamatan Perangkat .......................................................................... 20
Tabel 3. 2 Kebutuhan Perangkat Keras ..................................................................... 22
Tabel 3. 3 Kebutuhan Perangkat Lunak ..................................................................... 22
viii
DAFTAR LAMPIRAN
Lampiran 1. 1 Random Packet Setelah Telnet........................................................... 37
Lampiran 1. 2 Hasil Scan Port .................................................................................... 37
Lampiran 1. 3 Hasil Scan Service ............................................................................... 38
Lampiran 1. 4 Hasil Scan OS ...................................................................................... 38
Lampiran 1. 5 Tampilan Website ............................................................................... 39
Lampiran 1. 6 Tampilan Halaman Maintenance ....................................................... 39
Lampiran 1. 7 Konfigurasi Crontab ............................................................................ 40
Lampiran 1. 8 Isi File Log ........................................................................................... 40
Lampiran 1. 9 Konfigurasi Artillery ............................................................................ 40
file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561475file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561476file:///C:/Users/Danu%20Anugrah/Documents/PA%20BARU%20November%202012%20-%20MAHASISWA/danu/Buku%20PA%20Danu.docx%23_Toc366561477
9
1 BAB 1
PENDAHULUAN
1.1 Latar Belakang
Server merupakan bagian penting dalam yang menyediakan layanan berupa web
services, ftp, mail, dan sebagainya. Dengan banyaknya akses layanan ke sebuah
server akan menjadikan server tersebut rentan terhadap serangan dari orang
orang yang tidak bertanggung jawab, untuk itu dibutuhkan sebuah sistem
keamanan yang membuat server tersebut aman, serta dapat menunjang integritas
layanan yang disediakan, menjaga kerahasiaan data dan ketersediaan data.
Untuk mendukung keamanan pada sebuah server, banyak aplikasi dan konfigurasi
yang dapat diterapkan. Namun banyak dari aplikasi dan konfigurasi tersebut yang
memerlukan waktu dan resource yang besar dalam implementasinya, terkadang
sistem yang diterapkan ternyata masih memiliki banyak celah yang dapat dimasuki,
sehingga membuat server makin tidak aman.
Artillery merupakan sebuah alternatif sistem keamanan yang dapat
diimplementasikan dalam sebuah server. Artillery diimplementasikan pada server
berbasis UNIX dan membutuhkan resource yang relatif kecil pada implementasinya,
kurang lebih menggunakan 1% CPU Usage dan konsumsi RAM antara empat sampai
lima Mbyte. Dengan fungsionalitas untuk melakukan emulasi port dan melakukan
monitoring pada file yang ditentukan.
Atas dasar permasalahan tersebut, maka diangkat proyek akhir dengan judul
Sistem Keamanan dan Monitoring File Sistem Pada Server Dengan OS Ubuntu
Menggunakan Artillery sebagai alternatif sistem keamanan pada sebuah server.
10
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, maka rumusan masalah dalam Proyek Akhir ini
adalah :
a. Bagaimana membangun sistem keamanan dengan resource yang terbatas?
b. Bagaimana mengimplementasikan artillery sebagai sistem keamanan pada
server?
1.3 Tujuan
Adapun tujuan dari pembuatan Proyek Akhir ini adalah :
a. Membangun sistem keamanan pada server menggunakan Artillery dan
implementasinya pada server.
b. Melakukan pengujian terhadap sistem keamanan yang telah
diimplementasikan untuk mengetahui apakah fungsi Artillery yang
diterapkan dapat berjalan dengan baik atau tidak.
1.4 Batasan Masalah
Adapun batasan masalah pada proyek ini adalah sebagai berikut:
a. Sistem keamanan yang dibahas mencakup fungsi emulasi port pada
Artillery dan monitoring file system
b. Dalam penerapan proyek ini server dan client berada dalam satu jaringan
dan tidak membahas IP public.
c. Menggunakan pengalamatan static pada server dan client
d. Pengujian terhadap sistem keamanan yang telah diimplementasikan adalah
dengan melakukan perubahan pada file system yang dimonitoring oleh
Artillery.
1.5 Definisi Operasional
Definisi operasional Proyek Akhir "Sistem Keamanan Dan Monitoring File Sistem
Pada Server Dengan OS Ubuntu Menggunakan Artillery" adalah sebagai berikut:
a. Server adalah sebuah sistem atau perangkat yang mempunyai fungsi
khusus untuk melakukan tugas memberikan layanan kepada klien. Pada
jaringan komputer, server merupakan sebuah komputer yang digunakan
11
untuk menyediakan program/aplikasi/data tertentu untuk digunakan oleh
klien.
b. Artilley adalah sebuah tools honeypot/prevention/monitoring sistem
berfungsi untuk emulasi port dan monitoring port tersebut, apabila terjadi
koneksi pada port yang diemulasi maka alamat yang melakukan koneksi
akan di blacklist.
c. Monitoring File Sistem merupakan sebuah fungsi untuk memantau adanya
perubahan pada file yang telah dikonfigurasi dan akan mencatat perubahan
yang terjadi pada file yang dipantau tersebut.
1.6 Metode Pengerjaan
Langkah-langkah pengerjaan "Sistem Keamanan Dan Monitoring File Sistem Pada
Server Dengan OS Ubuntu Menggunakan Artillery" adalah sebagai berikut:
a. Studi literatur
b. Studi literatur dilakukan dengan mempelajari beberapa referensi yang
mampu menunjang untuk melakukan penelitian maupun pengerjaan
proyek akhir. Referensi dari internet, serta sumber-sumber lain yang
berhubungan dengan penelitian dan pengerjaan proyek akhir yang
dilakukan.
c. Analisis kebutuhan sistem dan desain sistem
1) Merancang fasilitas yang ada pada server, web server dan
implementasi sistem keamanan pada server.
2) Perancangan diagram topologi jaringan, alur pengujian, konfigurasi
jaringan, dan konfigurasi layanan.
d. Membangun sistem
1) Melakukan instalasi sistem operasi, instalasi perangkat lunak,
konfigurasi jaringan, dan konfigurasi layanan.
2) Melakakukan Konfigurasi sistem keamanan.
3) Pembuatan fungsi tambahan untuk menunjang sistem keamanan
yang diimplementasikan.
e. Pengujian sistem
1) Melakukan pengujian konfigurasi jaringan dan konfigurasi layanan.
12
2) Melakukan pengujian sistem keamanan pada server dan pengujian
sistem tambahan yang diimplementasikan.
f. Penyusunan laporan
Pendokumentasian dilakukan selama waktu penyusunan Proyek Akhir.
1.7 Jadwal Pengerjaan
Jadwal pengerjaan proyek akhir ini adalah sebagai berikut.
Tabel 1. 1
Jadwal Pengerjaan
NO NAMA KEGIATAN
TAHUN 2013
BULAN
MEI JUNI JULI AGUSTUS
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Studi literatur
2 Analisis kebutuhan sistem
3 Membangun sistem
4 Pengujian sistem
5 Penyusunan laporan
13
2 BAB 2
TINJAUAN PUSTAKA
2.1 Server
Server diambil dari kata serve yang berarti melayani, Server adalah sebuah
sistem atau perangkat yang mempunyai fungsi khusus untuk melakukan tugas
memberikan layanan kepada client. Pada jaringan komputer, server adalah sebuah
komputer yang digunakan untuk menyediakan program / aplikasi / data tertentu
yang digunakan oleh client. Berdasarkan fungsinya server dibagi lagi menjadi
beberapa macam, seperti Web server, FTP Server, DHCP Server, File Server,
Proxy Server, dll. Setiap server secara khusus mempunyai fungsi yang berbeda
antara satu dan yang lain, dan tidak tertutup kemungkinan dalam satu komputer
dapat berfungsi menjadi beberapa server sekaligus.
Gambar 2. 1
Topologi Letak Server
Karakteristik server :
a. Pasif
b. Menunggu request dari Client
c. Menerima Koneksi dari banyak Client
Menerima request, memproses dan mengirimkan balasan berupa layanan sesuai
permintaan dari Client. (Yadav & Singh, 2009)
14
2.2 Intrusion Detection System and Intrusion Prevention System
Intrusion Detection System (IDS) merupakan sebuah proses monitoring events yang
terjadi pada sistem komputer atau jaringan dan menganalisis tanda tanda adanya
kemungkinan adanya insiden yang terjadi, yang berupa pelanggaran atau ancaman
kebijakan keamanan komputer.
Intrusion Prevention System (IPS) adalah sebuah aplikasi yang bekerja untuk
monitoring traffic jaringan, mendeteksi aktivitas yang mencurigakan, dan
melakukan pencegahan dini terhadap intrusi atau kejadian yang dapat membuat
jaringan menjadi berjalan tidak seperti sebagaimana mestinya. Bisa jadi karena
adanya serangan dari luar, dan sebagainya.
Produk IPS sendiri dapat berupa perangkat keras (hardware) atau perangkat lunak
(software). Intrusion detection and prevention system (IDPS) berfokus pada proses
identifikasi kemungkinan pelanggaran, logging, dan usaha untuk menghentikan
proses tersebut. Beberapa organisasi menggunakan IDPS untuk keperluan lain,
seperti mengidentifikasi kebijakan keamanan sistem, mendokumentasikan
ancaman yang ada dan mencegah individu dari melanggar peraturan, IDPS bisa
dibilang merupakan kebutuhan tambahan untuk hampir semua organisasi.
IDPS biasanya mencatat informasi yang mengenai kejadian yang sedang
diobservasi, memberikan notifikasi kepada administrator tentang adanya kejadian
penting, dan membuat laporan. Beberapa IDPS juga mampu untuk merespon
ancaman yang terdeteksi dengan cara berusaha untuk menghentikan ancaman
tersebut. Mereka menggunakan beberapa cara, termasuk mengehentikan
serangan, mengubah kebijakan keamanan, atau mengubah konten serangan.
(Scarfone & Mell, 2007)
15
Tabel 2. 1
Perbandingan IPS & IDS
IDS IPS
Kegunaan IDS didesain hanya untuk
mengidentifikasi dan
memeriksa semua paket yang
lewat, jika ditemukan
keganjilan maka akan
mentrigger alarm.
Mengkombinasikan Firewall,
Policy, Qos dan IDS dengan
baik. IPS memang dibuat untuk
dapat mentrigger alarm dan
melakukan allow, block, log.
Aktivitas Mendeteksi serangan hanya
disaat serangan tersebut telah
masuk ke jaringan dan tidak
akan melakukan sesuatu untuk
menghentikannya
Early detection, teknik yang
proaktif, mencegah sedini
mungkin serangan masuk ke
jaringan, dan akan
menghentikannya jika
teridentifikasi.
Komponen Tidak dapat mendeteksi semua
aktivitas malicious dan malware
setiap saat yang akan
mengakibatkan false negative
Memungkinkan dapat
mendeteksi new signature dan
behavior attack, dan
mengakibatkan rendahnya false
negative
IDS dan IPS memiliki metode yang sama untuk mengetahui sebuah ancaman, yaitu :
signature-based dan anomaly-based
16
Tabel 2. 2
Metode IPS & IPS
Signature Based Anomaly Based
Keuntungan Akurat, cepat karena
hanya melakukan
komparasi insiden dengan
databasenya.
Database ancaman lebih
besar, melakukan analisa
aktivitas yang terjadi
sehingga kemungkinan
ancaman masuk lebih
kecil, dapat
mengidentifikasi serangan
dan menyimpannya
sebagai pola
Kekurangan Database harus diupdate
apabila ada pola serangan
baru, kemampuan untuk
pengamanan tergantung
pada aturan yang
ditentukan, serangan
yang dipecah menjadi
beberapa bagian tidak
dapat terdeteksi
Terlalu banyak false
positive, membutuhkan
lebih banyak resource
untuk menganalisa
aktivitas.
2.2.1 Artillery
Artillery merupakan sebuah tool untuk mendeteksi attackers sebelum mereka
memiliki kesempatan untuk menyerang keseluruhan sistem, termasuk dalam
katagori signature based IDPS. Artillery merupakan sebuah tool open-source yang
ditulis dalam bahasa pemrograman python. Tujuan utama dari artillery adalah
menyediakan kombinasi dari honeypot, file-system monitoring, system hardening
dan real-time threat intelligence feeds, dan secara keseluruhan untuk membuat
17
sebuah sistem keamanan untuk server yang komperhensif. Artillery dibuat untuk
menjadi tambahan keamanan pada server dan membuat server tersebut menjadi
sulit untuk dibobol oleh penyerang. Dengan konsep yang sederhana, artillery akan
memonitor file system untuk mencari perubahan yang terjadi, jika perbuahan
tersebut terdeteksi maka sebuah notifikasi akan dikirimkan kepada pemilik server,
apabila terjadi SSH bruteforce, notifikasi akan dikirimkan dan sekaligus blacklist IP
address penyerang. (Trustedsec, 2012)
2.3 Website
Website (situs web) atau bisa juga disebut Web adalah halaman yang ditampilkan
di internet yang memuat informasi tertentu (khusus). Web pertama kali
diperkenalkan pada tahun 1992. Hal ini sebagai hasil usaha pengembangan yang
dilakukan CERN di Swiss. Internet dan web adalah dua hal yang berbeda. Internet
yaitu yang dapat menampilkan web-nya, sedangkan web adalah yang
ditampilkannya yang berupa susunan dari halaman-halaman yang menggunakan
teknologi web dan saling berkaitan satu sama lain.
Suatu standar teknologi web saat ini sudah tersusun, meskipun penerapannya
belum didukung oleh seluruh pengembang web. Standar ini disusun oleh suatu
badan yaitu World Wide Web Consortium (W3C). Standar ini dibutuhkan karena
semakin banyaknya variasi dalam teknologi web sehingga terkadang satu sama lain
tidak kompatibel.
Secara umum, teknologi desain web terbagi menjadi beberapa layer (lapisan), yaitu
structural layer, presentation layer dan behavioral layer.
a. Structural Layer
Layer ini berhubungan dengan struktur dokumen-dokumen web.
Bagaimana sebuah dokumen tersusun, format apa yang dipakai, tanda atau
mark up apa yang digunakan merupakan bagian dari layer ini. Standar
teknologi yang direkomendasikan saat ini adalah Extensible Hypertext
Markup Language (XHTML) dan Extensible Markup Language (XML).
XHTML adalah HTML yang ditulis ulang dengan aturan-aturan yang lebih
18
ketat yang mengacu pada XML. Sedangkan XML adalah sekumpulan aturan
untuk menyusun bahasa markup.
b. Presentation Layer
Layer ini berhubungan dengan bagaimana mengatur tampilan dokumen
pada layar, suara yang keluar, atau bagaimana format percetakan
dokumen. Pada teknologi web lama, bagian ini menyatu dengan structural
layer. Tetapi pada standar baru, layer ini disarankan untuk dipisah. Yang
termasuk dalam teknologi ini adalah Cascading Styles Sheets (CSS).
c. Behavioral Layer
Layer ini berhubungan dengan masalah penggunaan bahasa skrip dan
pemrogramannya untuk tujuan meningkatkan sisi interaktif dan dinamis
halaman web. Yang termasuk dalam layer ini adalah Document Object
Model (DOM) dan JavaScript. DOM memungkinkan suatu dokumen atau
skrip untuk mengakses atau meng-update isi, struktur, dan style dari
dokumen. JavaScript merupakan teknologi yang cukup lama dan tetap
digunakan untuk menambah dokumen menjadi lebih hidup. (Yadav &
Singh, 2009)
19
3 BAB 3
ANALISIS DAN PERANCANGAN
3.1 Gambaran Sistem Saat Ini
Untuk mendukung keamanan pada sebuah server, banyak aplikasi dan konfigurasi
yang dapat diterapkan. Namun banyak dari aplikasi dan konfigurasi tersebut yang
memerlukan waktu dan resource yang besar dalam implementasinya. Seorang
administrator juga tidak bisa selalu berada di depan server untuk mengamati apa
yang terjadi setiap saat, dibutuhkan sistem keamanan yang dapat melakukan
memperkecil celah sistem tersebut dan melakukan monitoring file tertentu sesuai
dengan kebutuhan administrator, serta dapat mengambil keputusan untuk
mencegah atau mengatasi terjadinya suatu pelanggaran pada server dimana sistem
tersebut diimplementasikan.
3.2 Analisis Kebutuhan Sistem
3.2.1 Analisis Pengguna Sistem
Subjek yang berperan dalam penggunaan dan implementasi sistem dalam proyek
akhir ini adalah seorang system administrator yang bertanggung jawab menjaga
dan memelihara, konfigurasi, dan sistem operasi yang dapat diandalkan, terutama
multi-users computer, seperti server. Kriteria yang dibutuhkan adalah :
a. Mempunyai kemampuan dasar Linux
b. Mengerti mengenai shell programming
c. Memahami cara kerja Artillery
d. Mengerti konfigurasi layanan pada sebuah server
20
3.2.2 Topologi Jaringan
Gambar 3. 1
Topologi Jaringan
Dalam pembuatan proyek akhir ini penulis menggunakan dua buah laptop, satu
sebagai server dan satu sebagai client, untuk penghubung antara server dan client
menggunakan kabel cross. Server dikonfigurasi menjadi web server dan
menggunakan Artillery dan monitoring script sebagai sistem keamanan. Client
digunakan untuk melakukan uji coba layanan dan uji coba sistem keamanan yang
diiimplementasikan.
Tabel 3. 1
Pengalamatan Perangkat
No. Perangkat Alamat Perangkat
1 Client 192.168.1.21/24
2 Server 192.168.1.15/24
21
3.2.3 Desain Sistem
Desain sistem keamanan yang dibangun, Artillery diimplementasikan pada server.
Saat client melakukan scanning ke server, port yang muncul adalah port yang
digunakan oleh layanan yang berjalan pada server dan port yang diemulasi oleh
Artillery. Apabila client melakukan koneksi ke port yang di emulasi oleh Artillery,
maka secara otomatis Artillery akan melakukan blacklist terhadap IP Address client
tersebut.
Apabila client melakukan akses ke port yang tidak diemulasi oleh Artillery maka,
Artillery tidak akan mengambil tindakan apapun terhadap client tersebut.
Gambar 3. 2
Desain Sistem Emulasi Port
Gambar 3. 3
Desain Port Layanan
22
3.3 Kebutuhan Perangkat Keras dan Perangkat Lunak
3.3.1 Pengembangan Sistem
Berdasarkan topologi yang akan dibangun, maka kebutuhan dalam Proyek Akhir ini
adalah sebagai berikut :
3.3.1.1 Perangkat Keras
Tabel 3. 2
Kebutuhan Perangkat Keras
No. Nama Jumlah Spesifikasi yang Digunakan
1. Laptop
(Sebagai
Server)
1 a. Mendukung Wireless/LAN
b. RAM 2 GB
c. Prosessor AMD Dual Core
d. Harddisk 230 GB
2. Notebook
(Client)
1 a. Mendukung Wireless/LAN
b. Sistem Operasi
Windows/Linux
3.3.1.2 Perangkat Lunak
Tabel 3. 3
Kebutuhan Perangkat Lunak
No. Perangkat Lunak Keterangan
1. Sistem Operasi Ubuntu
Desktop 12.04 32bit
a. Digunakan Sebagai Server
b. Digunakan untuk membangun
script monitoring
2. Sistem Operasi Windows 7 Digunakan sebagai client
3. Artillery Sistem keamanan yang
diimplementasikan
4. Dns server Bind9
5. Webserver Apache2
23
# svn co http://svn.secmaniac.com/artillery artillery/
# python setup.py
# apt-get install subversion
# nano config
4 BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Implementasi "Sistem Keamanan dan Monitoring File Sistem Pada Server Dengan
OS Ubuntu Menggunakan Artillery" terbagi menjadi dua bagian, yaitu implementasi
sistem keamanan dan pembuatan script monitoring, serta implementasi layanan
pada server.
4.1.1 Implementasi Artillery
Artillery digunakan untuk emulasi port pada server, port ini nantinya yang akan
digunakan sebagai jalan masuk oleh penyerang.
a. Install Subversion
Download dan Install aplikasi Subversion dengan perintah
b. Download Artillery menggunakan Subversion
c. Masuk ke folder hasil download artillery dan eksekusi intaller artillery
dengan perintah
d. Setelah file setup.py dijalankan Artillery akan masuk kedalam direktori
/var/artillery, buka file config pada direktori tersebut
24
# DO YOU WANT TO TURN ON THE HONEYPOT HONEYPOT=YES # # DO YOU WANT TO AUTOMATICALLY BAN ON THE HONEYPOT HONEYPOT_BAN=YES # WHITELIST IP ADDRESSES, SPECIFY BY COMMAS ON WHAT IP ADDRESSES YOU WANT TO WHITELIST WHITELIST_IP=127.0.0.1,localhost # # PORTS TO SPAWN HONEYPOT FOR PORTS="135,445,22,23,8080,25,53,110" # EMAIL_ALERTS=OFF #
# python restart_server.py
# # DETERMINE IF YOU WANT TO MONITOR OR NOT MONITOR=YES # # THESE ARE THE FOLDERS TO MONITOR, TO ADD MORE, JUST DO "/root","/var/", etc. MONITOR_FOLDERS="/var/www","/etc/","/home/danu/webdanu" # # BASED ON SECONDS, 2 = 2 seconds. MONITOR_FREQUENCY=60 # # EXCLUSE CERTAIN DIRECTORIES OR FILES. USE FOR EXAMPLE: /etc/passwd,/etc/hosts.allow EXCLUDE= #
e. Edit file konfigurasi Artillery untuk emulasi port
f. Edit file konfigurasi Artillery untuk monitoring File System
g. Save file konfigurasi dan restart Artillery
25
# netstat antp | grep python
h. Cek apakah port yang dikonfigurasi telah muncul dengan perintah
Nantinya akan muncul keterangan seperti gambar dibawah
Jika port yang dikonfigurasi telah muncul seperti gambar diatas, maka
emulasi port pada server menggunakan Artillery telah berhasil.
Gambar 4. 1
Hasil Netstat
26
#!/bin/bash a=`cat /home/danu/webdanu/index.html` b=`cat /home/danu/poltek/backup/backup.txt`; if [ "$a" != "$b" ]; then ./maintenance.sh cd /home/danu/poltek diff -c /home/danu/webdanu/index.html /home/danu/poltek/backup/backup.txt > /home/danu/poltek/log/logs.txt fi
#!/bin/bash echo -n " choose file : " read file; clear echo -n " check /home/danu/poltek/backup directory for the backup file " echo "" rsync $file /home/danu/poltek/backup/backup.txt
/usr/sbin/a2dissite danu /usr/sbin/a2ensite maintenance /etc/init.d/apache2 restart
4.1.1.1 Shell Script Monitoring
Shell script monitoring digunakan untuk monitoring file index.html agar apabila
terjadi perubahan pada file index.html tersebut halaman web dapat diganti dengan
halaman maintenance.
a. Monitoring Script digunakan untuk memantau file index.html, setiap 1
menit script ini akan dijalankan dan apabila menemukan perubahan
pada file yang tersebut, maka semua halaman website akan digantikan
dengan halaman maintenance.
Setelah koneksi diputuskan script.sh, script tersebut ini akan melakukan
perbandingan antara file asli dan file backup untuk menemukan
perubahan yang terjadi pada file yang index.html, perubahan tersebut
akan dimasukkan kedalam file logs.txt dan memanggil script
maintenance.sh untuk mengganti konfigurasi apache2
b. Backup Script digunakan untuk melakukan backup file index.html, file
backup ini nantinya yang akan menjadi pembanding dengan file asli,
untuk menentukan adanya perubahan atau tidak.
27
# crontab -e * * * * * /home/danu/poltek/script.sh
# nano /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.15 netmask 255.255.255.0 gateway 192.168.1.1 network 192.168.1.0
# apt-get install bind9
# nano /etc/bind/named.conf.local Zone danu.com { Type master; File /etc/bind/db.danu; };
c. Crontab digunakan untuk melakukan penjadwalan eksekusi shell script
yang telah dibuat, setiap satu menit file script.sh akan dijalankan.
Dengan perintah diatas, crontab akan melakukan eksekusi file script.sh
yang berada pada direktori /home/danu/poltek setiap 1 menit
4.1.2 Implementasi Layanan Pada Server
Layanan yang diimplementasikan pada server yang digunakan adalah layanan
website, pengujian dilakukan dengan melakukan perubahan terhadap file index
website yang nantinya akan dimonitoring oleh script yang telah dibuat.
4.1.2.1 Install Bind9
Install Bind9 untuk konfigurasi dns, sehingga website yang akan dibangun dapat
diakses melalui domain maupun ip.
a. Install bind9
b. Konfigurasi /etc/network/interfaces untuk set ip website yang dibuat
c. Konfigurasi file /etc/bind/named.conf.local
28
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.danu.com. root.danu.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS danu.com. @ IN A 192.168.1.15 ns IN A 192.168.1.15 www IN CNAME danu.com
127.0.0.1 localhost 127.0.0.1 danu-AO725 192.168.1.15 danu.com # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.1.15
# apt-get install apache2
# a2dissite default
d. Konfigurasi DNS db.danu
e. Konfigurasi filehosts dan resolv.conf di direktori /etc
4.1.2.2 Install Apache2
Install Apache2, Apache2 digunakan sebagai web server.
a. Nonaktifkan site default
29
# cd /home/danu # mkdir webdanu #cp /var/www/index.html /home/danu/webdanu # cd /etc/apache2/sites-available # cp default danu
# nano networksecurity * * * * *
ServerAdmin [email protected] Servername www.danu.com DocumentRoot /var/www/danu . Save file . # a2ensite networksecurity
b. Buat site baru dan aktifkan
4.2 Pengujian
4.2.1 Skenario Pengujian
Skenario pengujian untuk Proyek Akhir "Sistem Kemanan dan Monitoring File
Sistem Pada Server Dengan OS Ubuntu Menggunakan Artillery" adalah sebagai
berikut:
a. Administrator akan melakukan konfigurasi pada Artillery untuk
menentukan port yang akan di emulasi pada server, dan melakukan
konfigurasi file system yang dimonitoring.
b. Setelah Artillery dan script monitoring dikonfigurasi, user akan melakukan
koneksi ke server dan melakukan scanning.
c. Setelah proses scanning, user akan melakukan telnet ke port yang terbuka
untuk mencoba masuk kedalam server.
d. Jika user melakukan telnet ke port yang diemulasi oleh Artillery, maka user
tersebut akan terkena larangan akses ke server.
e. Setelah pengujian konfigurasi Artillery, user dikondisikan telah berhasil
memasuki sistem melalui celah yang ada pada server, dan berusaha
mengubah file sistem yang dimonitoring.
30
f. Setelah terjadi perubahan, dalam rentang waktu satu menit perubahan
tersebut diketahui oleh Artillery maka perubahan akan dicatat dalam file
log.
g. Detail perubahan akan ada pada direktori /var/artillery/logs
h. Melakukan perubahan pada file /home/danu/index.html
4.2.2 Pengujian
Pengujian terdiri dari dua bagian yaitu pengujian konfigurasi sistem Artillery dan
monitoring file system.
4.2.2.1 Scanning
User melakukan scanning menggunakan aplikasi nmap untuk melihat port yang
terbuka pada server.
4.2.2.2 Telnet Testing
User melakukan telnet pada server dengan tujuan ip dan port yang terbuka dari
server. Beberapa port yang terbuka merupakan port yang diemulasi oleh Artillery,
user akan melakukan telnet ke salah satu port tersebut untuk menguji sistem yang
dikonfigurasi.
setelah user melakukan telnet ke port yang di emulasi oleh Artillery, maka secara
otomatis IP Address dari user tersebut akan terkena ban dan tidak bisa melakukan
koneksi
Gambar 4. 2
Port Yang Diemulasi Artillery
31
# cd /var/artillery # python remove_ban.py 192.168.1.21
Gambar 4. 3
Koneksi Terputus Setelah Telnet
Gambar 4. 4
IP masuk dalam banlist
Artillery terintegrasi dengan iptables untuk melakukan larangan koneksi apabila ada
koneksi yang terjadi pada port yang terbuka.
Gambar 4. 5
IP masuk dalam Iptables
pada saat melakakukan telnet, user akan mendapat random packet data yang
dikirimkan oleh Artillery. User kembali dapat melakukan koneksi ke server apabila
IP Adressnya dihapus dari file banlist dengan cara
32
********************************** The following changes were detect at
2013-09-10 05:15:54.029277 **********************************
2555a2556
>
/home/danu/webdanu/ujicobamonitoring:cf83e1357eefb8bdf1542850d66d8007d
620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b93
1bd47417a81a538327af927da3e
********************************** End of changes.
**********************************
4.2.2.3 Monitoring File System
Setelah melakukan konfigurasi monitoring file system pada artillery, maka
percobaan selanjutnya adalah melakukan perubahan pada file system yang
dimonitoring, pada konfigurasi artillery , file system yang dimonitoring diantaranya
direktori /etc/ , /var/www , dan /home/danu/webdanu. Percobaan dilakukan
dengan membuat file pada direktori yang dimonitoring.
Gambar 4. 6
Direktori yang dimonitoring
Dalam rentang waktu satu menit perubahan tersebut akan tercatat dalam file
alerts.log yang berada pada direktori /var/artilery/logs
4.2.2.4 Test Script Monitoring
User dikondisikan telah berhasil masuk kedalam server yang dibuat, User tersebut
akan melakukan perubahan pada file index.html yang berada pada direktori
/home/danu/webdanu.
Sebelumnya, file /home/danu/webdanu/index.html telah di monitor memakai shell
script yang telah dibuat
33
#!/bin/bash a=`cat /home/danu/webdanu/index.html` b=`cat /home/danu/poltek/backup/backup.txt`; if [ "$a" != "$b" ]; then ./maintenance.sh cd /home/danu/poltek diff -c /home/danu/webdanu/index.html /home/danu/poltek/backup/backup.txt > /home/danu/poltek/log/logs.txt fi
File index.html juga sebelumnya telah dibackup
Gambar 4. 7
Proses Backup Index.html
nantinya digunakan sebagai file komparasi untuk menentukan adanya perubahan
atau tidak pada file /home/danu/webdanu/index.html
file backup berada pada direktori /home/danu/poltek/backup
Gambar 4. 8
File Backup.txt
Setelah terjadi perubahan pada file /home/danu/webdanu/index.html dalam
rentang waktu 1 menit, script monitoring akan dieksekusi dan ketika perubahan
tersebut terdeteksi, script.sh akan melakukan konfigurasi ulang apache dan
mengganti halaman website dengan halaman maintenance.
34
Gambar 4. 9
Halaman danu.com telah berubah
Perubahan yang terjadi pada file /home/danu/webdanu/index.html akan tercatat
dalam file log yang berada pada direktori /home/danu/poltek/log. Semua detail
perubahan tercatat dalam file tersebut sehingga administrator dapat mengetahui
kapan perubahan itu terjadi dan bagian mana dari file tersebut yang diubah.
Gambar 4. 10
File Log Yang Mencatat Perubahan
35
5 BAB 5
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil pengujian dan implementasi Proyek Akhir ini, dapat diambil
beberapa kesimpulan yaitu:
a. Dapat memonitoring file Artillery, untuk memantau adanya perubahan
pada file dan folder yang ditentukan dan melakukan pencatatan.
b. Dapat membuat service palsu dan melakukan monitoring port
menggunakan artillery, dan melakukan blacklist apabila terjadi koneksi ke
port yang dikonfigurasi.
5.2 Saran
Berdasarkan hasil pengerjaan proyek akhir, dapat diambil saran sebagai berikut:
a. Script Monitoring File Sistem dapat dikembangkan menggunakan bahasa
pemrograman lain, sehigga penggunaannya bisa lebih efektif dan efisien.
b. Artillery berbasis open-source sehingga dapat dikembangakan dengan
menambahkan fungsi yang lebih baik.
36
6 DAFTAR REFERENSI
Brenton, C., & Hunt, C. (2001). ACTIVE DEFENSE A Comperhensive Guide to Network
Security. Alameda: SYBEX, Inc.
Pietro, R. D., & Mancini, L. V. (2008). Intrusion Detection. New York: Springer
Science+Business Media, LLC.
Scarfone, K., & Mell, P. (2007). Guide to Intrusion Detection and Prevention Systems
(IDPS). Gaithersburg: Computer Security Division.
Sobell, M. G. (2005). A Practical Guide to Linux Commands, Editors, and Shell
Programming. Massachusetts: Prentice Hall PTR.
Trustedsec. (2012, September 25). TrustedSec, LLC. Diakses April 15, 2013, dari
TrustedSec, LLC Web site:
https://www.trustedsec.com/downloads/artillery/
Vugt, S. v. (2008). Beginning Ubuntu Server Administration From Novice to
Professional. New York: Springer-Verlag New York, Inc.
Yadav, S. C., & Singh, S. K. (2009). An Introduction to CLIENT/SERVER COMPUTING.
New Delhi: New Age International.
37
7 LAMPIRAN
Lampiran 1. 1 Random Packet Setelah Telnet
Lampiran 1. 2 Hasil Scan Port
38
Lampiran 1. 3 Hasil Scan Service
Lampiran 1. 4 Hasil Scan OS
39
Lampiran 1. 5 Tampilan Website
Lampiran 1. 6 Tampilan Halaman Maintenance
40
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command * * * * * /home/danu/poltek/script.sh
*** /home/danu/webdanu/index.html 2013-09-10 05:21:03.669672715 +0700 --- /home/danu/poltek/backup/backup.txt 2013-09-01 19:35:12.211632635 +0700 *************** *** 1,4 **** ! tes perubahan Danu --- 1,4 ---- ! Danu
Lampiran 1. 7 Konfigurasi Crontab
Lampiran 1. 8 Isi File Log
41
# DETERMINE IF YOU WANT TO MONITOR OR NOT
MONITOR=YES
#
# THESE ARE THE FOLDERS TO MONITOR, TO ADD MORE, JUST DO "/root","/var/",
etc.
MONITOR_FOLDERS="/var/www","/etc/","/home/danu/webdanu"
#
# BASED ON SECONDS, 2 = 2 seconds.
MONITOR_FREQUENCY=60
#
# EXCLUSE CERTAIN DIRECTORIES OR FILES. USE FOR EXAMPLE:
/etc/passwd,/etc/hosts.allow
EXCLUDE=
#
# DO YOU WANT TO TURN ON THE HONEYPOT
HONEYPOT=YES
#
# DO YOU WANT TO AUTOMATICALLY BAN ON THE HONEYPOT
HONEYPOT_BAN=YES
#
# WHITELIST IP ADDRESSES, SPECIFY BY COMMAS ON WHAT IP ADDRESSES YOU
WANT TO WHITELIST
WHITELIST_IP=127.0.0.1,localhost
#
# PORTS TO SPAWN HONEYPOT FOR
PORTS="135,445,22,21"
#
EMAIL_ALERTS=OFF
#
# CURRENT SUPPORT IS FOR SMTP, ENTER YOUR USERNAME AND PASSWORD
HERE
USERNAME="[email protected]"
#
# ENTER THE SMTP PASSWORD HERE
PASSWORD="SETHERE"
#
# FOR SMTP ONLY HERE, THIS IS THE MAILTO
SMTP_TO="[email protected]"
#
# SMTP ADDRESS FOR SENDING EMAILS, DEFAULT IS GMAIL
SMTP_ADDRESS="smtp.gmail.com"
#
# SMTP PORT FOR SENDING EMAILS DEFAULT IS GMAIL WITH TTLS
SMTP_PORT="587"
#
# ENTER THE EMAIL ADDRESS TO RECEIVE THE ALERT
ALERT_USER_EMAIL="[email protected]"
Lampiran 1. 9 Konfigurasi Artillery