Practices and Procedures Chapter 14: Database Security
Your Date Here Clarissa Luthfia Rachmad (H96218054)
Daftar Isi 1. Database Security Basics 2. Granting and Revoking Authority 3. Authorization Roles and Group 4. Other Database Security Mechanisms 5. Auditing
Your Date Here Your Footer Goes Here 2
Semua sumber daya basis data dikontrol oleh DBMS. Menggunakan fitur keamanan DBMS, DBA dapat mengatur lingkungan sedemikian rupa sehingga hanya tertentu pengguna atau program aplikasi tertentu diizinkan untuk melakukan operasi tertentu pada data tertentu di dalamnya data. Setiap fungsi pengguna dalam organisasi harus menentukan level resmi akses basis data. Tantangan operasional untuk mengelola keamanan basis data secara efektif muncul karena pengaturan dan mengelola otorisasi basis data membutuhkan keahlian teknis dan hak istimewa yang ditingkatkan. Banyak aspek keamanan basis data memerlukan berbagai utilitas, prosedur sistem, dan perintah melaksanakan. DBA harus mengelola keamanan basis data sebagai komponen pekerjaannya. 1. Database Security Basics Otentikasi yang kuat adalah landasan dari setiap rencana implementasi keamanan. Ketika DBMS mengontrol penambahan login, DBA diperlukan untuk memberikan informasi tertentu tentang login saat dibuat. Biasanya, selain nama atau ID login yang sebenarnya, berikut ini informasi dapat atau harus disediakan: • Kata Sandi - frasa kunci, kata, atau string karakter yang terkait dengan login baru itu harus disediakan oleh pengguna sebelum akses ke database diizinkan. • Basis data default - nama basis data yang awalnya akan dihubungkan oleh pengguna saat login. • Bahasa default - bahasa default yang ditetapkan untuk login saat menggunakan DBMS jika banyak bahasa didukung. • Nama - nama lengkap sebenarnya dari pengguna yang terkait dengan login ini. • Detail tambahan - detail tambahan tentang pengguna yang membuat proses masuk: e-mail, nomor telepon, lokasi kantor, unit bisnis, dan sebagainya. Ini berguna untuk tujuan dokumentasi. Kata sandi harus diubah secara teratur dari waktu ke waktu. Batasi pengguna basis data yang dapat membuat objek basis data hanya untuk DBA. Panduan kata sandi: • Hindari kata sandi yang terlalu pendek. Setiap kata sandi setidaknya harus enam panjang karakter, lebih banyak jika memungkinkan. • Setiap kata sandi setidaknya terdiri dari kombinasi karakter alfabet dan karakter numerik. Menggunakan simbol lain yang diizinkan membuat kata sandi sulit ditebak. • Hindari membuat kata sandi yang merupakan kata lengkap (baik dalam bahasa asli) dari pengguna atau bahasa asing apa pun). • Jangan menyematkan statistik pribadi dalam kata sandi. Alamat jalan, jaminan social angka, nomor telepon, dan sejenisnya mudah ditebak dan tidak termasuk dalam kata sandi. • Pertimbangkan untuk menggabungkan dua kata yang tidak terkait dengan simbol atau angka di antaranya mereka. Sebagai seorang DBA, Anda harus bekerja dengan tim administrasi keamanan organisasi Anda buat pedoman seperti di atas dan distribusikan ke pengguna basis data Anda. Perlu diingat bahwa login yang dijatuhkan harus dibuat lagi jika diperlukan lagi. Untuk alasan ini, ikuti aturan praktis berikut tentang administrasi login: • Kunci login yang mungkin perlu diaktifkan kembali. • Jatuhkan login yang tidak perlu diaktifkan kembali. Beberapa DBMS menyediakan kontrol dan parameter tambahan pada login dan kata sandi. Sebagai contoh, beberapa DBMS menyediakan parameter profil untuk kata sandi yang dapat digunakan untuk membatasi yang berikut ini: • Jumlah upaya login yang gagal sebelum akun dikunci • Jumlah hari kata sandi valid, masa tenggang untuk mengubah kata sandi yang kedaluwarsa • Jumlah hari akun dapat tetap terkunci ketika kata sandi berakhir • Dapat digunakan kembali kata sandi (jumlah hari sebelum kata sandi dapat digunakan kembali dan jumlah maksimum kata sandi dapat digunakan kembali) Menegakkan standar kata sandi perusahaan. 1.1 Penggunaan Database • Login, kadang-kadang disebut akun, digunakan untuk mengakses DBMS, atau server database. Untuk alasan ini, kadang-kadang juga dikenal sebagai ID pengguna server, atau SUID. • Nama pengguna kadang-kadang disebut sebagai ID basis data. Nama pengguna dikaitkan dengan akun masuk. Pengguna diharuskan oleh beberapa implementasi DBMS untuk diatur dengan nama pengguna basis data untuk mengakses setiap basis data. Penggunaan database oleh tamu diizinkan dengan mengonfigurasi nama pengguna khusus yang mengizinkan pengguna mengakses database sebagai TAMU. Menambahkan pengguna TAMU untuk basis data memungkinkan setiap masuk dengan nama pengguna khusus untuk mengakses database 2. Granting and Revoking Authority DBA mengontrol keamanan dan otorisasi basis data menggunakan Data Control Language, atau DCL. Pernyataan DCL terdiri dari dua tipe dasar: • GRANT memberikan izin kepada pengguna basis data. • REVOKE menghapus izin dari pengguna basis data. Secara umum, penggunaan klausul ini tergantung pada apakah praktik instalasi terpusat atau administrasi hak istimewa yang terdesentralisasi. • Administrasi yang terdesentralisasi umumnya lebih mudah dibangun, tetapi lebih sulit dikendalikan. Karena semakin banyak pengguna mendapatkan wewenang untuk memberikan hak istimewa, ruang lingkup otoritas adalah melebar dan menjadi berat. • Administrasi terpusat umumnya lebih mudah untuk dikelola, tetapi menempatkan beban pada administrator terpusat sebagai wasit tunggal hak istimewa dalam lingkungan. 2.1 Jenis Hak Istimewa Jenis hak istimewa berikut biasanya disediakan oleh DBMS modern: • Tabel: untuk mengontrol siapa yang dapat mengakses dan memodifikasi data dalam tabel • Objek basis data: untuk mengontrol siapa yang dapat membuat objek basis data baru dan menjatuhkan basis data yang ada benda • Sistem: untuk mengontrol siapa yang dapat melakukan beberapa jenis aktivitas sistem secara umum • Program: untuk mengontrol siapa yang dapat membuat, memodifikasi, dan menggunakan program basis data • Prosedur tersimpan: untuk mengontrol siapa yang dapat menjalankan fungsi tertentu dan prosedur tersimpan 2.1.1 Pemberian Hak Istimewa Tabel Hak istimewa berikut dapat diberikan untuk tabel dan tampilan: • SELECT: untuk memungkinkan pengguna memilih dari tabel / tampilan ini • INSERT: untuk memungkinkan pengguna memasukkan baris ke tabel / tampilan ini • PEMBARUAN: untuk memungkinkan pengguna memperbarui tabel / tampilan ini • HAPUS: untuk memungkinkan pengguna menghapus baris dari tabel / tampilan ini • ALL: untuk memungkinkan pengguna memilih, menyisipkan, memperbarui, dan menghapus menggunakan tabel / tampilan ini 2.1.2 Pemberian Hak Istimewa Objek Basis Data Hak istimewa objek basis data mengontrol pengguna mana yang memiliki izin untuk membuat struktur basis data. Hak istimewa aktual yang dapat diberikan akan tergantung pada DBMS dan jenis objek basis data didukung. Umumnya, DBMS akan memberikan opsi untuk memberikan hak CREATE pada setiap jenis objek basis data, termasuk basis data, tablespace, tabel, indeks, triggers, default, dan yang ditentukan pengguna tipe data. 2.1.3 Sistem Pemberian Hak Istimewa Hak istimewa sistem mengontrol pengguna mana yang dapat menggunakan fitur DBMS tertentu dan menjalankan DBMS tertentu perintah. Hak istimewa sistem yang tersedia akan bervariasi dari DBMS ke DBMS tetapi dapat mencakup kemampuan untuk mengarsipkan log basis data, mematikan dan me-restart server basis data, memulai jejak untuk pemantauan, mengelola penyimpanan, dan mengelola cache basis data. Hak istimewa sistem tidak dapat diberikan pada tingkat basis data. Hak istimewa sistem harus diberikan dengan hati-hati dan biasanya harus disediakan untuk DBA dan SA. 2.2 Pemberian Kepada PUBLIK Sebagai alternatif untuk memberikan akses ke pengguna basis data, DBA dapat memilih untuk memberikan tertentu otorisasi kepada PUBLIC. Ketika otorisasi diberikan kepada PUBLIC, DBMS akan mengizinkan siapa saja yang dapat masuk ke DBMS yang memiliki otoritas tertentu. 2.2.1 Mencabut Hak Istimewa Pernyataan REVOKE digunakan untuk menghapus hak istimewa yang sebelumnya diberikan. Ketika hak istimewa dicabut, DBMS harus memutuskan apakah diperlukan pencabutan tambahan, berdasarkan pada hak istimewa yang dicabut. Ketika satu pencabutan menyebabkan DBMS untuk mencabut tambahan hak istimewa terkait, itu disebut REVOKEs mengalir. Hindari pemberian hak istimewa menggunakan OPSI DENGAN GRANT.
2.2.2 Kronologi dan Pencabutan
Waktu pernyataan GRANT atau REVOKE dapat mempengaruhi dampaknya.DBA perlu memahami dengan tepat bagaimana GRANT dan REVOKE bekerja untuk setiap DBMS diadministrasi untuk mengelola hak istimewa pada objek dan sumber daya basis data dengan benar. 2.2.3 Pelaporan Keamanan Setelah diberikan, DBA perlu memonitor dan melaporkan hak istimewa yang dimiliki oleh pengguna. Sebagai pertimbangan lebih lanjut, pastikan untuk secara memadai melindungi keamanan katalog sistem, khususnya dalam sistem produksi. Hanya DBA, SA, dan administrator keamanan yang memerlukan akses ke informasi keamanan basis data yang disimpan dalam katalog sistem. 3. Authorization Roles and Group Selain memberikan hak istimewa kepada pengguna individu, DBMS dapat memberikan kemampuan untuk menetapkan • Hak istimewa khusus untuk suatu peran, yang kemudian diberikan kepada orang lain • Kelompok hak istimewa bawaan khusus untuk pengguna 3.1 Peran DBA dapat membuat peran dan menetapkan hak istimewa tertentu untuk peran itu. 3.2 Grup Setiap DBMS menyediakan grup bawaan yang tidak dapat diubah: • Administrator sistem • Administrator basis data • Pemeliharaan basis data. • Administrator keamanan . • Kontrol operasi . 3.3 Batasi Jumlah Pengguna SA Seorang pengguna dengan kemampuan SA sangat kuat. 3.4 Keamanan Tingkat Grup dan Cascading REVOKEs Bergantung pada grup, beberapa pengguna yang telah diberi hak tingkat grup dapat memberikan hak istimewa untuk pengguna lain. Jika otoritas tingkat grup dicabut dari pengguna itu, ada hak istimewa itu pengguna yang diberikan juga akan dicabut 4. Other Database Security Mechanisms Produk DBMS relasional modern mendukung banyak kemampuan dan kualitas yang dapat membantu dalam pengamanan data. Beberapa dari kemampuan ini terutama bukan fitur keamanan. 4.1 Menggunakan Tampilan untuk Keamanan Sebagian besar keamanan basis data dilakukan menggunakan keamanan asli DBMS. Namun, itu mungkin untuk menyederhanakan beberapa aspek keamanan basis data dengan membuat tampilan untuk melindungi data Anda. Tampilan dapat dibuat yang menghilangkan informasi sensitif. 4.2 Menggunakan Prosedur yang Disimpan untuk Keamanan Hak istimewa untuk menjalankan prosedur tersimpan harus secara eksplisit diberikan atau dicabut. 4.3 Keamanan Berorientasi Logika Kadang-kadang perlu untuk menerapkan keamanan berdasarkan suatu algoritma. 5. Auditing Audit adalah fasilitas DBMS yang memungkinkan DBA melacak penggunaan sumber daya dan hak istimewa basis data. Sebagian besar fasilitas audit memungkinkan pembuatan catatan audit selektif. Meskipun setiap DBMS menawarkan kemampuan audit yang berbeda, beberapa item umum yang dapat diaudit oleh fasilitas audit DBMS termasuk • Upaya masuk dan keluar (berhasil dan tidak berhasil) • Server database dihidupkan ulang • Perintah yang dikeluarkan oleh pengguna dengan hak administrator sistem • Pelanggaran integritas yang dicoba (di mana data yang diubah atau dimasukkan tidak cocok dengan referensi, unik, atau periksa kendala) • PILIH, INSERT, PEMBARUAN, dan HAPUS operasi • Pelaksanaan prosedur tersimpan • Upaya yang gagal untuk mengakses database atau tabel (kegagalan otorisasi) • Perubahan pada tabel katalog sistem • Operasi tingkat baris Audit juga dapat digunakan untuk pemulihan data. Jika Anda telah mengaktifkan audit basis data di situs Anda, pertimbangkan saran berikut: • Audit dapat menjadi konsumen besar sumber daya sistem. • Tempatkan tabel katalog sistem yang menyimpan informasi terkait keamanan di tempat terpisah, disk tidak aktif. 5.1 Keamanan Eksternal Ketika menggunakan mekanisme keamanan eksternal untuk melindungi sumber daya terkait database, DBA harus fokus terutama pada set data dan file yang digunakan oleh DBMS. Set data yang akan dilindungi di operasi sistem atau tingkat sistem file termasuk • File data katalog sistem • Aktif dan arsipkan file log • Set data pengguna untuk tablespace • Kumpulan data pengguna untuk indeks • File data audit • File penelusuran kinerja • File program dan skrip (sumber dan kode yang dapat dieksekusi) 5.2 Penjadwalan dan Keamanan Pekerjaan bukan ide yang sangat baik untuk memberikan otoritas SYSADM ke penjadwal pekerjaan. Melakukan hal itu akan memungkinkan pekerjaan apa pun untuk melakukan tugas basis data apa pun — menciptakan masalah keamanan yang berpotensi parah. Sebagai gantinya, menentukan bagaimana memberikan otorisasi perorangan untuk pekerjaan tertentu menggunakan fasilitas penjadwalan paket dan DBMS. 5.3 Keamanan DBA Non-DBMS DBA perlu memiliki tingkat otoritas sistem operasi yang cukup tinggi untuk dapat bekerja pekerjaan mengelola dan mengelola basis data dan data organisasi. Bagaimanapun juga, DBA dan SA akan perlu bekerja sama untuk menciptakan pendekatan keamanan sistem operasi yang efektif yang memungkinkan DBA untuk melakukan pekerjaannya sementara pada saat yang sama melindungi keamanan dan integritas platform.