Authentication, Authorisation dan Access Control

Melindungi sistem dan resource dari tindakan orang yang tidak berhak dan bertanggungjawab adalah sebuah keniscayaan. Untuk tujuan ini pengembangan sistem authentication, authorisation dan access control dilakukan. Perangkat keamanan ini diperlukan untuk memberikan perangkap ACCESS DENIED bagi yang mencoba menyusup ke dalam sistem.

Anda pasti punya email. Selain corporate mail, mungkin anda punya Yahoo! mail mungkin Gmail, atau keduanya. Saya memiliki keduanya, kapasitasnya sama tanpa batasnya dan sama gratisnya, untuk memiliknya pun sama mudahnya. Menggunakan email berbasis web sangat nyaman, kita bisa buka email sambil browsing ke berbagai situs favorit.

Ketika kita mengakses situs email, ia menampilkan halaman login yang meminta kita untuk memberikan username dan password. Jika kita tidak memilikinya – kita tidak bisa login, pilihan lain adalah ia menawarkan kita untuk bergabung dengan melakukan registrasi agar kita memiliki username dan password untuk selanjutnya kita bisa menggunakan fasilitas email tersebut.

Faktor Otentikasi

Otentikasi adalah proses untuk memeriksa identitas pengguna melalui peristiwa login. Pemeriksaan dilakukan untuk mengetahui siapakah anda dan benarkan anda itu siapa. Siapakah anda biasa ditanyakan dengan username, dan benarkah anda itu siapa ditanyakan dengan password. Secara umum ada tiga macam faktor otentikasi yaitu :

  1. Berdasarkan apa yang dimiliki pengguna, seperti username, nomor telepon, nomor KTP, smartcard dan kartu ATM.
  2. Berdasarkan apa yang diketahui pengguna, seperti password,PIN, nama piaraan, dsb.
  3. Berdasarkan apa yang ada pada dirinya, seperti finger print, pola retina,pola suara, dsb.

Tingkatan Otentikasi

Otentikasi dengan dua faktor banyak digunakan, misalnya untuk akses email, pengguna cukup memiliki username dan password. Implementasi ini paling sederhana dan cukup nyaman bagi pengguna Internet.

Namun belakangan, dengan maraknya spammer yang melalukan pembanjiran sampah informasi ke berbagai situs-situs interaktif dengan menggunakan sistem yang diprogram atau robot atau bot, ada perhatian unsur keamanan pada sistem otentikasi dengan menambahkan teknik captcha. Captcha adalah teknik yang digunakan untuk memastikan bahwa yang melakukan login atau mengirim informasi adalah manusia dan bukan robot, salah satu teknik captcha yang populer adalah dengan menggunakan image bergambar tulisan yang sudah dikacaubalaukan sehingga susah dibaca, bahkan kadang-kadang sulit juga dibaca oleh manusia sendiri.

Captcha biasanya digunakan untuk post reply pada forum dan blog untuk menghindari aksi spammer. Untuk alasan kenyamanan, captcha jarang digunakan pada login. Namun untuk keamanan, captcha dimanfaatkan pada login manakala pengguna melakukan lebih dari tiga kali kegagalan login, hal ini untuk menghindari aksi pembajak username/password yang berusaha memecahkan username/password dengan menggunakan robot.

Pada kasus e-banking, tingkatan pertama otentikasi adalah memasukkan username dan PIN, namun ketika nasabah hendak melakukan transaksi transfer, nasabah diminta untuk menggunakan perangkat token untuk peningkatan otentikasinya.

Lupa Password

Bisa jadi kita gagal login karena kita memang benar-benar lupa. Jika demikian, situs yang baik akan menyediakan layanan permintaan password baru. Dan untuk memastikan bahwa yang meminta password adalah benar-benar anda, sistem akan meminta informasi lain yang dipercaya hanya anda yang mengetahuinya, seperti tanggal lahir, nama ibu, atau pertanyaan-pertanyaan yang bersifat pribadi lainnya. Itulah sebabnya, jika anda menggunakan keterangan palsu pada saat mendaftar, anda akan mengalami kesulitan ketika lupa password, apalagi lupa keterangan tambahan lainnya.

Authorisation

Otorisasi adalah proses untuk menentukan apakah seorang pengguna berhak mengakses sistem atau resources. Otorisasi dilakukan dengan cara memeriksa termasuk ke dalam kelompok atau role manakah pengguna tersebut, atau disebut juga group atau role base authorisation. Sebagai contoh terdapat beberapa macam kelompok pengguna dalam sistem informasi di sebuah perusahaan: cabang jakarta, cabang cibinong, cabang bandung, cabang cirebon, cabang malang. Masing-masing kelompok pengguna hanya bisa mengakses di cabangnya saja.

Otorisasi semacam ini kita jumpai juga pada website forum diskusi, situs dewasa, atau situs berbayar, di mana otorisasi dilakukan untuk membedakan antara member atau bukan, antara sudah dewasa atau di bawah umur, antara yang mau bayar atau gratisan, dengan tujuan untuk menyediakan resource yang berbeda untuk kelompok yang berbeda.

Otorisasi juga dilakukan untuk memberikan hak akses [privileges] yang berbeda terhadap resources, disebut juga Access Control. Pada website forum diskusi, otorisasi menentukan beragam tingkatan user, seperti: guest, member, moderator dan administrator. Guest hanya bisa melihat-lihat posting, member bisa mengirim posting, moderator bisa mengontrol postingan member, sementara administrator bisa apa saja.

Access Control

Kendali Akses [access control] atau Access Control List (ACL) adalah detail dari otorisasi. Merupakan rincian dari kewenangan apa saja yang dimiliki pengguna dalam menggunakan sistem [privileges]. Menambah data, mengedit, menghapus, memindahkan, menyalin, atau mengupload data adalah beragam tindakan yang mungkin dilakukan oleh pengguna sistem.

Kendali akses juga diimplementasikan pada lokasi dan waktu. Misalnya sistem hanya bisa diakses dari komputer-komputer dengan IP Address 10.1.105.*. Atau sistem hanya bisa diakses pada jam kerja, dan macam lain penerapan kendali akses untuk perlindungan sistem.

Penerapan Access Control

Untuk mengamankan website dan aplikas web, seyogyanya kita menerapkan kendali akses pada empat komponen sistem, yaitu sistem operasi, web server, database dan aplikasi web. Pada sistem operasi, kita menentukan file permission dari struktur direktori dan file, umumnya mode yang digunakan adalah 755 dan 644. Untuk web server, ada cukup banyak konfigurasi [directive] bisa dimanfaatkan sesuai kebutuhan, untuk website yang hosting di tempat umum, sangat dianjurkan untuk memanfaatkan .htaccess. Pada database, adalah baik menggunakan beberapa user database dengan privilege yang berbeda, jangan menggunakan user database root atau setingkatnya. Adapun pada aplikasi web, penerapan kendali akses harus benar-benar diperhatikan secara seksama, karena di sana seringkali ditemukan lubang keamanan, selain itu aplikasi web atau website berhubungan langsung dengan pengguna. Guru keamanan bilang, jangan percaya pengguna.

Perlindungan terhadap resources maupun pengguna adalah sebuah keniscayaan bagi pemilik atau penyedia layanan sistem. Audit terhadap sistem keamanan perlu dilakukan secara berkala untuk memastikan bahwa tingkat keamanan sistem tetap valid, karena bisa jadi sistem yang saat ini dianggap aman, beberapa tahun kemudian sudah tidak aman lagi.

Ingat pepatah hacker, ‘tidak ada sistem yang aman’. Tak ada peringatan ACCESS DENIED bagi para hacker, hanya tantangan. Mempelajari pemahaman para hacker adalah salah satu cara meningkatkan kemampuan kita dalam mengamankan sistem, sebab pada sistem otorisasi, sesudah tingkat administrator adalah hacker.