bab i pendahuluan

advertisement
BAB I
PENDAHULUAN
1.1
Latar Belakang
Perkembangan internet terus semakin pesat sehingga memungkinkan
sebagian besar lembaga formal maupun non formal untuk terlibat di dalamnya.
Beberapa prinsip sederhana yang dimiliki internet adalah mudah dan
menyenangkan untuk digunakan bagi penggunanya, dengan demikian fungsi
internet semakin multifungsi [1].
Seiring dengan maraknya penggunaan internet sehingga melibatkan jumlah
user dalam penggunaan internet semakin bertambah banyak. Namun dengan
semakin banyaknya jumlah user, secara tidak langsung malah menimbulkan
masalah baru baik dari sisi user itu sendiri maupun admin sebagai pengelola user
[2]. Salah satu masalah yang dihadapi user adalah banyak user yang lupa dengan
user account dan password yang dimilikinya karena harus mengingat semua user
name dan password untuk login ke setiap sistem [3, 4]. Selain dari itu tingkat
keamanan user account semakin rentan dari serangan hacker [5]. Sepertihalnya
security dalam internet banking membutuhkan keamanan, kerahasiaan, integritas,
dan privasi data yang luar biasa sehingga telah menjadi topik pembahasan yang
semakin serius dalam security networking [6]. Selain dari itu muncul masalah
baru bagi admin, yaitu masalah sulitnya admin dalam mengelola user account.
Masalah lain yang dihadapi bagi user adalah kecemasan bagi para netter di
dunia maya karena adanya monitoring terhadap aktivitas para pengguna internet.
Hal tersebut ternyata tidak hanya meresahkan para netter, bahkan sebagian besar
para pengguna internet justru lebih takut kepada para hacker dan pengiklan. Hal
tersebut pun terungkap dalam sebuah survei yang dilakukan oleh lembaga
bernama Pew Research Center kepada para pengguna internet di Amerika Serikat
[7]. Dalam survei tersebut, sebanyak 86 persen pengguna internet Amerika
berusaha untuk menghilangkan jejak ketika berinteraksi di dunia maya. Berbagai
cara pun mereka lakukan, diantaranya adalah membersihkan cookies, browser
1
history bahkan menonaktifkan cookies. Jumlah pengguna internet yang takut
kepada para hacker tersebut pun lebih banyak dibandingkan aksi spionase
(pengintaian) yang dilakukan oleh pemerintah. Sebanyak 33 persen netter
mengaku cukup resah dengan pengawasan yang dilakukan oleh pemerintah. Dan
yang cukup mengejutkan adalah sebanyak 28 persen pengguna internet ternyata
cukup takut dengan para pengiklan [7].
Selama beberapa dekade ini telah banyak dikembangkan berbagai cara
untuk mempermudah pengelolaan dan meningkatkan keamanan user account,
diantaranya dengan cara menerapkan pemanfaatan Centralized Cookie-based
SSO (CC-SSO) [2], Single Sign On Cloud (SSOC) [8]. Dalam rangka untuk
meningkatkan efisiensi user, keamanan sistem informasi, dan produktivitas IT [9],
maka ada bebrapa cara untuk membangun sebuah sistem jaringan kedalam
Singgle Sign On (SSO). Dalam membangun Server SSO sebenarnya tidak berbeda
dengan aplikasi web pada umumnya, tugasnya hanya menangani request dan
memberikan response terhadap client yang mengakses. Namun, kalau Server SSO
99% tugasnya adalah menangani authentifikasi, pengolahan session dan coockies.
Yang terpenting software yang biasa digunakan untuk membuat server script
sebuah web, contohnya php, asp/asp.net, java dan lainnya. Applikasi Server SSO
yang digunakan disesuaikan dengan kebutuhannya, kalau php bisa menggunakan
apache/lighttpd/iis, kalau untuk asp/asp.net bisa menggunakan iis, sedangkan
untuk
java
banyak
pilihan
yang
bisa
digunakan,
mulai
dari
tomcat/jboos/glassfish/weblogic/websphere dan lainnya. Dari beberapa aplikasi
Server SSO tersebut, bisa dipilih salah satu aplikasi untuk dijadikan sebagai
Central Authentication Service (CAS) [10]. Selain menggunakan CAS Server
sebagai pusat otentikasi, dalam sebuah jaringan SSO juga bisa menggunakan
Server RADIUS, Kerberos, maupun NIS.
Banyak developer yang menggunakan CAS sebagai pusat otentikas dalam
jaringan SSO, dengan alasan bahwa pada framework ini terdapat banyak pilihan
library yang dapat digunakan pada client-nya. Misalnya developer yang
membangun aplikasi PHP, maka ada plugin CAS yang dapat digunakan untuk
2
connect antara CAS Server dan PHP (pada client). Sama halnya dengan C#, Ruby,
dan Java. Beberapa library CAS yang dapat digunakan oleh client-nya antara lain
[11]:
a.
.Net CAS Client
b.
CAS Client for Java 3.0
c.
CAS Client for Java 3.1
d.
mod_auth_cas
e.
phpCAS
f.
Spring Security (previously Acegi) as CAS Client
g.
shiro-cas module
Selain dengan menggunakan CAS Server sebagai pusat otentikasi, dalam
membangun sistem jaringan SSO juga bisa menggunakan Server RADIUS.
RADIUS merupakan suatu protokol yang dikembangkan untuk proses AAA
(authentication, authorization, dan accounting). RADIUS mempunyai 802.1x
STANDAR IEEE, yang berguna untuk menghasilkan kontrol akses, Konsep AAA
dan manajemen kunci untuk wireless LANs berbasis UDP Protocol. RADIUS
menggabungkan otentikasi dan otorisasi. Akses menerima paket yang dikirim oleh
Server RADIUS untuk klien berisi informasi otorisasi. Hal ini membuat sulit
untuk memisahkan otentikasi dan otorisasi. Salah satu yang membuat RADIUS
lebih baik dibandingkan dengan protocol AAA yang telah ada yaitu vendor dari
RADIUS bersifat independen. RADIUS tidak dikontrol oleh vendor tunggal hal
ini berlawanan dengan TACACS+(Cisco) dan Kerberos (Merit) [VEN-02].
RADIUS dikembangkan di pertengahan tahun 90 an oleh Lilingston Entetprise
(kemudian dibeli oleh Lucent Technology) untuk menyediakan perlatan NAS
dengan didukung layanan authentikasi dan accounting [12].
Jenis protocol lain yang dapat digunakan dalam membangun SSO yaitu
protocol Kerberos. Kerberos menggunakan time-stamp untuk pengecekan bahwa
suatu authenticator yang dikirimkan masih baru sehingga memerlukan
sinkronisasi waktu seluruh jaringan [13]. Kerberos adalah protokol otentikasi
jaringan yang dikembangkan oleh MIT. Protokol ini menggunakan kriptografi
3
untuk otentikasi baik sisi client maupun server, sehingga diharapkan protokol ini
mampu mengatasi kelemahan dari sistem otentikasi password-based. Programprogram aplikasi yang menggunakan otentikasi Kerberos harus diubah source
code-nya (di-kerberized) sehingga dapat berkomunikasi dengan library-library
Kerberos. Hal ini menjadi masalah sehubungan ukuran dan desain dari program
aplikasi, khususnya pada program yang source code-nya tidak dipubikasikan.
Tidak hanya program, semua client/server dalam jaringan tersebut harus dikerberized. Sehingga hanya ada satu pilihan, di-kerberized atau tidak digunakan
sama sekali [14].
Jenis protocol lain dalam membangun SSO adalah Network Information
Service (NIS). NIS adalah database jaringan yang dapat digunakan untuk
menyimpan file sistem yang perlu dibagi di antara sejumlah komputer [15]. NIS,
dikembangkan oleh Sun Microsystems sebagai bagian dari sistem operasi SunOS
yang awalnya dikenal sebagai The Yellow Pages atau YP. Sayangnya, nama Yellow
Pages sudah menjadi merek, berubah nama menjadi NIS. Sering ditemui bahwa
semua perintah NIS masih diawali dengan yp [16]. Apabila melakukan
manajemen host pada linux yang sangat banyak, pasti akan sangat sulit bagi
seorang sys admin untuk melakukan penambahan user satu per satu, misal ke 100
host pc. Dengan NIS akan membuat manajemen user dilakukan hanya pada NIS
server sehingga manajemen user dilakukan secara terpusat. Tapi harus disadari
bahwa NIS memiliki sebuah kelemahan karena data NIS yang dikirim client tidak
dienkripsi, dan semua user NIS dapat mengakses password yang ada di NIS
server (meski secara lokal NIS server sudah memberikan enkripsi pada file-file
tersebut). Berbeda dengan Radius yang sudah menambahkan fasilitas security-nya
dengan enkripsi yang terjadi antar koneksi klien dan server [17]. Untuk lebih
mudah melihat perbandingan beberapa protocol otentikasi yang bisa digunakan
pada Server SSO bisa dilihat pada Tabel 1.1.
4
Tabel 1.1. Tabel Perbandingan Protocol Server SSO
No
1.
Nama Protocol
Server SSO
CAS
Kelebihan
Library client yang
beragam, mulai dari java,
php, .Net, Perl, Apache.
Protokol yang terbuka dan
terdokumentasi dengan baik
[10].
Enkripsi terjadi antar
koneksi clien dan server
[17]. Vendor dari RADIUS
bersifat independen.
2.
Radius
RADIUS tidak dikontrol
oleh vendor tunggal hal ini
berlawanan dengan Cisco
dan Kerberos (Merit) [19].
3.
Kerberos
Menyediakan layanan SSH
yang dapat mengelola server
jarak jauh. Penggunaan
sesssion key yang dapat
meningkatkan keamanan
komunikasi [13].
4.
NIS
Manajemen user dapat
dilakukan secara terpusat
[17].
Kekurangan
Harus melibatkan CAS Client
untuk mengintegrasikan
beberapa aplikasi web ke CAS
Server [18].
Sulit untuk memisahkan
otentikasi dan otorisasi.
RADIUS hanya mengenkripsi
password pada paket accessrequest, dari klien ke server,
sisa dari paket tidak
terenkripsi. Informasi lain,
seperti username, layanan
dasar, dan akuntansi, dapat
ditangkap oleh pihak ketiga
[12].
Kerberos menggunakan timestamp [13]. Program-program
aplikasi yang menggunakan
otentikasi Kerberos harus
diubah source code-nya (dikerberized) [14].
Data NIS yang dikirim client
tidak dienkripsi [17].
Berdasarkan pertimbangan banyaknya library CAS yang support dengan
client-nya maka tidak sedikit developer memilih untuk menggunakan CAS
sebagai server otentikasi, seperti halnya yang diterapkan pada SSO UGM saat ini.
Dengan adanya penerapan CAS Server pada sistem jaringan SSO ini diharapkan
admin dapat mengelola setiap user account dengan efisien, efektif dan aman.
Selain dari itu, setiap user tidak perlu susah payah dalam mengingat user account
dan password yang dimilikinya.
5
Fungsi CAS Server tersebut adalah untuk mengautentikasi setiap user yang
akan
login
ke
dalam
sebuah
aplikasi
berbasis
web,
misalnya
papirus2.te.ugm.ac.id, ezproxy.ugm.ac.id, ugmail.ugm.ac.id, dan yang lainnya.
Dengan demikian untuk mengetahui performa dan tingkat keamanan otentikasi
pada jaringan SSO menggunakan CAS Server perlu dilakukan analisis. Dalam hal
ini dilakukan beberapa pengujian dan analisis, diantaranya: pertama, pengujian
yang dilakukan dengan menguji (hacking) keamanan pada CAS Server. Pengujian
kedua, dilakukan dengan menguji performa (response time dan load test) pada
CAS Server. Dari pengujian yang dilakukan, diharapkan dapat memperoleh
informasi tentang performa pada CAS Server yang diimplementasikan dalam
sebuah jaringan SSO khususnya di UGM.
1.2
Perumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, dengan demikian didapat
beberapa rumusan masalah antara lain:
a.
Keamanan jaringan yang tidak baik akan menimbulkan masalah bagi admin
dalam mengelola user account yang begitu banyak.
b.
Maraknya cyber crime secara tidak langsung menuntut admin untuk dapat
meningkatkan keamanan jaringan dengan baik.
c.
Belum diketahuinya tingkat keamanan serta performa otentikasi CAS Server
pada jaringan SSO.
1.3
Keaslian Penelitian
Ada beberapa peneliti sebelumnya yang telah melakukan penelitian terkait
dengan keamanan dan performa jaringan komputer, diantaranya seperti yang
dijelaskan pada Tabel 1.2.
6
Tabel 1.2. Daftar Peneliti Sebelumnya
No
Nama Peneliti
1
Marti [4]
2
Yana [5]
3
Chalandar, et
al. [3]
4.
Gaozheng, et
al. [8]
Inti Pembahasan
Menganalisis keamanan Jaringan VPN dengan
menggunakan tools Wireshark, dengan cara Snifing.
Pengujian dilakukan pada jaringan yang terdapat VPN
(Menggunakan Software LogMeIn Hamachi Free)
dengan membandingkan keamanan jaringan yang tidak
terdapat VPN.
Membahas evaluasi implementasi keamanan jaringan
Virtual Private Network (VPN), melalui experiment
yang dilakukan dengan cara menguji kestabilan
konektivitas jaringan VPN serta menguji keamanan
jaringan untuk mengetahui factor-faktor yang
mempengaruhi keamanan jaringan
VPN di CV.
Pangestu Jaya. Dalam experiment pengujiannya
menggunakan beberapa tools aplikasi antara lain:
Pingflood.exe, Cain & Abel Versi 4.9.43, Wireshark
Versi 1.6.5, dan OS Linux Backtrack.
Membahas Centralized Cookiebased SSO (CC-SSO).
Yaitu membangun aplikasi berbasis password yang
terpusat dengan sistem otentikasi menggunakan SSO
untuk aplikasi berbasis web. Beberapa fitur keamanan
diimplementasikan dalam model yang diusulkan dan
dibandingkan dengan model yang sudah ada. Hasil
penelitian menunjukkan bahwa waktu otentikasi
pengguna untuk mengakses sumber daya web telah
berkurang. Adapun model otentikasi SSO yang
digunakan dalam penelitian tersebut ialah dengan cara
memanfaatkan coocies pada browser sebagai
penyimpanan ID user, sehingga dalam proses otentikasi
tersebut tanpa menggunakan session.
Makalah ini membahas Open source framework
menggunakan CAS (Central Authentication Service).
Yaitu pusat otentikasi dan otorisasi terletak pada server
tersendiri (Independent). Model otentikasi yang
digunakan ialah dengan cara membandingkan ID user
yang ada pada CAS Server dengan ID user yang ada
pada CAS Client.
7
Tabel 1.2. Daftar Peneliti Sebelumnya (lanjutan)
No
Nama Peneliti
5.
Murukulta, et
al. [9]
6.
Busran [20]
Inti Pembahasan
Membahas Single Sign On (SSO) untuk Cloud.
Contohnya adalah Google. Google adalah penyedia
identitas yang baik. Google mengizinkan pengguna
masuk ke berbagai situs web lain dengan informasi akun
Google, contohnya Blogger dan Google Apps,
memungkinkan pengguna masuk ke layanan mereka
dengan menggunakan satu identitas OpenID. Google
hanya bertindak sebagai penyedia layanan untuk SAML
(Security Assertion Markup Language). Dalam
penelitian tersebut, CAS Server yang digunakan berupa
Server Cloud, sehingga tidak melibatkan Server lokal
secara langsung.
Menjelaskan tentang bagaimana mengimplementasikan
Secure Socket Layer (SSL) untuk pengamanan
komunikasi/pengiriman data dari server ke client atau
sebaliknya. Dalam penelitiannya bahwa pemakaian SSL
dapat mengamankan komunikasi data antara client dan
server dengan metode kriptografi, otentikasi, dan
sertifikasi. Ditinjau dari performa server, pemakaian
SSL dapat memperberat kinerja server, untuk itu dapat
dibarengi dengan membuat halaman website yang
diakses dengan SSL sedikit mungkin.
Dari beberapa penelitian yang telah dilakukan, tidak membahas atau
menganalisis performa dan keamanan jaringan Single Sign On (SSO) khususnya
pada Central Authentication Service (CAS). Seperti halnya penelitian yang
dilakukan oleh Chalandar, et al. [3] yang membahas Centralized Cookie-based
SSO (CC-SSO), dengan model otentikasi SSO yang digunakan ialah dengan cara
memanfaatkan coocies pada browser sebagai penyimpanan ID user, sehingga
dalam proses otentikasi tersebut tanpa menggunakan session. Gaozheng, et al. [8]
yang membahas implementasi Open source framework menggunakan CAS
(Central Authentication Service). Namun keduanya tidak membahas fokus pada
analisis performa dan keamanan CAS pada jaringan SSO. Sedangkan penelitian
yang dilakukan oleh Marti Widya Sari [4] dan Yana Hendriana [5], fokus pada
pembahasan analisis keamanan jaringan pada VPN. Dengan demikian
berdasarkan dari beberapa penelitian tersebut, maka dalam penelitian ini dapat
8
dilakukan penelitian lebih lanjut khususnya pada analisis keamanan dan performa
pada CAS Server yang terintegrasi dengan Single Sign On (SSO) dengan model
otentikasi yang berbeda (yaitu dengan memanfaatkan session pada browser).
1.4
Tujuan Penelitian
Tujuan dari penelitian ini adalah menganalisis performa dan keamanan CAS
Server dengan cara merancang sebuah CAS Server (replika) yang dibangun
dengan bahasa pemrograman PHP dan diimplementasikan di PSDI UGM.
1.5
Manfaat Penelitian
Adapun beberapa manfaat dari penelitian ini antara lain:
a.
Sebagai tambahan informasi ilmiah mengenai performa Central
Authentication Service (CAS) dalam implementasi Single Sign On
(SSO).
b.
Memberi informasi tentang kelebihan dan kekurangan penerapan CAS
Server dalam jaringan SSO yang dibangun dengan pemrograman PHP.
c.
Memberi informasi ilmiah tentang bagaimana cara kerja CAS Server
dalam jaringan SSO.
d.
Membuka peluang bagi peneliti lain untuk meneliti lebih jauh tentang
hal-hal yang terkait.
1.6
Batasan Penelitian
Terkait dengan luasnya objek yang diteliti, maka dalam penelitian ini
dibatasi pada pembahasan penelitian sebagai berikut:
1.
Konfigurasi SSO dengan membangun sebuah CAS Server (replika)
yang dibangun di kantor PSDI UGM.
2.
Konfigurasi Web Server papirus (replika) dan Web Server Magister
(replika) yang dibangun di JTETI UGM yang kemudian diintegrasikan
dengan CAS Server (replika) di kantor PSDI UGM.
3.
Analisis dan pengujian performa otentikasi CAS Server (replika) pada
jaringan SSO di kantor PSDI UGM.
9
Download