“Pengamanan Website”
BAB 1 Pendahuluan............................................................................................................................3
1.1 Pendahuluan..............................................................................................................................3
2.3 SSL............................................................................................................................................11
2.3.2 Certificates........................................................................................................................12
1.1 Pendahuluan
Dalam era teknologi seperti sekarang ini perkembangan teknologi telekomunikasi dan
penyimpanan data yang menggunakan komputer memungkinkan pengiriman data jarak jauh
merupakan salah satu metode cepat dan relatif murah. Namun pengiriman data jarak jauh
seperti ini yang bisa menggunakan sarana internet ataupun berupa gelombang radio dan
media lain, tidak menjamin keamanan pada data tersebut. Akan sangat memungkinkan
adanya pihak lain yang dapat menyadap dan mengubah data yang dikirim. Sehingga data
yang diterima akan merubah atau bahkan akan hilang, tidak diterima oleh sipenerima.
Memasuki era teknologi informasi sekarang ini, berbagai ilmuan dalam bidang ilmu
teknologi telah mengembangkan berbagai cara dalam mengatasi permasalahan sistem
keamanan suatu dalam suatu data. Mereka mengembangkan berbagai cara untuk menangkal
serangan – serangan yang bisa mengancam keamanan data. Salah satu cara yang ditempuh
untuk mengatasi permasalahan ini adalah dengan menggunakan metode penyandian pesan
yang disebut sebagai ilmu kriptografi yang menggunakan transformasi data sehingga data
yang dihasilkan tidak dapat dimengerti oleh pihak ketiga.
Transformasi ini memberikan solusi pada dua masalah keamanan data, yaitu masalah
privasi (privacy) dan keautentikan (authentication). Privasi mengandung arti bahwa data yang
dikirim hanya dapat dimengerti oleh penerima yang sah. Sedangkan keautentikan mencegah
pihak ketiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan.
Sehingga pengiriman data akan menjadi lebih secure terhadap serangan dari pihak ketiga
yang tidak berhak merubah semua informasi pada data – data tersebut
BAB 2
LANDASAN TEORI
2. Kebutuhan Non Fungsional Pada analisis kebutuhan non fungsional ini, proses
sistem akan diperhatikan melalui dua aspek, yaitu:
a. Faktor waktu respon dari site internal maupun eksternal melalui web
service yang tidak bisa diprediksi.
b. Proses enkripsi dan dekripsi pesan SOAP yang membutukan waktu
yang tidak bisa diprediksi.
2.1.1 Perancangan Sistem
Sistem aplikasi yang akan dibangun memiliki arsitektur keamanan secara
umum seperti pada Gambar 1, dimana setiap request dari client akan dilakukan
otentikasi dan konfidensialitas. Otentikasi dilakukan ketika client berhasil melakukan
login dan akan diberikan akses ke sumber daya sesuai dengan hak aksesnya,
sedangkan konfidensialitas di gunakan pada proses enkripsi dan dekripsi
“Gambar 1”
Pada tahap ini data akan dienkripsi menggunakan private key milik masing-
masing user dan public key, kemudian data xml yang mengalir selanjutnya dalam
keadaan aman (terenkripsi) pada komunikasi antara client service dengan server
service dari web service. Selanjutnya adalah data hasil enkripsi tadi akan disimpan
dalam secure database dengan format data xml. Proses dekripsi sendiri akan akan
dilakukan ketika data diminta oleh user lainnya dengan menggunakan private key
milik user masing- masing dan public key. Enkripsi terjadi antara client service dan
server service dimana bertujuan untuk mengamanakan jalur transmisi pada web
service sendiri. Rancangan ini dapat diperlihatkan pada Gambar 2.
“Gambar 2”
2.1.2 Implementasi Sistem
Setelah proses perancangan sistem dilakukan, tahap selanjutnya adalah
membuat implementasi sistem keamanan pada Web Service. Sedangkan untuk
implementasi dari keamanan web service ini, maka dirancang arsitektur dan skenario
dalam alur yang akan diterapkan. Arsitektur dan skenario dari keamanan web service
ini dapat diperlihatkan pada Gambar 3.
“Gambar3”
“Gambar 4”
Enkripsi (encryption) merupakan suatu proses di mana sebuah pesan (plaintext)
ditranformasikan atau diubah menjadi bentuk pesan lain (chipertext) menggunakan suatu
fungsi matematis dan enkripsi password khusus yang lebih dikenal sebagai key. Sementara
Deskripsi (descryption) merupakan proses kebalikan, dari chiphertext dirubah kembali
ke plaintext dengan menggunakan fungsi matematis dan key.
Pada saat kita membuat kunci, PGP akan menciptakan duah buah kunci yaitu private
key dan public key yang merupakan sebuah pasangan bersesuaian. Private Key adalah kunci
yang hanya diketahui oleh kita sendiri sedangkan Public Key adalah kunci yang kita
beritahukan kepada orang – orang yang kita percaya. Public key digunakan sebagai dasar
proses pengenkripsian dokumen – dokumen yang hanya bisa dibuka oleh orang yang
memiliki private key yang bersesuaian.
1. Keamanan
Kita dapat menggunkan PGP untuk berkomunikasi secara aman, baik
itu rencana bisnis, keuangan, atau hal – hal pribadi lain yang ingin dijaga
kerahasiaannya. Kita dapat menggunakan PGP dengan e-mail untuk
alasan yang sama pada waktu kita mengirim surat dengan menggunakan
amplop. Mungkin teman seprofesi atu anggota keluarga ingin tahu
bahwa informasi yang dikirim terjaga kerahasiaannya dan kiriman benar
– benar berasal dari kita. Barang kali kita pernah mengirim e-mail
kepada orang yang salah dan kita ingin mereka tidak membacanya. Hal
ini sangat sulit untuk dilakukan, kemungkinan sudah banyak orang yang
sudah mengetahui isi dari e-mail kita. Jadi untuk amannya e-mail
maupun informasi yang kita kirim hendaknya disertai dengan software
PGP.
2. Fleksibel
Karena PGP sudah plug-in untuk semua program browser dan banyak
digunakan oleh semua program e-mail, maka PGP sangat fleksibel untuk
digunakan. PGP selain melindungi e-mail juga file kita dan berjalan pada
semua sistem operasi.
3. Gratis
PGP dapat diperoleh secara gratis untuk penggunaan pribadi. Kita
dapat mendownload softwarenya pada saat kita terhubung dengan
internet. Semua kunci pribadi dapat kita peroleh dan tidak ada biaya
tambahan yang dibebankan untuk pembuatan sertifikat maupun tanda
tangan digital yang disertakan. Pada PGP untuk melakukan proses
enkripsi digunakan kunci rahasia yang berbeda dengan kunci rahasia
yang digunakan pada proses deskripsi.
2.2.3 Cara Mendapatkan Program PGP
Program PGP “International version” merupakan shareware dan dapat
didownload dari beberapa ftp server sebagai berikut :
ftp://ftp.ifi.uio.no/pub/pgp/(primary)
ftp://ftp.ox.ac.uk/pub/crypto/pgp/
ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/
ftp://ftp.informatik.uni-hamburg.de/pub/virus/crypt/pgp/
2.3 SSL
SSL telah menjadi standar de facto pada komunitas untuk mengamankan
komunikasi antara client dan server. Kepanjangan dari SSL adalah Secure Socket Layer;
SSL adalah sebuah layer protocol yang berada antara layer TCP/IP standar dengan
protocol di atasnya yaitu application-level protocol seperti HTTP. SSL mengijinkan
server untuk melakukan autentikasi dengan client dan selanjutnya mengenkripsi
komunikasi.
Pembahasan tentang operasi SSL pada bab ini bertujuan agar kita mengetahui
penggunaan teknologi ini untuk mengamankan komunikasi antara server dengan client.
Sampai saat ini sudah banyak Certification Authorities yang cukup terkenal,
salah satunya adalah Verisign. Menentukan pemilihan CA adalah tanggung jawab
atau wewenang dari seorang admin untuk memberikan sebuah sertifikat keamanan
yang berlaku pada server.
2.3.3 Membuat certificate private key
Untuk menyederhanakan permasalahan ini, akan lebih mudah bila dengan
melakukan operasi dimana certificate disimpan. Buka directory menggunakan
command line. Selanjutanya panggil command berikut ini :
1. Unvalidated Input
Semua aplikasi web menampilkan data dari HTTP request yang dibuat
oleh user dan menggunakan data tersebut untuk melakukan operasinya.
Hacker dapat memanipulasi bagian- bagian pada request (query string,
cookie information, header) untuk membypass mekanisme keamanan.
Berikut ini tiga jenis penyerangan yang berhubungan dengan masalah
ini :
Cross site scripting
Buffer overflows
Injection flaws
Ada beberapa hal yang dapat dicatat ketika menangani validasi pada
aplikasi kita. Pertama, adalah tidak baik pada aplikasi web untuk percaya
pada client side scripting. Script tersebut biasanya menghentikan form
submission apabila terdapat sebuah input yang salah. Akan tetapi, script
tersebut tidak dapat mencegah hacker untuk membuat HTTP requestnya
sendiri yang terbebas dari form. Menggunakan client side validation masih
bisa membuat aplikasi web yang mudah diserang.
5. Buffer overflows
Penyerang dapat menggunakan buffer overflows untuk merusak aplikasi
web. Hal ini dilakukan karena penyerang mengirimkan request yang membuat
server menjalankan kode-kode yang dikirimkan oleh penyerang.
Kelemahan buffer overflow biasanya sulit dideteksi dan sulit dilakukan oleh
hacker. Akan tetapi penyerang masih bisa mencari kelemahan ini dan
melakukan buffer overflow pada sebagian aplikasi web.
Terima kasih atas desain dari Java environment, dimana aplikasi yang
berjalan pada J2EE server aman dari jenis serangan ini.
Untuk memastikan keamanan, cara yang paling baik adalah melakukan
pengawasan apabila terdapat patch atau bug report dari produk server yang
digunakan.
6. Injection Flaws
Salah satu kelemahan yang populer adalah injection flaw, dimana hacker
dapat mengirimkan atau menginject request ke operating system atau ke
external sumber seperti database.
Salah satu bentuknya adalah SQL injection. Berikut ini salah satu contoh
dari SQL injection :
http://someServer/someApp/someAction?searchString=jedi
URL diatas akan memproses pencarian dengan kata kunci 'jedi'.
Implementasi dimana tidak ada validasi input adalah seperti SQL code berikut
ini :
select * from someTable where someField='value'
dimana value adalah nilai dari parameter searchString yang ada pada
HTTP request.
Bagaimana jika, hacker melakukan input dari URL seperti ini :
http://someServer/someApp/someAction?searchString=jedi'%20AND
%20true; %20DROP%20DATABASE;'
BAB 3
Daftar Pustaka
http://mynewblogkeamanandata.blogspot.com/2015/01/keamanan-web_4.html