Kamis, 19 April 2012

Web Services Security

Istilah "Web Services atau layanan web" mengacu pada pengiriman software sebagai layanan dan komponen di Internet.  Dalam keilmuan Teknologi Informasi (TI) sebuah layanan web diartikan sebagai suatu perangkat lunak aplikasi modular yang digunakan untuk menggambarkan, mempublikasikan, mencari dan memanggil layanan di seluruh web. Layanan Web merupakan entitas yang dinamis yang dapat menemukan dan berinteraksi dengan komponen lain atau jasa di internet untuk menyediakan satu set layanan yang baru.

Bagaimana mengaktifkan web services?
Pada dasarnya, arsitektur web services berisi tiga komponen: 1) peminta layanan, 2) perantara layanan dan 3) penyedia layanan. Prosesnya adalah sebuah layanan web diminta oleh peminta layanan melalui perantara layanan dan diarahkan ke penyedia layanan. Si penyedia layanan dapat langsung memenuhi layanan yang diminta ataupun meminta layanan dari penyedia layanan lain dan dengan demikian, membuat rantai layanan dari sebuah permintaan tersebut. Ini merupakan fungsi penyedia sebagai perantara atau disebut "hop" selama proses tersebut.
Kompleksitas web service mulai terjadi ketika suatu aplikasi dengan tingkat akses yang berbeda dipanggil. Proses ini akan menjalankan permintaan dengan risiko melemahnya tingkat keamanan. Tidak seperti portal di mana "hanya akses minimum" yang diberikan maka manajemen keamanannya relative lebih mudah. Namun pada kenyataannya, sudah menjadi karakteristik dari suatu skenario layanan web, bahwa akan menjadi  efektif hanya jika sejumlah hak akses diberikan dengan tingkat hak akses yang sesuai, dan dinegosiasikan secara dinamis.

Manajemen Keamanan dalam Web Services
Isu manajemen keamanan dalam web services sebenarnya menyangkut proses-proses dibawah ini:
1) Otentikasi, yakni proses memverifikasi bahwa seorang pengguna adalah sesuai dengan yang diklaim.
2) Otorisasi, yakni proses memberikan hak pengguna untuk mengakses fungsi aplikasi tertentu
3) Administrasi, proses untuk mendaftarkan pengguna
4) Audit, proses untuk memastikan bahwa analis keamanan akan memiliki jejak audit untuk menentukan siapa melakukan apa (termasuk mekanisme logging yang diperlukan untuk merekam tindakan pengguna)

Prosedur Security Web Services
Perbedaan utama dalam tingkat keamanan di layanan web ada pada resiko quantum yang terlibat. Apalagi dengan diimplementasikannya cloud computing. Layanan Web biasanya disediakan dalam lingkungan ambigu bersama dengan makin banyaknya jumlah hop atau perantara. Untuk setiap aplikasi, keamanan diterapkan pada dua level yakni di level infrastruktur dan level aplikasi. Pada aplikasi yang berjalan dalam arsitektur client - server, maka proteksi keamanan umumnya dilaksanakan di level infrastruktur, atau point-of-entrance (disebut titik masuk), sehingga sering disebut tipe keamanan front-end.
Umumnya, sebuah aplikasi front-end memiliki daftar hak dan fasilitas log-keeping/tracking. Pengguna tidak diotentifikasi untuk aplikasi back-end atau database, sebagaimana arsitektur client-server tidak memiliki mekanisme untuk memberi data tentang sesi pengguna terotentikasi ke back end atau aplikasi yang diperlukan.
Ketika sebuah aplikasi front-end mengakses sumber daya back-end, maka aplikasi tersebut akan menggunakan nama pengguna dan password generik tunggal yang dibagi untuk seluruh sesi pengguna. Aplikasi back-end, seperti misalnya sistem manajemen database relasional (RDBMS), tidak memiliki mekanisme untuk menerima dan memvalidasi token keamanan dari front-end. Aplikasi front-end seperti itu umumnya mengotentikasi aplikasi lain, dan hak tersebut tidak diberikan di seluruh rantai aplikasi (hop).
Layanan Web menggunakan teknologi yang sama seperti yang dilakukan oleh client-server. Jumlah elemen dalam aplikasi layanan web dapat berkembang cukup pesat. Oleh karena itu, teknologi client-server  tidaklah cukup untuk menangani peningkatan jumlah hop dan tingkat akses. Itulah sebanya manajemen keamanan menjadi kompleks. Teknologi keamanan client-server yang ada sekarang ini tidak fleksibel dan cukup tidak terukur untuk pengelolaan web services yang makin kompleks dan dinamis. Oleh karena itu, untuk memastikan layanan  web aman, integrasi keamanan di seluruh infrastruktur dan aplikasi mutlak diperlukan. Prinsipnya adalah melibatkan “semua” teknologi security yang ada secara terkoordinasi.
Tujuan utama dari keamanan layanan web seharusnya untuk membuat sebuah arsitektur integrasi keamanan perusahaan aplikasi dengan mengintegrasikan keamanan pada level aplikasi dan level infrastruktur, dan untuk menerapkan tingkat keamanan yang sesuai pada saat layanan web berjalan. Untuk itu diperlukan standarisasi keamanan komunikasi, implementasi keamanan aplikasi pada tingkat granularity yang lebih tinggi, dan penyebaran mekanisme untuk menegosiasikan tingkat akses dan pelaksanaan keamanan saat layanan dijalankan.



Implementasi Keamanan  Layanan Web
Karena tidak adanya standar keamanan dan teknologi yang diterima secara luas, menerapkan standar-standar tersebut dan menawarkan layanan web yang benar-benar terukur tidaklah mudah. Masalah ini diperparah lagi oleh teknologi yang berada di beberapa standarisasi, seperti CORBA, J2EE dan dot Net. Namun, perjalanan menuju standarisasi telah dimulai dengan penggunaan teknologi seperti Secure Socket Layer (SSL), HTTPS (HyperText Transport Protocol Security), dan metode  enkripsi pada bahasa komunikasi universal, seperti XML (Extensible Markup Language). Seperti misalnya aplikasi social media Facebook, telah mulai menerapkan protocol HTTPS untuk lebih menjamin keamanan berdasarkan level dari setiap account Facebook. Fasilitas ini dapat diaktifkan dengan membuka menu privacy dan memberi pilihan centang untuk mengaktifkan. Sayangnya, secara default (settingan awal), Facebook tidak mengaktifkan fitur ini.



Kesimpulan
Menggunakan layanan web memerlukan suatu pergeseran paradigma dalam hal keamanan. Hal ini disebabkan karena pada dasarnya jaminan keamanan berbagai layanan web, terutama saat melakukan negosiasi dinamis pada tingkat hak akses saat menjalankan aplikasi masih longgar. Teknologi yang ad baru mengimplementasikan keamanan di level infrastruktur atau front-end. Untuk mengimplementasikan keamanan tingkat akses pada saat layanan web dijalankan, dibutuhkan suatu infrastruktur keamanan yang harus terintegrasi dengan keamanan  tingkat-aplikasi.
Berbagai inisiatif standardisasi telah dimulai oleh industri untuk memungkinkan integrasi keamanan antara level infrastruktur dan level aplikasi. Inisiatif juga telah dimulai dalam mengembangkan mekanisme untuk mengidentifikasi tingkat granularity berbagai keamanan untuk aplikasi. Namun, karena berbagai alasan ekonomi, inisiatif ini cenderung memakan waktu tiga sampai lima tahun sebelum tersedia pada skala lebih besar. Sampai saat itu teknologi  client-server yang ada  akan terus digunakan untuk keamanan,  yang diharapkan akan dapat mendukung beberapa hop di  layanan web.

Tidak ada komentar:

Posting Komentar