Password Management
1. Pendahuluan Ada banyak tahapan dalam mengamankan suatu sistem informasi, namun pada tahap awalnya kita harus membuat suatu security policy yang mendasari pembuatan security plan. Security policy berisi tentang aturan-aturan yang akan membantu memastikan setiap kinerja para karyawan dalam bekerja sesuai dengan apa yang diinginkan perusahaan. Semua batasan-batasan secara jelas dipaparkan dalam security plan sehingga seluruh karyawan mengerti aturan-aturan yang berkaitan dengan keamanan informasi atau basis data perusahaan. Dalam membangun security plan sistem keamanan basis data, upaya pertimbangan yang dilakukan mencakup hal-hal berikut : 1. keamanan dari sisi sistem (System Security); 2. keamanan dari sisi data (Data Security); 3. keamanan dari sisi pengguna (User Security); 4. manajemen password (Password Management). Namun pada makalah ini hanya difokuskan pada pembahasan aspek-aspek manajemen password dalam membangun suatu perencanaan sistem keamanan basis data suatu perusahaan. Sedangkan hal-hal lainnya hanya dibahas sepintas saja. 2. Keamanan Dari Sisi Sistem Setiap database memiliki satu atau lebih administrator yang bertanggung jawab terhadap segala aspek mengenai kebijakan sekuritas, yaitu security administrator. Kebijakan sekuritas dari suatu database terdiri dari beberapa sub-kebijakan sebagai berikut: 1. Database user management User dari database merupakan jalur akses menuju informasi dalam suatu database. Maka dari itu, manajemen user dari database harus memiliki kemanan yang ketat.
1
Tergantung dari besarnya sistem database dan jumlah pekerjaan mengatur user dari database, security administrator mungkin menjadi satu-satunya user yang memiliki privilege untuk melakukan perintah create, alter, atau drop user dari database. Namun ada juga administrator lain yang memiliki privilege untuk mengatur user dari database. Bagaimanapun juga, hanya individual yang bisa dipercaya yang memiliki powerful privilege untuk mengatur user dari database. 2. User authentication User dari database dapat diautentikasi dengan menggunakan password database, sistem operasi, layanan jaringan, atau Secure Socket Layer (SSL). 3. Operating system security Hal-hal lain yang perlu dipertimbangkan
di lingkungan sistem operasi yang
berkaitan dengan keamanan aplikasi database adalah sebagai berikut: - Administrator database harus memiliki privilege sistem operasi untuk membuat dan menghapus file; - User umum dari database tidak memiliki privilege sistem operasi untuk membuat atau menghapus file yang berkaitan dengan database.
3. Keamanan Dari Sisi Data Sekuritas data merupakan suatu mekanisme yang mengontrol akses dan penggunaan database pada level obyek. Manajemen sekuritas data menentukan user mana yang memiliki akses ke obyek skema tertentu. Misalnya, user tertentu dapat melakukan perintah select dan insert, tapi tidak dapat melakukan perintah delete terhadap tabel tertentu pula. Manajemen sekuritas data ditentukan berdasarkan seberapa jauh level keamanan yang akan dibangun untuk data dalam database. Secara umum, level sekuritas data bergantung pada tingkat sensitifitas suatu data dalam database.
2
4. Keamanan Dari Sisi Pengguna Manajemen keamanan user dapat dibagi menjadi aspek-aspek berikut : 1. General user security, menyangkut hal-hal mengenai sekuritas password dan manajemen akses; 2. End-user security, bila cakupan database sangat besar dengan banyak user, maka security administrator harus menentukan kelompok kategori user, membuat role untuk setiap kelompok user, melakukan grant privilege terhadap kategori role, dan menempatkan role tersebut kepada masing-masing user; 3. Administrator security, bila cakupan database besar dan terdapat beberapa macam database administrator, security administrator harus menentukan kelompok privilege administratif untuk dimasukkan dalam beberapa role administratif; 4. Application developer security, security administrator perlu mendefinisikan kebijakan sekuritas yang khusus membangun aplikasi berbasis database; 5. Application administrator security, dalam suatu sistem database besar yang memiliki banyak aplikasi database, diperlukan beberapa administrator aplikasi, yang memiliki tugas membuat role untuk aplikasi dan mengatur privilege untuk setiap role aplikasi.
5. Manajemen Password Sistem keamanan database bergantung pada kerahasiaan penyimpanan password. Namun demikian, panggunaan password masih saja rentan terhadap pencurian, pemalsuan, dan penyalahgunaan. Untuk itu diperlukan manajemen password. Sebagai contoh, database Oracle memiliki manajemen password yang dapat mengatasi hal-hal berikut: 1. Account locking; 2. Password aging & expiration; 3. Password complexity verification.
3
5.1 Account Locking Jika ada user yang melakukan kesalahan login beberapa kali melebihi dengan yang sudah ditentukan, maka server secara otomatis akan melakukan locking terhadap account tersebut. Administrator akan menentukan jumlah batas percobaan kesalahan melakukan login, dan lamanya account akan di-locking. Namun administrator juga dapat melakukan locking terhadap account tertentu secara langsung. Locking dengan cara ini, tidak dapat dilakukan unlocking secara otomatis. 5.2 Password Aging & Expiration Administrator dapat menentukan masa berlakunya penggunaan password. Bila masa berlakunya sudah lewat, maka user tersebut atau administratornya harus mengubah password tersebut. Administrator juga dapat menentukan grace period, yaitu tenggang waktu yang diberikan kepada user untuk mengganti passwordnya. Bila passwordnya belum diganti hingga grace period berakhir, maka accountnya akan hangus dan user tersebut tidak dapat lagi melakukan login. Administrator juga dapat menentukan interval waktu di mana password yang sudah expired tidak dapat digunakan lagi secara langsung. 5.3 Password Complexity Verification Password complexity verification dapat dispesifikasi menggunakan PL/SQL yang akan mengatur parameter profil default. Password complexity verification akan melakukan pemeriksaan-pemeriksaan berikut: - password memiliki panjang minimum 4; - password tidak sama dengan user ID; - password sedikitnya memiliki satu alfa, satu numerik, dan satu tanda baca; - password tidak boleh sama dengan kata-kata sederhana seperti welcome, account, database, atau user; - password yang baru harus berbeda sedikitnya tiga huruf dengan password yang lama.
4
6. Aspek – Aspek Manajemen Password Manajemen password meliputi aspek-aspek berikut :
autentifikasi user & password (user authentication & password), mendeskripsikan tujuan autentifikasi user dan teknologi alternatif untuk autentifikasi;
ancaman sekuritas (security threat),
daftar ancaman sekuritas terhadap sistem
jaringan yang diproteksi dengan password;
faktor manusia (human factor), mendeskripsikan bagaimana perilaku manusia mempengaruhi manajemen password;
komposisi aturan (composition rule), mendeskripsikan aturan-aturan yang direkomendasikan untuk mengkomposisi password;
mengubah & menggunakan kembali password (changing & reusing password), mendeskripsikan rekomendasi untuk secara periodik mengubah password dantidak menggunakan password lama;
kerahasiaan (secrecy), mendeskripsikan keperluan untuk menyimpan password tanpa pengetahuan orang lain;
deteksi penyusup (intruder detection), mendeteksi dan merespons terhadap serangan sekuritas;
enkripsi (encryption), menggunakan teknik enkripsi untuk melindungi password di tempat penyimpanan ataupun pada waktu pemakaian;
sinkronisasi
(synchronization),
mendeskripsikan
alasan-alasan
dan
risiko
menyimpan password pada sistem yang berbeda dengan password yang sama;
dukungan terhadap user (user support), mendeskripsikan permasalahan password yang dihadapi user, dan bagaimana menyelesaikannya dengan aman;
password windows (windows password), mendeskripsikan password yang digunakan pada sistem operasi Windows 95, 98, dan ME;
Autentifikasi User & Password (User Authentication & Password)
5
Banyak aplikasi tergantung pada identifikasi user yang andal (autentifikasi) Sepanjang tahun, banyak teknologi yang telah dikembangkan utuk mendukung persyaratan ini. Teknologi autentifikasi dapat dikategorikan sebagai berikut. Paradigma Sekuritas Secret : sesuatu yang diketahui
Deskripsi Informasi rahasia yang hanya
Contoh Password atau PIN
Token : sesuatu yang dimiliki
diketahui user Peralatan fisik yang dimiliki
Smart card atau token card
Biometric : sesuatu yang
user Karakterisik unik dari user
Sidik jari, retina, atau suara
dimiliki manusia dari lahir
Pada umumnya, akan lebih aman menggunakan banyak tabel autentifikasi, misalnya pemakaian smart card yang dikombinasikan dengan password. Tipe autentifikasi seperti ini lebih lanjut dikategorikan sebagai berikut. Karakteristik Keandalan identifkasi Memerlukan hardware di sisi client Memerlukan software di sisi client
Secret Baik Tidak Tidak
Token Sangat baik Kadang-kadang Kadang-kadang
Biometric Sangat baik sekali Ya Ya
Ancaman Sekuritas (Security Threat) Password pada intinya berupa kumpulan kaakter yang bersifat rahasia. Password dapat diketahui dari hal-hal berikut :
user menulis atau memberitahu passwordnya kepada orang lain sehingga password tidak lagi bersifat rahasia;
password dapat ditebak, baik oleh manusia ataupun program yang didesain secara cepat mencoba berbagai kemungkinan;
password dapat ditransmisikan melalui jaringan dalam bentuk teks sederhana atau yang telah dikodekan, tetapi dapat dengan mudah diterjemahkan kembali;
password sering disimpan di workstation, server, media backup dalam format tidak dikodekan atau dikodekan, tetapi dengan suatu cara dapat diterjemahkan kembali.
Salah satu dari hal-hal di atas memudahkan seseorang mendapatkan password orang lain sehingga merupakan ancaman bagi sistem yang dimasuki.
6
Faktor Manusia (Human Factor) User-user di suatu perusahaan besar seringkali memiliki banyak password, yang masing-masing memproteksi akses mereka ke sistem komputer yang berbeda. User pada dasarnya memiliki batasan, yang membatasi apa yang dapat dilakukan dalam konteks manajemen password yang aman. Umumnya, tidak mudah bagi user untuk mengingat :
password-password yang rumit;
password-password yang berbeda;
password-password yang sering diubah;
password-password untuk sistem yang jarang digunakan.
Ketika seseorang mengalami kesulitan mengingat passwordnya, ia cenderung melakukan hal-hal berikut :
menulis paswordnya sehingga mengurangi tingkat sekuritas;
melupakan passwordnya dan membutuhkan bantuan dari komputer untuk meresetnya;
menggunakan password yang sederhana dan mudah diingat;
menggunakan password lama sesering mungkin.
Jadi cukup jelas bahwa manajemen password harus dipertimbangkan untuk membatasi masalah.
Komposisi Aturan (Composition Rule) Salah satu kelemahan dari sistem password adalah ia dapat ditebak. Seseorang mungkin akan menyerah mencoba menebak hingga 10 atau 100 password, tetapi perangkat lunak seperti crack akan dengan senang mencoba hingga jutaan kemungkinan atau lebih. Agar password sulit ditebak, maka user harus memilih password yang merupakan kombinasi dari huruf kecil, huruf besar, angka, tanda baca, dan lain sebagainya. Kemungkinan kombinasi dari berbagai jumlah karakter yang diperbolehkan dapat dilihat pada tabel berikut.
7
Karakter 0-9 a-z a-z, 0-9 a-z, A-Z a-z, A-Z, 0-9 a-z,A-Z,0-9,32
5 1.00e05 1.19e07 6.05e07 3.80e08 9.16e08 7.34e09
6 1.00e06 3.09e08 2.18e09 1.98e10 5.68e10 6.90e11
Panjang Password 7 8 1.00e07 1.00e08 8.03e09 2.09e11 7.84e10 2.82e12 1.03e12 5.35e13 3.52e12 2.18e14 6.48e13 6.10e15
9 1.00e09 5.43e12 1.02e14 2.78e15 1.35e16 5.73e17
10 1.00e10 1.41e14 3.66e15 1.45e17 8.39e17 5.39e19
tanda baca
Untuk memastikan pencarian membutuhkan memori yang besar, maka
password sekurang-kurangnya terdiri dari 7 karakter;
password harus mengandung sekurang-kurangnya sebuah karakter dan sebuah angka;
jika sistem yang digunakan membedakan huruf besar dan huruf kecil, maka password harus mengandung huruf besar dan huruf kecil, dan sekurang-kurangnya sebuah tanda baca atau karakter khusus.
Untuk mengeliminasi password yang mudah ditebak, maka :
password tidak didasarkan atas nama orang atau ID login;
password tidak didasarkan atas kata yang berada di dalam kamus, dalam semua bahasa;
password tidak mengandung lebih dari 2 karakter yang sama berdampingan, misalnya abbcdde adalah valid sedangkan abbbcdd tidak valid.
Mengubah & Menggunakan Kembali Password (Changing & Reusing Password) Password dapat disebarkan dengan banyak cara, termasuk
user memberitahu passwordnya ke teman atau rekan kerjanya;
user menulisnya pada buku harian;
password dapat ditebak, baik oleh manusia ataupun perangkat lunak
server sebagai tempat menyimpan password dapat ditembus, dan password dapat diambil oleh penyusup;
8
jaringan tempat password ditransfer antara host user dengan server tidak aman sehingga dapat ditembus oleh penyusup;
user dapat ditipu agar memberitahu passwordnya.
Untuk membatasi pemakaian password, maka jalan terbaik adalah mengubah password tersebut secara teratur. Umumnya pada beberapa sistem dapat memaksa user untuk mengganti password mereka ketika login jika password tersebut belum diganti dan telah melewati batas yang ditentukan (misal 30 atau 60 hari). Intinya, user harus mengganti passwordnya secara teratur, paling lama 90 hari sekali. Dengan alasan yang sama, user sebaiknya tidak menggunakan kembali password yang lama. Kebanyakan sistem merecord beberapa representasi dari password lama dan memastikan user tidak dapat mengganti passwordnya ke password yang lama.
Kerahasiaan (Secrecy) Password dimaksudkan untuk memberi identitas yang unik ke tiap user. Oleh karena itu, ia harus bersifat rahasia atau hanya diketahui oleh user yang bersangkutan. Namun seringkali user berperilaku sehingga passwordnya dapat diketahui oleh orang lain. Perilaku itu misalnya :
memilih password yang mudah ditebak sehingga tidak benar-benar rahasia;
memberitahu passwordnya ke teman, rekan kerja, atau anggota keluarga;
menulis passwordnya dan meletakkannya di dekat komputer atau di tempat yang privat seperti dompet. Kebijakan manajemen password harus melarang perilaku-perilaku di atas dan
memberikan hukuman bagi mereka yang melanggar larangan. Sebagai tambahan, mekanisme alternatif harus disediakan untuk membantu user mengelola passwordnya tanpa menulisnya atau memberitahu ke individu lain. Jawaban dari mekanisme alternatif ini adalah sinkronisasi password, yang membantu user mengingat passwordnya. Pembahasan mengenai sinkronisasi password pada sub bagian 6.9.
9
Deteksi Penyusup (Intruder Detection) Kebanyakan sistem dapat mendeteksi usaha user untuk login dengan password yang salah. Jika usaha percobaan itu mengalami kegagalan dalam jumlah yang banyak dan dalam waktu yang singkat, kemungkinan besar seseorang mencoba menebak password user lain. Untuk membuat proses penebakan password lebih sulit, kebanyakan sistem menyertakan fasilitas intruder lockout. Fasilitas ini bekerja dengan prinsip berikut : jika usaha yang tidak valid dilakukan sebanyak N kali untuk account yang sama dan berlangsung selama T1 menit, maka account akan dimatikan selama T2 menit. Selagi mekanisme ini efektif menghambat serangan terhadap sebuah account, penyusup tetap saja tidak dicegah untuk mencoba menebak password dari berbagai user. Karena keterbatasan ini, maka sangat baik bila membatasi intruder lockout ke hal-hal berikut :
diaplikasikan hanya ke user;
diaplikasikan dengan threshold yang tinggi untuk pendeteksian intruder, misalnya 5 kali percobaan gafal selam 2 menit;
otomatis membebaskan lockout dengan cepat, misal setelah 10 menit.
Enkripsi (Encryption) Password dapat disimpan pada workstation yang digunakan user atau server. Password perlu ditransmisi dalam bentuk tertentu dari workstation yang digunakan user ke server ketika user pertama kali login dan mungkin akan ditransfer lagi berikutnya. Tidak banyak yang dapat dilakukan untuk memaksa enkripsi password atau hashing pada produk server yang ada. Namun, jika kita bertanggung jawab untuk mengembangkan server atau aplikasi baru yang mengatur passwordnya sendiri, maka sangat baik bila menyimpan password tersebut menggunakan algoritma hashing yang dipercaya, seperti MD5 atau SHA. Password ditransmisi dari workstation ke server mirip halnya dengan subyek ke protokol yang dikembangkan oleh vendor server. Pada umunya, mainframe, mini-komputer, dan server UNIX cenderung tidak menggunakan enkripsi secara default, meskipun enkripsi tersedia dari banyak vendor.
10
Jika sekuritas password penting dalam suatu perusahaan dan sekuritas fisik media komunikasi antara user dan sistem tidak dapat dipercaya, maka perlu untuk mempertimbangkan mekanisme tambahan untuk melindungi sesi login. Beberapa workstation dapat menyimpan password dan secara otomatis menyediakan password tersebut ke server ketika user memerlukan akses. Password cache ini juga memerlukan proteksi kriptografi. Pada beberap kasus, protokol yang disediakan oleh suatu vendor dapat mengenkripsikan passsword ketika password digunakan untuk login ke sistem, tetapi tidak ketika perubahan password ditransmisi. Pada kasus ini, jika manajemen password diterapkan, akan sangat berguna membuat perangkat lunak untuk mengimplementasikan enkripsinya sendiri daripada menggunakan enkripsi yang disediakan sistem vendor. Sinkronisasi (Synchronization) Sinkronisasi password merupakan proses yang membantu user untuk mengingat password yang digunakan untuk login ke sistem. Terdapat debat apakah sinkronisasi password membuat sistem lebih aman atau tidak. Argumen yang ada sebagai berikut :
sinkronisasi password mengurangi tingkat sekuritas Jika sebuah sistem sangat tidak aman, kemudian memberikan peluang bagi penyusup untuk mendapatkan password bagi semua sistem yang ada di jaringan. Hal ini diatasi dengan mensyaratkan user menggunakan password yang berbeda untuk tiap sistem.
sinkronisasi password memperbaiki tingkat sekuritas User dengan banyak password mendapatkan masalah untuk mengingat passwordpassword yang digunakan dan akibatnya menulis mereka. Sekuritas sistem menjadi sekuritas fisik dari selembar kertas, yaitu hampir tidak ada sekuritas sama sekali. Pada praktiknya, sangat sulit atau tidak mungkin untuk mencegah user dengan password yang tidak sinkron untuk tidak menulisnya ke kertas.
Dua skenario di atas membawa dua kategori baru sebagai berikut :
Synchronized password, semakin aman bila semakin sedikit sistem dalam jaringan;
11
Unsynchronized password, mengurangi proteksi terhadap media kertas yang digunakan Karena kebanyakan sistem berusaha melakukan usaha sesedikit mungkin untuk
melindungi password mereka, synchronized password lebih aman. Untuk mengurangi risiko sistem tunggal dimasuki oleh penyusup, maka :
sistem yang sangat tidak aman sebaiknya tidak berpartisipasi dalam sistem yang menggunakan sinkronisasi password;
password yang disinkronisasi sebaiknya diganti secara teratur;
user sebaiknya memilih password yang sulit ditebak ketika sinkronisasi dgunakan.
Intinya, password tunggal, sulit ditebak, dan diganti secara teratur lebih aman dibanding multi-password, yang sebagian mungkin mudah ditebak, sebagian tidak diganti secara teratur, dan semuanya mungkin ditulis di kertas. Dukungan Terhadap User (User Support) Kadangkala user lupa akan password yang harus diketik ketika hendak masuk ke sistem jaringan atau menuliskan password yang salah terlalu sering, dan mentrigger intruder lockout pada accountnya. Ketika hal ini terjadi, user perlu meminta bantuan ke help desk. Biasanya, proses yang dilakukan terhadap help desk sebagai berikut :
user mengalami masalah ketika mencoba login;
help desk menanyakan nama user dan deskripsi masalah;
help desk menanyakan informasi guna membuktikan identitas user;
help desk membandingkan informasi dengan sumber yang sedang on-line;
jika user dikenali, layanan help desk akan mereset password secara langsung atau mem-forward masalah ke orang tertentu yang memiliki tool dan hak mereset password user;
user mencoba login dengan password yang baru diberikan;
user perlu mengganti passwordnya sesegera mungkin.
Password Windows (Windows Password)
12
Windows 95, 98, dan ME – kolektif disebut Win9x – merupakan sistem operasi yang umum digunakan tetapi kurang dilengkapi sistem proteksi sekuritas. Karena sistem operasi ini cukup banyak digunakan dan menghadapi permasalahan yang serius terhadap sekuritas, komponen khusus telah tersedia untuk sistem operasi tersebut. Workstation Win9x dapat menggunakan 4 password yang terpisah, yaitu :
window login password, yang diperlukan untuk masuk ke workstation;
password yang digunakan untuk melindungi screen saver;
password yang digunakan untuk masuk ke layanan jaringan Microsoft;
password yang digunakan untuk masuk ke jaringan dari vendor lain, seperti Novell.
Tiap-tiap password di atas bersifat optional dan biasanya masing-masing dikelola secara terpisah.
Validasi tiap-tiap password dan kemampuan untuk mengubah tiap password diatur oleh fasilitas-fasilitas berikut :
DLL untuk mengatur tiap password;
Password Window digunakan untuk mengenkripsi password cache file di direktori Windows dengan ekstensi .PWL;
Password screen saver disimpan di registry. Windows password cache diimplementasikan menggunakan enkripsi sederhana.
Akibatnya, intruder yang secara fisik dapat mengakses workstation Win9x, atau yang dapat membaca file, dapat memperoleh file PWL dan mendekripsi password. Ini memberikan intruder password login Windows dan password jaringan yang disimpan di file PWL. Password screen saver Window disimpan di registry dengan teknik enkripsi yang sederhana juga. Intruder yang memiliki akses fisik ke workstation Win9x atau yang dapat membaca registry Win9x dapat mengambil dan mendekripsi password tersebut. Akhirnya, prompt login pada workstation Win9x dapat selalu di-bypass
13
dengan me-reboot workstation dari floppy disk atau CD-ROM atau restart sistem dalam mode safe. Karena mekanisme Windows password caching tidak aman dan sulit bagi user untuk mengatur banyak password, akan lebih baik jika workstation Win9x dikonfigurasi sehingga password Windows dan screen saver divalidasi terhadap penyedia jaringan – Microsoft, Novell, atau vendor lainnya. Untuk meningkatkan sekuritas, password caching dapat di-disable. Lebih lanjut, bagi workstation yang permanen terhubung ke jaringan, dimungkinkan untuk mendapatkan validasi password sebelum login Windows, Hal ini akan mematikan kemampuan user untuk mem-bypass login screen dengan menekan tombol Escape, tetapi tidak dengan kemampuan user untuk melakukan booting dengan floppy disk atau dalam mode safe. Jika password user disinkronisasi, password caching tidak diperlukan, karena Win9x akan secara otomatis berusaha mengguankan password pertama user untuk mengakses sumber-sumber jaringan.
14
Kesimpulan
Manajemen password diperlukan untuk melidungi sumbser-sumber informasi suatu perusahaan atau organisasi dari serangan penyusup yang umumnya merugikan perusahaan. Untuk melaksanakan manajemen password dengan tepat, perlu diperhatikan berbagai aspek-aspek pembentuknya, yaitu autentifikasi user & password, ancaman sekuritas, faktor manusia, komposisi aturan, mengubah & menggunakan kembali password, kerahasiaan, deteksi penyusup, enkripsi, sinkronisasi, mendukung user, password windows, dan lain sebagainya. Berdasarkan aspek-aspek tersebut, diharapkan manajemen password dapat dijalankannya dengan semestinya dan data-data penting perusahaan atau organisasi dapat terlindungi.
15
Daftar Pustaka
http://citeseer.nj.nec.com/258143.html http://www.governmentsecurity.org/articles/DatabaseSecurityCommonsensePrinciples.php http://education.protegrity.com/downloads/SecureData_IBMv1.pdf http://budi.insan.co.id/courses/el695/projects/pswd_management.pdf
16