PERANCANGAN KEAMANAN DATABASE SERVER MYSQL...

14
1 PERANCANGAN KEAMANAN DATABASE SERVER MYSQL BERBASIS SISTEM OPERASI OPEN SOURCE PADA PT. PLN P3B SUMATERA UPT PALEMBANG Mustafa Fajar Saputra Jurusan Teknik Informatika STMIK PalComTech Palembang Abstrak Kebutuhan akan keamanan informasi dari data-data yang terdapat pada database sangat diperlukan bagi perusahaan terutama pada PT PLN P3B Sumatera UPT Palembang. Penggunaaan database server MySQL pada PT PLN P3B Sumatera UPT Palembang, yang masih berada pada satu mesin dengan web server memungkinkan seluruh client bisa langsung mengakses ke mesin. Hal ini dapat membuka celah keamanan terhadap database server MySQL, karena telah diperolehnya secara mudah untuk bisa akses langsung ke mesin. Untuk alasan ini, usulan yang terbaik adalah memiliki web server dan database server pada mesin yang berbeda, serta melengkapi beberapa mekanisme pengamanan terhadap database server MySQL, antara lain dengan mekanisme packet filtering menggunakan IPTables, enkripsi transmisi data menggunakan SSL dan mekanisme user access limitation. Dengan dilakukannya pengoptimalan keamanan terhadap database server MySQL, maka akan meningkatkan keamanan informasi dari data-data yang terdapat pada database MySQL serta akan terhindar dari resiko terhadap pengaksesan oleh pihak yang tidak berwenang yang bisa merugikan perusahaan. Kata Kunci : MySQL, Keamanan Database Server, SSL, Packet Filtering PENDAHULUAN Kemajuan teknologi informasi yang pesat serta potensi pemanfaatannya secara luas, haruslah dilengkapi dengan sistem keamanan yang memadai. Umumnya sistem keamanan lebih banyak terfokus pada antivirus dan keamanan jaringan, namun kurang memperhatikan kerawanan dan ancaman yang berbahaya pada database server. Database server dirancang sebagai media penyimpanan data-data yang mempuyai sifat rahasia dan hanya diperuntukkan kepada pihak-pihak internal organisasi. Oleh karena itu diperlukan sebuah mekanisme untuk melakukan pengamanan terhadap database server. Penggunaaan database server MySQL pada PT PLN P3B Sumatera UPT Palembang, yang masih berada pada satu mesin dengan web server memungkinkan seluruh client bisa langsung mengakses ke mesin. Hal ini dapat membuka celah keamanan terhadap database server MySQL, karena telah diperolehnya secara mudah untuk bisa akses langsung ke mesin. Untuk alasan ini, yang terbaik adalah memiliki web server dan database server pada mesin yang berbeda, serta mengoptimalkan keamanan database server MySQL dengan menggunakan mekanisme packet filtering antara network dan database server, hal tersebut dilakukan untuk membatasi server dengan IP address mana saja yang dapat melakukan koneksi terhadap database server. Lalu menggunakan mekanisme enkripsi transmisi data pada koneksi antara web server dan database server, hal tersebut dilakukan dengan menggunakan Secure Socket Layer antara web server dan database server. Kemudian menggunakan mekanisme user access limitation, yaitu dengan melakukan pembatasan hak akses dari user MySQL. Dalam penelitian ini masalah yang dibahas adalah bagaimana merancang keamanan database server MySQL berbasis sistem operasi open source pada PT PLN P3B Sumatera

Transcript of PERANCANGAN KEAMANAN DATABASE SERVER MYSQL...

Page 1: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

1

PERANCANGAN KEAMANAN DATABASE SERVER MYSQL BERBASISSISTEM OPERASI OPEN SOURCE PADA PT. PLN P3B

SUMATERA UPT PALEMBANG

Mustafa Fajar SaputraJurusan Teknik Informatika

STMIK PalComTech Palembang

Abstrak

Kebutuhan akan keamanan informasi dari data-data yang terdapat pada database sangatdiperlukan bagi perusahaan terutama pada PT PLN P3B Sumatera UPT Palembang.Penggunaaan database server MySQL pada PT PLN P3B Sumatera UPT Palembang,yang masih berada pada satu mesin dengan web server memungkinkan seluruh clientbisa langsung mengakses ke mesin. Hal ini dapat membuka celah keamanan terhadapdatabase server MySQL, karena telah diperolehnya secara mudah untuk bisa akseslangsung ke mesin. Untuk alasan ini, usulan yang terbaik adalah memiliki web server dandatabase server pada mesin yang berbeda, serta melengkapi beberapa mekanismepengamanan terhadap database server MySQL, antara lain dengan mekanisme packetfiltering menggunakan IPTables, enkripsi transmisi data menggunakan SSL danmekanisme user access limitation. Dengan dilakukannya pengoptimalan keamananterhadap database server MySQL, maka akan meningkatkan keamanan informasi daridata-data yang terdapat pada database MySQL serta akan terhindar dari resiko terhadappengaksesan oleh pihak yang tidak berwenang yang bisa merugikan perusahaan.Kata Kunci : MySQL, Keamanan Database Server, SSL, Packet Filtering

PENDAHULUAN

Kemajuan teknologi informasi yang pesat serta potensi pemanfaatannya secara luas,haruslah dilengkapi dengan sistem keamanan yang memadai. Umumnya sistem keamananlebih banyak terfokus pada antivirus dan keamanan jaringan, namun kurang memperhatikankerawanan dan ancaman yang berbahaya pada database server. Database server dirancangsebagai media penyimpanan data-data yang mempuyai sifat rahasia dan hanya diperuntukkankepada pihak-pihak internal organisasi. Oleh karena itu diperlukan sebuah mekanisme untukmelakukan pengamanan terhadap database server.

Penggunaaan database server MySQL pada PT PLN P3B Sumatera UPT Palembang,yang masih berada pada satu mesin dengan web server memungkinkan seluruh client bisalangsung mengakses ke mesin. Hal ini dapat membuka celah keamanan terhadap databaseserver MySQL, karena telah diperolehnya secara mudah untuk bisa akses langsung ke mesin.Untuk alasan ini, yang terbaik adalah memiliki web server dan database server pada mesinyang berbeda, serta mengoptimalkan keamanan database server MySQL denganmenggunakan mekanisme packet filtering antara network dan database server, hal tersebutdilakukan untuk membatasi server dengan IP address mana saja yang dapat melakukankoneksi terhadap database server. Lalu menggunakan mekanisme enkripsi transmisi datapada koneksi antara web server dan database server, hal tersebut dilakukan denganmenggunakan Secure Socket Layer antara web server dan database server. Kemudianmenggunakan mekanisme user access limitation, yaitu dengan melakukan pembatasan hakakses dari user MySQL.

Dalam penelitian ini masalah yang dibahas adalah bagaimana merancang keamanandatabase server MySQL berbasis sistem operasi open source pada PT PLN P3B Sumatera

Page 2: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

2

UPT Palembang. Tujuan dari penelitian ini adalah membuat langkah-langkah pengamanandatabase server MySQL di PT PLN P3B Sumatera UPT Palembang, guna menjaga keamananinformasi dari database terhadap resiko penyalahgunaan informasi oleh pihak yang tidakberwenang.

LANDASAN TEORILinux

Menurut Handaya dkk (2010:2), nama Linux sendiri diturunkan dari pencipta awalnya,Linus Torvalds, dari Universitas Helsinki, Finlandia yang sebetulnya mengacu pada kerneldari suatu sistem operasi, suatu penamaan yang bisa digunakan untuk mengacu kepada suatukumpulan lengkap perangkat lunak yang bersama-sama dengan kenel menyusun suatu sistemoperasi yang lengkap.

Database ServerMenurut Saputra (2011:3), database server merupakan mesin yang berisi database,

termasuk tabel, procedure, dan trigger yang menangani manajemen data, keamanan, danpenanganan kesalahan. Database server bertugas melayani permintaan query database dariclient.

MySQLMenurut Saputra (2011:5), MySQL merupakan standar penggunan database di dunia

untuk pengolahan data. MySQL adalah sebuah server database open source yang bekerjamenggunakan SQL Language (Structure Query Language) umumnya digunakan bersamaPHP untuk membuat aplikasi server yang dinamis dan powerful.

Beberapa fitur yang dimiliki oleh MySQL antara lain :1. MySQL termasuk RDBMS (Relationship Database Management System) yaitu jenis

DBMS (Database Management System) yang mendukung adanya relationship atauhubungan antar tabel.

2. MySQL memiliki arsitektur client-server dimana server database MySQL terinstal di serverdan client MySQL dapat berada di komputer yang sama dengan server atau dapat juga dikomputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet.

3. MySQL mendukung SQL standar.4. MySQL mendukung sub select, views, store procedure, trigger, replication, transaksi, dan

foreign key.5. MySQL tersedia fungsi GIS.6. MySQL bersifat free (bebas didownload) dan open source.7. MySQL stabil, tangguh dan juga bersifat fleksibel dengan berbagai pemrograman.8. Arsitektur yang sangat baik dengan pilihan berbagai storage engine, seperti MyISAM,

InnoDB, MEMORY, BLACKHOLE, ARCHIVE dan lain-lain.9. MySQL memiliki security yang baik dan mendapat dukungan dari banyak komunitas.

Packet FilteringKebijakan dalam mengevaluasi informasi dalam setiap aliran paket data dapat

diterapkan pada operasi packet filtering. Seperti yang dikemukakan oleh Wahana Komputer(2005:314), bahwa packet filtering merupakan mekanisme pengotrolan data yangdiperbolehkan mengalir dari jaringan external ke jaringan internal atau sebaliknya denganmengunakan beberapa parameter seperti alamat asal dan tujuan, port asal dan tujuan, sertaprotokol transport. Salah satu tool dalam sistem operasi Linux yang berfungsi sebagai packetfiltering antara lain adalah IPTables.

Page 3: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

3

IPTablesSalah satu aplikasi firewall yang digunakan pada sisitem operasi Linux adalah

IPTables. Seperti yang dikemukakan oleh Handaya dkk (2010:331), bahwa IPTablesmerupakan suatu aplikasi dalam sistem operasi Linux yang berfungsi sebagai alat untukmelakukan filter terhadap lalu lintas data untuk mengamankan suatu jaringan.

Firewall IPTables packet filtering memiliki tiga aturan (policy), yaitu:a. Input

Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. Kita bisamengelola komputer mana saja yang bisa mengakses firewall dan yang lain tidak boleh.

b. OutputMengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanyaoutput tidak diset, karena bisa membatasi kemampuan firewall itu sendiri.

c. ForwardMengatur paket data yang melintasi firewall dari arah internet ke intranet maupunsebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internetberdasarkan port, mac address dan alamat IP.

Selain aturan (policy), firewall IPTables juga mempunyai parameter yang disebut dengantarget, yaitu status yang menentukkan koneksi di IPTables diizinkan lewat atau tidak. Targetada tiga macam yaitu:a. Accept

Akses diterima dan diizinkan melewati firewall.b. Reject

Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus,biasanya terdapat pesan Connection Refused. Reject target tidak menghabiskan bandwidthinternet karena akses langsung ditolak, hal ini berbeda dengan drop.

c. DropAkses diterima, tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidakmengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan-akan serveryang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengantrafik tinggi drop target sebaiknya jangan digunakan.

EnkripsiSalah satu teknik keamanan data yang tidak kalah penting adalah enkripsi. Seperti

yang dikemukakan oleh Wahana Komputer (2005:329), bahwa enkripsi merupkan sebuahsistem yang menciptakan dimana data-data yang dikirim menjadi bentuk yang tersandi.

SSLMenurut Wahana Komputer (2005:333), SSL atau Secured Socket Layer adalah

metode enkripsi yang dikembangkan oleh Netscape untuk memberikan keamanan di internetyang medukung beberapa protokol enkripsi dan memberikan autentikasi client dan server.SSL beroperasi pada transport layer dan menciptakan saluran enkripsi yang aman untuk dataserta dapat mengenkripsi banyak tipe data, sehingga data rahasia atau penting bisa terkirimtanpa khawatir ada usaha perubahan ditengah jalan.

SSL mendukung kriptografi public key, sehingga server dapat melakukan autentikasidengan metode yang sudah dikenal umum seperti RSA dan DSS (Digital SignatureStandard). Selain itu SSL dapat melakukan verifikasi integritas sesi yang sedang berjalandengan menggunakan algoritma digest seperti MD5 dan SHA. Hal ini menghindarkanpembajakan suatu sesi.

Page 4: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

4

Komponen–komponen yang ada pada implementasi Secure Socket Layer antara lain :a. CA (Certificate Authority)

CA adalah sebuah entitas pada PKI (Public Key Infrastructure) yang berfungsi untukmelakukan legalisasi terhadap sertifikat SSL yang akan digunakan pada suatu organisasi.

b. CSR (Certificate Signing Request)CSR adalah sebuah permintaan dengan format PKCS10 yang merupakan sebuah salinandari certificate yang belum disahkan. Informasi yang terdapat pada sebuah CSR yaitu :1. Informasi organisasi seperti nama organisasi, negara, propinsi, kota dan lain

sebagainya.2. Public key dari entitas yang akan menggunakan certificate tersebut seperti web server,

email server, VPN dan lain sebagainya.

HASIL DAN PEMBAHASAN

1. HASILa. Analysis

Dari hasil analisa penulis yang dilakukan dalam penelitian, didapatkan bahwa belumdioptimalkannya keamanan database server MySQL. Dimana database server MySQL masihberada pada satu mesin dengan web server, memungkinkan seluruh client bisa langsungmengakses ke mesin. Hal tersebut dapat membuka celah keamanan terhadap database serverMySQL, karena bisa diperolehnya secara mudah untuk akses langsung ke mesin. Berikut inigambaran topologi jaringan yang ada pada PT PLN P3B Sumatera UPT Palembang.

Gambar 1. Topologi Jaringan PT PLN P3B Sumatera UPT Palembang

Page 5: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

5

b. DesignUntuk mengoptimalkan keamanan pada database server penulis mengusulkan agar

dilakukan pemisahan web server dengan database server sehingga database server beradapada satu mesin tersendiri, serta melengkapi beberapa mekanisme pengamanan terhadapdatabase server MySQL, antara lain dengan menggunakan mekanisme packet filtering antaranetwork dan database server, hal tersebut dilakukan untuk membatasi server dengan IPaddress mana saja yang dapat melakukan koneksi terhadap database server. Lalumenggunakan mekanisme enkripsi transmisi data pada koneksi antara web server dandatabase server, hal tersebut dilakukan dengan menggunakan Secure Socket Layer antara webserver dan database server. Kemudian menggunakan mekanisme user access limitation, yaitudengan melakukan pembatasan hak akses dari user MySQL. Sehingga arsitektur keamanankoneksi database akan terihat seperti gambar di bawah ini.

Gambar 2. Arsitektur Keamanan Koneksi Database

Berikut ini adalah gambar topologi jaringan yang diusulkan. Penulis hanyamenambahkan sebuah komputer server untuk database server MySQL, sehingga topologijaringannya terlihat seperti pada gambar dibawah ini.

Gambar 3. Topologi Jaringan yang Diusulkan

Page 6: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

6

2. PEMBAHASANPada komputer sever yang akan digunakan sebagai database server, OS yang penulis

gunakan adalah Linux Ubuntu 11.04 LTS. Setelah selesai dilakukan instalasi OS LinuxUbuntu 11.04 LTS, dilanjutkan dengan dilakukan pengkonfigurasian IP Address, MySQL,SSL, dan IPTables.

a. Konfigurasi IP AddressLangkah awal yaitu dilakukan pendeteksian ethernet card dengan perintah ifconfig –a..

Lalu dilanjutkan dengan pengisian konfigurasi IP pada file /etc/network/interfaces. Lalusetelah hasil konfigurasi IP disimpan, kemudian dilakukan restart ethernet agar konfigurasimenjadi permanen dengan perintah /etc/init.d/networking restart.

b. Konfigurasi MySQL1) Terlebih dahulu yaitu dengan melakukan instalasi database MySQL dengan menjalankan

perintah apt-get install mysql-server mysql-common.2) Setelah terinstal kemudian dilanjutkan dengan dilakukan penghapusan akses user anonim

terhadap MySQL server. Lalu perlu dilakukan pengubahan terhadap nama user databaseadministrator yaitu root MySQL, sehingga menjadi nama user yang tidak mudah ditebakoleh pengguna, serta dilakukan juga perubahan terhadap password database administratortersebut. Lalu dilakukan juga penghapusan tehadap database test.

Gambar 4. Konfigurasi Keaman pada Database MySQL

c. Konfigurasi SLL1) Pastikan OpenSSL telah terinstall dengan mengtik perintah dpkg -l | grep openssl. Jika

sudah terinstall lalu aktifkan servis SSL support .2) Pindah kedalam direktori /etc/mysql/ untuk membuat dan menyimpan SSL certificate,

kemudian buat Certificate of Authority. Lalu Buat Certificate Signing Request untuk ServerCertificate. Lakukan pengesahan CSR (Certificate Signing Request) dengan menggunakan

mysql> delete from db where user='';Query OK, 2 rows affected (0.07 sec)

mysql> delete from user where user='';Query OK, 2 rows affected (0.00 sec)

mysql>mysql> update user set user='uptplm' where user='root';Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0

mysql> flush privileges;Query OK, 0 rows affected (0.08 sec)

mysql>mysql> update user set password=PASSWORD('PLNp3bsUPTplg') whereuser='uptplm';Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0

mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

mysql>mysql> drop database test;Query OK, 0 rows affected (0.39 sec)

mysql> quit;Bye

Page 7: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

7

CA (Certificate of Authority) agar certificate tersebut dapat digunakan sebagai alatautentikasi.

3) Aktifkan ssl-ca, ssl-cert, dan ssl-key dengan pada file /etc/mysql/my.cnf.4) Buat sertifikasi SSL untuk aplikasi client yaitu dengan membuat Certificate Signing

Request. Lalu Lakukan pengesahan CSR client dengan mengunakan Certificate ofAuthority. Lalu kopikan file sertifikat SSL yang dibuat untuk client, yaitu ca-cert.pem,client-cert.pem, dan client-key.pem, ke komputer yang terinstall web server.

5) Buat database yang akan digunakan oleh aplikasi dan buat user MySQL yang memilikiakses terbatas pada database tersebut yang dikhususkan mengunakan SSL untuk bisamengakses database tersebut.

6) lakukan tes koneksi ke MySQL server menggunakan user SSL, lalu lihat enkripsi SSL yangdigunakan.

Gambar 5. Melakukan Koneksi ke MySQL Menggunakan SSL

Gambar 6. Melihat Enkripsi SSL yang Digunakan

d. Konfigurasi IPTablesKonfigurasi firewall IPTables dibuat bertujuan untuk memberikan izin koneksi hanya

kepada komputer web server (10.43.80.12) dengan komputer database server (10.43.80.11),

mysql> use korporat;Database changedmysql>\s--------------mysql Ver 14.14 Distrib 5.1.63, for debian-linux-gnu (i686) using readline 6.2

Connection id: 5Current database: korporatCurrent user: [email protected]: Cipher in use is DHE-RSA-AES256-SHACurrent pager: stdoutUsing outfile: ''Using delimiter: ;Server version: 5.1.63-0ubuntu0.11.04.1 (Ubuntu)Protocol version: 10Connection: 10.43.80.11 via TCP/IPServer characterset: latin1Db characterset: latin1Client characterset: latin1Conn. characterset: latin1TCP port: 3306Uptime: 17 min 21 sec

Threads: 1 Questions: 115 Slow queries: 0 Opens: 99 Flush tables: 1 Opentables: 23 Queries per second avg: 0.110--------------

mysql>

root@dbserver:/etc/mysql# mysql --ssl-ca=ca-cert.pem -h 10.43.80.11-u scada -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.1.63-0ubuntu0.11.04.1 (Ubuntu)Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.

Type 'help;' or '\h' for help. Type '\c' to clear the current inputstatement.

mysql>

Page 8: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

8

sedangkan komputer-komputer lain tidak diizinkan untuk melakukan koneksi ke databaseserver. Berikut langkah-langkah yang dilakukan.1) Lakukan pengecekan apakah IPTables telah terinstal dengan menjalankan perintah dpkg -l

| grep iptables.2) Jika telah terinstal, maka buka file /etc/rc.local, lalu isikan pada file tersebut dengan

konfigurasi IPTables seperti berikut.

Gambar 7. Mengisi File rc.local Dengan konfigurasi IPTables.

Lalu simpan perubahan pada file tersebut, kemudian lakukan restart komputer denganmenjalankan perintah reboot.

3) Setelah itu, lakukan pengecekan status firewall dengan menjalankan perintah iptables -L –n–v, output seperti dibawah ini menunjukkan bahwa firewall dalam kondisi aktif.

#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing.

iptables -A INPUT -p tcp -i eth0 -s 10.43.80.12 --sport 1024:65535 --dport 3306-m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp -o eth0 --sport 3306 -d 10.43.80.12 --dport 1024:65535-m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp -i eth0 -s 10.43.80.11 --sport 1024:65535 --dport 3306-m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp -o eth0 --sport 3306 -d 10.43.80.11 --dport 1024:65535-m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp -i eth0 -s 10.43.80.0/24 --sport 1024:65535 --dport3306 -m state --state NEW,ESTABLISHED -j REJECT

iptables -A OUTPUT -p tcp -o eth0 --sport 3306 -d 10.43.80.0/24 --dport1024:65535 -m state --state ESTABLISHED -j REJECT

iptables -A INPUT -p icmp -i eth0 -s 10.43.80.12 -j ACCEPT

iptables -A INPUT -p icmp -i eth0 -s 10.43.80.0/24 -j DROP

exit 0

Page 9: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

9

Gambar 8. Firewall Dalam Kondisi Aktif

4) Lalu simpan (back up) firewall rules dengan perintah iptables-save, agar kita dapatmengembalikan (restore) konfigurasi firewall tanpa harus merestart komputer.

Gambar 9. Melakukan Back Up Terhadap IPTables

e. Pengujian Hasil Konfigurasi1) Dilakukan uji koneksi dengan melakukan ping dari beberapa client terhadap database

server (10.43.80.11), berikut ini hasil yang didapatkan.

Gambar 10. Ping Dari Client 10.43.80.1/24

root@dbserver:~# iptables-save > /home/firewall.rulesroot@dbserver:~#

root@dbserver:~# iptables -L -n -vChain INPUT (policy ACCEPT 10 packets, 1773 bytes)pkts bytes target prot opt in out source destination

0 0 ACCEPT tcp -- eth0 * 10.43.80.12 0.0.0.0/0tcp spts:1024:65535 dpt:3306 state NEW,ESTABLISHED

0 0 ACCEPT tcp -- eth0 * 10.43.80.11 0.0.0.0/0tcp spts:1024:65535 dpt:3306 state NEW,ESTABLISHED

0 0 REJECT tcp -- eth0 * 10.43.80.0/24 0.0.0.0/0tcp spts:1024:65535 dpt:3306 state NEW,ESTABLISHED reject-with icmp-port-unreachable

0 0 ACCEPT icmp -- eth0 * 10.43.80.12 0.0.0.0/00 0 DROP icmp -- eth0 * 10.43.80.0/24 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 11 packets, 1813 bytes)pkts bytes target prot opt in out source destination

0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 10.43.80.12tcp spt:3306 dpts:1024:65535 state ESTABLISHED

0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 10.43.80.11tcp spt:3306 dpts:1024:65535 state ESTABLISHED

0 0 REJECT tcp -- * eth0 0.0.0.0/010.43.80.0/24 tcp spt:3306 dpts:1024:65535 state ESTABLISHED reject-withicmp-port-unreachableroot@dbserver:~#

Page 10: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

10

Gambar 11. Ping Dari Client 10.43.80.23/24

Gambar 12. Ping Dari Komputer 10.43.80.12/24

Dari hasil diatas terlihat bahwa hanya komputer dengan IP Address 10.43.80.12 yangbisa melakukan koneksi ke komputer database server, sedangkan akses dari komputer laintidak bisa.

2) Uji keamanan transmisi data antara web server dengan database server dilakukan denganpenginputan user, password dan database pada halaman web Untuk menangkap data yang

Page 11: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

11

ditransmisikan dipergunakan aplikasi Wireshark. Lalu dibuat perbandingan antar transmisidata mengunakan SSL dan transmisi data tanpa SSL berikut hasil yang didapat.

Gambar 13. Menjalankan Wireshark

Gambar 14. Menginputkan Data Dengan Mengunakan Koneksi Tanpa SSL

Page 12: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

12

Gambar 15. Data yang Tertangkap Wireshark Saat Ditransminsikan Tanpa

Mengunakan SSL

Pada hasil diatas yang tertangkap adalah user dan database, karena password padasaat pembuatan di database MySQL menggunakan enkripsi, maka data password yang didapatdalam keadaan teracak. Selanjutnya akan berbeda jika mempergunkan koneksi transmisidengan SSL, hasil yang didapat seperti berikut.

Gambar 16. Menginputkan Data Dengan Mengunakan Koneksi SSL

Page 13: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

13

Gambar 17. Data yang Tertangkap Wireshark Dalam Keadaan Terenkripsi

Setelah dilakukan uji keamanan transmisi data diatas, terlihat bahwa denganmenggunakan SSL, berarti kita menggunakan jalur transmisi data yang terenkripsi, artinyaseluruh data tidak akan dapat terbaca apabila tertangkap saat ditransmisikan, kecuali jika telahsampai pada komputer tujuan yang berhak, karena komputer tersebut memiliki kunci untukmendekripsikan data yang terenkripsi tersebut. Hal ini menjadikan keamanan transmisi datamenjadi optimal.

PENUTUP

Berdasarkan hasil penelitian yang telah dilakukan, penulis dapat menarik kesimpulanbahwa dengan melakukan pemisahan database server MySQL dengan web server, dapatmengurangi beban kerja dari mesin server, sehingga kinerja mesin menjadi lebih optimal,karena database server MySQL berada pada satu mesin tersendiri, akan membuat mesinserver berfokus hanya pada fungsinya sendiri.

Dengan dilakukan pemisahan, dan dibuatnya mekanisme packet filtering, dimanahanya komputer web server yang bisa mengakses database server MySQL, sedangkan clientyang lain tidak diizinkan terkoneksi langsung ke database MySQL, dan dilakukan jugapembatasan hak akses user MySQL, akan menyulitkan penggunaan database MySQL olehorang yang tidak berhak.

Penggunaan SSL dalam transmisi data akan membuat seluruh data yang dikirimmenjadi terenkripsi, sehingga bila data tersebut sampai kepada client yang tidak berhak, makadata tidak dapat terbaca oleh client tersebut.

DAFTAR PUSTAKA

Elcom. 2012. Computer Networking. Yogyakarta: CV Andi Offset.

Handaya, Wilfridus Bambang Triadi dkk. 2010. Linux Sistem Administrator. Bandung:Infotmatika.

Koswara, Eko. 2012. Jurus Kilat Mahir Ubuntu. Bekasi: Dunia Komputer.

Kusnadi dkk. 2008. Sistem Operasi. Yogyakarta: CV Andi Offset.

Page 14: PERANCANGAN KEAMANAN DATABASE SERVER MYSQL …news.palcomtech.com/wp-content/uploads/2013/05/Jurnal_MustafaFajar... · ada tiga macam yaitu: a. Accept Akses diterima dan diizinkan

14

Kustanto dan Daniel T. Saputro. 2008. Membangun Server Internet dengan Mikrotik OS.Yogyakarta: Gava Media.

Saputra, Agus. 2011. Panduan Praktis Menguasai Database Server MySQL. Jakarta: PTElex

Media Komputindo.

Sugeng, Winarno. 2010. Jaringan Komputer dengan TCP/IP. Bandung: Modula.

Sukmaaji, Anjik dan Rianto. 2008. Jaringan Komputer: Konsep Dasar PengembanganJaringan dan Keamanan Jaringan. Yogyakarta: CV Andi Offset.

Wahana Komputer. 2005. Panduan Lengkap Pengembangan Jaringan Linux. Yogyakarta:CV Andi Offset.

Yugianto, Gin-Gin dan Oscar Rachman. 2012. Router: Teknologi, Konsep, Konfigurasi, danTroubleshooting. Bandung: Informatika.

Stiawan, Deris. 2009. Fundamental Internetworking Development and Design Life Cycle,(online), (http://deris.unsri.ac.id/materi/jarkom/network_development_ cycles.pdf,diakses tanggal 5 November 2012).