9
BAB III
PERANCANGAN SISTEM
3.1 Flow Pengerjaan Sistem
Metode yang digunakan untuk perancangan sistem
adalah metode waterfall di mana setiap tahap dilakukan sampai
akhir, dan kemudian diakukan evaluasi terhadap sistem yang
dibuat. Dalam proses pengerjaannya dilakukan instalasi dan
konfigurasi baik di PC Server maupun di PC Client, alur dari
pengerjaanya adalah sebagai berikut :
Gambar 3.1 Alur Perancangan Sistem MULAI
Install OS Debian 6 ,package dan software yang dibutuhkan
OK
Yes No
Konfigurasi bind9, apache2, proftpd, dan openssl
Tes hasil konfigurasi yang telah dilakukan
OK
Yes No
Analisa keamanan enkripsi pada port FTP
3.2 Perancangan Sistem
3.2.1 Analisis Kebutuhan
Analisis kebutuhan merupakan suatu
proses yang mengidentifikasi dan melakukan
evaluasi terhadap permasalahan yang ada,
sehingga dari identifikasi dan evaluasi tersebut
dapat dibangun sistem yang sesuai dengan
diharapkan. Pada sistem yang akan dibangun ini
ada beberapa analisis kebutuhan yang akan
dibangun, yaitu :
a. FTP server yang akan dibangun
menggunakan mode autentikasi untuk
mengamankan data atau file yang disimpan
pada direktori di komputer server.
b. Penerapan Openssl untuk mengamankan
proses autentikasi dan transfer data antara
FTP server dan FTP client.
3.2.2 Tahap Persiapan dan Konfigurasi Server
OS yang digunakan adalah Debian versi 6.
Master dari debian tersebut dapat diunduh dari
internet dengan kapasitas 4,5 GB untuk versi full
package include. Debian diinstall tanpa desktop
environment karena pada umumnya PC webserver
berjalan lebih ringan dan stabil. Setelah debian
berhasil diinstall selanjutnya install package yang
dibutuhkan untuk analisa, package tersebut adalah
Bind9, Apache2, Proftpd, dan Openssl. Untuk PC
client agar lebih mudah gunakan OS Windows,
install FileZilla, Wireshark dan Unsniff Network
Analyzer untuk proses analisa nantinya.
Login sebagai root di Debian dan ketikan script
berikut untuk instal package yang diperlukan :
Kode Program 1. Kode Program untuk install package bind9, apache2, Proftpd, dan openssl
• Bind9 berfungsi untuk membangun dns server,
umumnya sebuah web server menggunakan dns untuk
pengalamatannya.
• Apache2 berfungsi sebagai webserver.
• Proftpd berfungsi sebagai server untuk FTP.
• Openssl berfungsi untuk enkripsi data yang akan
dilakukan untuk mengamankan port FTP.
Setelah proses instalasi selesai dan berhasil,
restart PC server untuk memastikan package
tersebut berjalan saat PC start up. Jika gagal ulangi
langkah proses instalasi di atas.
Tahap konfigurasi adalah tahap yang paling
penting karena banyak script yang perlu
ditambahkan, sehingga dilakukan dengan hati-hati.
Konfigurasi di PC server meliputi network
interfaces, host, DNS server, Apache, dan Proftpd
+ Openssl. Untuk mempermudah pemahaman
maka konfigurasi dari masing-masing package
dijelaskan satu per satu.
Konfigurasi network interfaces :
Konfigurasi yang dilakukan meliputi
alamat IP PC server, netmask, network, broadcast,
dan gateway (jika diperlukan). Untuk
melakukannya ketik script berikut :
Kode Program 2. Kode Program untuk editing konfigurasi interfaces
Ubah allow-hotplug menjadi auto,dan
tambahkan beberapa script sehingga hasil
tampilannya seperti berikut :
Kode Program 3. Tampilan kode Program untuk konfigurasi Ethernet, IP, netmask, network, dan dns name-server
nano /etc/network/interfaces
#This file describe the network interfaces available on your system
#and how to activate them. For more information, see interfaces (5).
#The loopback network interface auto lo
iface lo inet loopback
#The primary network interface auto eth0
Konfigurasi host
Untuk melakukan konfigurasi host ketikan
script berikut :
Kode Program 4. Kode Program untuk editing konfigurasi host pada server
Tambahkan beberapa script sehingga
tampilannya menjadi seperti berikut :
Kode Program 4. Tampilan kode program untuk konfigurasi host pc server
Selanjutnya konfigurasi domain dan
nameserver dengan perintah berikut :
Kode Program 5. Kode Program untuk konfigurasi domain dan nameserver
Edit script di dalamnya dan sesuaikan
dengan host dan IP PC server yang kita buat,
sehingga tampilannya seperti berikut :
Kode Program 6. Tampilan Kode Program untuk domain dan nameserver
nano /etc/hosts
127.0.0.1 localhost
56.201.20.26 proyekd3ti.com d3ti
#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
/etc/resolv.conf
search proyekd3ti.com
domain proyekd3ti.com
Setelah itu ketikan 2 script berikut :
Kode Program 7.Kode Program untuk mengganti hostname menjadi proyekd3ti
Restart network interfaces dengan
mengetikan script berikut :
Kode Program 8. Kode Program untuk restart network setting PC server
Konfigurasi DNS server
Untuk membangun sebuah webserver
tentunya dibutuhkan dns server guna
mempermudah mengingat alamat webserver. Pada
OS debian 6 dapat menggunakan Bind9 untuk
membangun dns server, tahap-tahap
pembuatannya sebagai berikut :
Kode Program 9. Kode Program untuk editing konfigurasi loopback pada PC Server.
Db.127 yang berada di direktori bind
berfungsi untuk konfigurasi loopback pada PC
server, secara default loopback tersebut tertulis
localhost, namun kita ubah sehingga isi dari
db.127 seperti berikut :
echo proyekd3ti.com > /etc/hostname
/etc/init.d/networking restart
Kode Program 10. Kode Program untuk konfigurasi loopback pada PC Server.
Simpan konfigurasi yang telah dibuat dengan
mengetikan Ctrl + O. Selanjutnya edit file db.local
dengan cara ketikan script berikut :
Kode Program 11. Kode Program untuk konfigurasi alias dan server dns
db.local yang berada di direktori bind
berfungsi untuk menambah alias dan digunakan
sebagai server dns yang akan digunakan. Edit
db.local sehingga tampilannya seperti gambar
berikut :
;
; BIND reverse data file for local loopback interface ;
$ TTL 604800
@ IN SOA proyekd3ti.com. root.proyekd3ti.com.
(
; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL ;
@ IN NS proyekd3ti.com.
26.20.201 IN PTR proyekd3ti.com.
Kode Program 12. Tampilan Kode Program untuk konfigurasi alias dan server dns
Simpan konfigurasi yang telah dibuat dengan
mengetikan Ctrl + O. Selanjutnya kita konfigurasi
named.conf.local dengan cara mengetikan :
Kode Program 13.Kode Program untuk konfigurasi zona pengalamatan dns.
Setelah itu tambahkan script berikut :
Kode Program 14.Tampilan Kode Program untuk konfigurasi zona pengalamatan dns.
; BIND data file for local interface ;
26.20.201 IN PTR proyekd3ti.com.
nano /etc/bind/named.conf.local
// Do any local configuration here
Simpan konfigurasi yang telah dibuat dengan
menekan tombol Ctrl + O.
3.2.3 Konfigurasi apache
Konfigurasi yang dilakukan pada package
Apache bertujuan untuk menentukan di mana file
website diakses, dan mengaktifkan web yang telah
dibuat. Web sederhana dibuat dengan Notepad di
Windows, proses pengiriman file.html yang dibuat
dilakukan melalui port ftp. file.html yang telah
diupload disimpan di direktori /home, guna
mempermudah admin mengingatnya. Sebelum
melakukan konfigurasi copy default website
terlebih dahulu dengan mengetikkan :
Kode Program 15. Kode Program untuk masuk ke direktori sites-available
Kode Program 16. Kode Program untuk copy default website
Selanjutnya konfigurasi Apache dapat
dilakukan dengan cara sebagai berikut :
Kode Program 17. Kode Program untuk edit isi dari sebuah file
Dan tambahkan beberapa script berikut :
cd /etc/apache2/sites-available
cp default websited3ti
Kode Program 18. Tampilan kode program di mana file.html disimpan.
Script di atas bertujuan untuk mengganti
alamat IP sesuai dengan IP yang digunakan oleh
PC Server, serta menentukan tempat penyimpanan
file.html yang akan ditampilkan jika client
mengakses. Simpan konfigurasi yang telah dibuat
dengan mengetikan Ctrl + O.
Selanjutnya masuk ke direktori
apache2/sites-enable, ketikan perintah berikut
untuk enable websited3ti dan disable default
website :
Kode Program 19. Kode program untuk enable websited3ti.
NameVirtualHost 56.201.20.26:80
Kode Program 20. Kode program untuk disable default website.
3.2.4 Konfigurasi Proftpd
Setelah package Proftpd diinstall dan PC
server direstart, otomatis ftp server telah berjalan.
Untuk melakukan transfer file melalui port ftp
dapat dilakukan dengan mengetikan
ftp://56.201.20.26 pada browser client atau bisa
juga dilakukan melalui windows explorer. Namun
sebelumnya perlu membuat user terlebih dahulu
dengan perintah sebagai berikut :
Kode Program 21. Kode program untuk menambah user untuk bisa terhubung ke PC Server.
Kemudian isi form yang muncul seperti password, full
name, work phone, dan lain-lain. Berikutnya restart FTP server
dengan perintah :
Kode Program 22. Kode program untuk restart server FTP.
3.2.5 Konfigurasi Openssl
Openssl akan digunakan untuk enkripsi
data pada port FTP. Untuk menggunakan TLS
(Transport Layer Security) perlu dibuat certificate
a2dissite default
Useradd (nama user yang diinginkan)
key terlebih dahulu. Agar mudah mengingat di
mana certificate key disimpan maka perlu dibuat
direktori untuk TLS. Direktori SSL dapat dibuat di
dalam direktori Proftpd dengan perintah sebagai
berikut :
Kode Program 23. Kode program untuk membuat folder ssl di dalam direktori Proftpd.
Certificate key kita dapatkan otomatis
dengan generate SSL certificate dengan perintah
berikut :
Kode Program 24. Kode program untuk generate certificate key dengan menggunakan openssl.
Certificate key telah berhasil dibuat.
Selanjutnya konfigurasi pada Proftpd untuk
mengijinkan sambungan TLS. Untuk
melakukannya dapat dikerjakan dengan perintah
berikut :
Kode Program 25. Kode program untuk edit isi file Proftpd.conf
mkdir /etc/proftpd/ssl
Openssl req –new –x509 –days 365 –nodes –out /etc/proftpd/ssl/proftpd.cert.pem
–keyout /etc/proftpd/ssl/proftpd.key.pem
Hapus tanda # (comment) pada baris
include /etc/Proftpd/tls.conf. agar setiap ftp server
berjalan maka secara otomatis meminta client yang
mencoba terhubung untuk menggunakan
sambungan TLS. Tampilannya menjadi seperti ini:
Kode Program 26. Kode program agar saat ftp server berjalan maka akan mengikutsertakan koneksi TLS.
Sebelum merubah isi script dari file tls.conf
lakukan backup terlebih dahulu dengan perintah
berikut :
Kode Program 27. Kode program untuk backup konfigurasi TLS.
Setelah itu edit script tls.conf dan
tambahkan script berikut:
Kode Program 28. Kode program untuk menentukan lokasi log, certificate key, dan menjalankan permintaan koneksi TLS/SSL setiap kali client mencoba
terhubung ke server melalui port FTP.
#This is used for FTPS connections Include /etc/proftpd/tls.conf
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
Script di atas berfungsi untuk menentukan
lokasi Certificate dan Certificate Key disimpan,
menentukan di mana log atau history di simpan,
dan mengatur on/off permintaan sambungan TLS.
Jika TLS Required (on) maka sambungan melalui
port FTP tidak dapat dilakukan dengan browser
maupun windows explorer, sambungan FTP hanya
bisa dilakukan dengan menggunakan aplikasi FTP
yang support sambungan TLS misal : FileZilla,