Auditing Databases
Latar Belakang
Istilah
database biasanya mengacu pada sistem manajemen basis data relasional (RDBMS). Sistem
manajemen basis data (DBMS) memelihara catatan data dan hubungannya, atau
indeks, dalam tabel. Hubungan dapat diciptakan dan dipertahankan di antara dan
di antara data dan tabel Database, istilah yang lebih umum dapat diterapkan pada
pengumpulan data apapun secara terstruktur. Misalnya, file flat yang berisi
catatan pelanggan dapat berfungsi sebagai database untuk sebuah aplikasi. Namun dalam
bab ini, kita fokus pada audit yang full-blown RDBMS.
Biasanya,
audit mencakup kajian yang cukup mendalam terhadap berbagai bidang, termasuk
keliling, sistem operasi, kebijakan, dan sebagainya. Jika waktu memungkinkan,
mungkin audit mencakup satu atau dua database yang paling penting. Database
adalah binatang kompleks yang dibutuhkan kesabaran dan pengetahuan teknis untuk
mengaudit dan mengamankan dengan baik. Namun, mengabaikan audit database adalah
kesalahan serius. Database adalah kotak kunci virtual informasi usia. Dimana
organisasi menyimpan aset mereka yang paling berharga? Tidak di perimeter
perangkat,tidak dalam sistem e-mail, dan tidak dalam file flat.
Namun mereka disimpan di
dalam database.
Di dalam database,
database dapat hidup baik yang diberkati maupun yang dikutuk. Database
diberkati karena Mereka jarang terekspos dengan jenis serangan yang dilakukan
server web, firewall, dan lainnya. Sistem
menghadapi database harus dan hampir selalu terkubur jauh dan jauh tertinggal firewall. Sebagian besar
organisasi cukup pintar untuk tidak tahu tempat paling banyak data berharga di
jaringan publik yang tidak aman. Tentu
saja beberapa serangan seperti Injeksi SQL, dapat dengan mudah membuat jalan
mereka melalui firewall dan menekan database.
Namun database dikutuk untuk alasan
yang sama. Karena database sangat jauh tertinggal firewall, mengamankan dan
mengaudit database anda sering dianggap sebagai renungan, sesuatu yang harus
dilakukan jika anda memiliki waktu ekstra dan mungkin hanya satu ataudua
kritis database. Hal ini menyebabkan situasi di mana keamanan basis data
biasanya tertinggal dalam kondisi lusuh Administrator database biasa percaya
bahwa database jauh cukup di belakang firewall yang bahkan tindakan keamanan
yang belum sempurna tidak diperlukan.
Database
Audit Essentials
Untuk mengaudit database secara
efektif, anda memerlukan pemahaman dasar tentang bagaimana sebuah database
bekerja. Anda perlu memahami serangkaian komponen yang luas untuk mengaudit
database dengan benar.
Pada awal tahun 1990-an,
aplikasi ditulis menggunakan model client-server, yang terdiri dari program
desktop yang menghubungkan melalui jaringan langsung ke database backend. Ini
disebut sebagai aplikasi two-tier. Pada akhir 1990-an, aplikasi tiga
tingkat menjadi norma Model baru ini terdiri dari browser web yang terhubung ke
aplikasi web middle-tier Tingkat menengah kemudian dihubungkan dengan database
backend.
Aplikasi tiga tingkat merupakan
langkah maju yang bagus. Itu berarti perangkat lunak kustom tidak perlu dipasang
di setiap workstation klien, dan pembaruan perangkat lunak bisa diterapkan ke
server pusat Klien bisa menjalankan sistem operasi yang mendukung browser
dasar. Selain itu, dalam model tiga tingkat, mengamankan database jauh lebih
sederhana.
ORACLE
Oracle Corporation adalah vendor
database terbesar dan memasok seluruh rangkaian database. Selain itu, Oracle
Corporation telah berkembang melampaui perangkat lunak database standar untuk
menyediakan berbagai produk, namun
tidak terbatas pada server web, pengembangan alat, perangkat lunak manajemen
identitas, paket kolaborasi, dan beberapa sumber daya perusahaan perencanaan
(ERP) solusi.
Di pasar database, Oracle Database
memiliki salah satu basis instalasi terbesar dan satu set fitur yang
mengesankan. Basis data hadir dalam berbagai macam, termasuk Standard Edisi, Edisi Enterprise, OracleLite,
Express Edition, dan lain-lain. Fiturnya cukup mirip, namun fitur canggih dalam
Edisi Enterprise terus berubah, jadi perlu mengakses situs Oracle untuk
memeriksa set fitur yang tepat termasuk dalam versi yang di audit.
Oracle juga telah bercabang ke database lain, setelah
membeli beberapa vendor database berikut ini:
·
Sleepycat Software, yang mengelola Berkeley DB,
open-source, embedded database
·
MySQL (dari akuisisi Sun Microsystems mereka)
·
Database In-Memory TimesTen
·
InnoDB, mesin transaksi untuk database MySQL
IBM
IBM adalah vendor database terbesar
lainnya, walaupun perangkat lunak database IBM adalah bagian kecil dari bisnis
perusahaan. Database utama IBM adalah lini produk DB2 yang terdiri dari dua
produk utama:
·
DB2 Universal Database, menyediakan perangkat lunak
database untuk AIX, Linux, HP-UX, Sun, dan Windows
·
DB2 Universal Database untuk z / OS, menyediakan
perangkat lunak untuk mainframe
MySQL
MySQL adalah database open-source
yang digunakan secara ekstensif di web berukuran kecil atau menengah. MySQL
dikembangkan di bawah GNU Public License oleh MySQL AB, perusahaan swasta di Swedia. MySQL
memiliki akar rumput yang besar dan berkembang di platform web open source LAMP (Linux, Apache, MySQL, dan
PHP). MySQL AB dibeli oleh Sun pada bulan Februari 2008, dan Sun kemudian
dibeli oleh Oracle pada tahun 2010, membuat MySQL menjadi produk Oracle.
MySQL secara tradisional telah
menjadi database tulang telanjang, memberikan sebagian kecil dari
fungsionalitas yang tersedia dari vendor database lainnya. Dari sisi keamanan, ini
bagus karena MySQL melakukan persis apa yang seharusnya dilakukan dengan sangat
baik. Biaya administrasi relatif rendah, dan MySQL memberikan kinerja yang
memadai untuk semua aplikasi web. MySQL AB menginvestasikan banyak uang di
database MySQL.
Sybase
Sybase
diakuisisi oleh SAP pada tahun 2010 untuk membantu SAP bersaing dengan Oracle.
Sybase menghasilkan beberapa database, termasuk yang berikut ini:
·
The flagship Sybase Adaptive Server Enterprise, database,
dirancang untuk database perusahaan
·
Sybase Adaptive Server Anywhere, dirancang sebagai database
dengan bobot lebih ringan.
Sybase awalnya bermitra dengan
Microsoft untuk mengembangkan versi awal sistem databasenya, yang dirujuk pada
saat Sybase SQL Server di Unix dan Microsoft SQL Server pada Windows Seperti
versi 4.9, Microsoft dan Sybase membagi kode barisnyasecara berpisah. Sybase
telah berkembang melampaui database juga. Perusahaan ini menawarkan berbagai
pengembang alat dan server aplikasi web dan saat ini difokuskan pada
penyampaian data ke perangkat seluler.
Microsoft
Microsoft SQL Server adalah salah
satu database yang paling populer karena label harganya yang rendah dan model
administrasi yang sederhana, serta momentum semata dari Microsoft.Microsoft SQL
Server hadir dalam beberapa macam:
·
Microsoft SQL Server 7.0 adalah versi lama produk dengan
beberapa warisan instalasi
·
Microsoft SQL Server 2000 (a.k.a. SQL Server 8.0) adalah
Microsoft utama versi database selama lima tahun. Dengan demikian, ini sangat
mengakar dalam jumlah besar jumlah perusahaan
·
Microsoft SQL Server 2005 menyediakan serangkaian fitur
keamanan baru yang kaya di antara fungsi lain dari pendahulunya.
·
Microsoft SQL Server 2008 adalah yang terbaru di
Microsoft dan terus berlanjut memiliki adopsi yang luas melalui integrasi yang
kuat dengan Microsoft produklainnya.
·
Microsoft Database Engine (MSDE) adalah versi gratis dari
SQL Server yang disediakan backend untuk vendor perangkat lunak independen
(ISV) untuk menanamkan basis data di aplikasi mereka. Karena MSDE gratis, itu
tertanam dalam jumlah besar dari aplikasi dan sangat umum. Dengan pengiriman
SQL Server 2005, MSDE telah diubah namanya menjadi SQL Server 2005 Express
Edition.
File
program
Database diimplementasikan sebagai
sistem perangkat lunak terdiri dari serangkaian inti file sistem operasi.
File-file ini termasuk file executable yang akan menjalankan database
sistem manajemen. Ini juga mungkin berisi file program lain yang tidak dapat dieksekusi seperti file bantuan, sumber file, file sampel, dan file penginstalan. File-file ini harus dilindungi, karena database bergantung pada integritasnya. Mereka harus dijaga dari segala bentuk modifikasi - terutama file executable apapun. Kontrol akses harus seketat mungkin pada direktori yang menyimpan file. Idealnya, hanya administrator database yang harus memiliki akses ke direktori ini.
sistem manajemen. Ini juga mungkin berisi file program lain yang tidak dapat dieksekusi seperti file bantuan, sumber file, file sampel, dan file penginstalan. File-file ini harus dilindungi, karena database bergantung pada integritasnya. Mereka harus dijaga dari segala bentuk modifikasi - terutama file executable apapun. Kontrol akses harus seketat mungkin pada direktori yang menyimpan file. Idealnya, hanya administrator database yang harus memiliki akses ke direktori ini.
Nilai
konfigurasi
Database sangat bergantung pada
pengaturan konfigurasi untuk menentukan bagaimana sistem beroperasi. Melindungi
pengaturan ini penting, karena jika konfigurasi bisa dimanipulasi, keamanan
bisa ditumbangkan. Nilai konfigurasi berada di berbagai tempat, termasuk yang
berikut ini:
·
Pada file teks sistem operasi
·
Dalam file data
·
Pada Windows, tersimpan dalam registri
·
Di variabel lingkungan
Nilai konfigurasi digunakan untuk berbagai pengaturan,
seperti ini:
·
Menetapkan jenis otentikasi atau model kepercayaan
·
Menetapkan kelompok mana yang merupakan administrator
basis data
·
Menentukan fitur manajemen password
·
Menentukan mekanisme enkripsi yang digunakan oleh
database Memverifikasi integritas nilai konfigurasi merupakan komponen penting
dari audit apapun.
File data
Database perlu menyimpan data yang
mereka pegang dalam file sistem operasi fisik yang biasanya terdiri dari
serangkaian file. Format file biasanya milik, dan file data berisi informasi
seperti berikut ini:
• Data disimpan
• Pointer dari satu bidang ke bidang berikutnya atau dari
satu baris ke baris berikutnya
• Indeks data, termasuk petunjuk dari indeks ke data
fisik
Perpustakaan
Client /
Jaringan
Komponen penting dari setiap sistem
database adalah client.
Biasanya, client berada pada sistem remote dari database. Client juga dapat
terhubung dari sistem lokal, yang sering terjadi dengan proses batch. Agar client dapat terhubung
ke database, perpustakaan client atau
driver diperlukan pada mesin client. Perpustakaan client sulit untuk melindungi
karena mereka biasanya ada di sistem remote di mana kontrol akses jauh lebih
sulit dipelihara. Namun, sangat penting untuk menjaga integritas driver client di lokasi dari
tempat administrator atau bahkan pengguna biasa pun akan terhubung. Salah satu
kelemahan dalam model keamanan adalah integritas perpustakaan client. Jika driver client bisa
dimanipulasi, kredensial bisa dicuri dengan cukup mudah. Driver client bisa jadi
trojan, atau bahkan sesederhana keyboard logger pada sistem client dapat menyebabkan
kompromi database. Komunikasi melalui jaringan juga membutuhkan driver jaringan
pada database. Pengemudi ini adalah titik fokus lain untuk auditor, karena ini
adalah jalannya yang akan digunakan penyerang untuk mengakses database.
Proses Audit
Sebelum
melakukan audit, anda memerlukan beberapa alat dasar. Anda harus memiliki
daftar periksadari barang yang perlu anda verifikasi. Anda bisa membuat daftar
periksa sendiri, bisa temukandaftar periksa di Internet, atau anda bahkan dapat
menggunakan daftar dasar yang kami sediakan disini.Mulailah dengan bertemu dan
berdiskusi dengan administrator database(DBA). Jelas DBA tidak akan senang
dengan gagasan untuk diaudit.Oleh karena itu, lakukan yang terbaik untuk
mendekati DBA dengan cara sesantai mungkin. Yakinkanbahwa DBA mengerti bahwa anda
berada di sana untuk membantu, tidak menghalangi pekerjaannya.
Database
sangat sering 24/7 sistem, yang berarti mereka tidak diperbolehkan
downtime.Anda akan menghadapi dorongan balik pada apapun yang anda ingin lakukan.Kemungkinan
mempengaruhiketersediaan database.Bersiaplah
untuk mengoptimalkan waktu anda akan mengakses sistem.Pastikan ituakun yang anda
berikan pada sistem berjalan hanya dengan izin yang anda butuhkan.Setelah anda
selesai dengan pekerjaan apa pun, mintalah DBA mengunci akun. Janganhapus akun,
cukup kunci sampai anda secara resmi melakukan audit. Lalu, jikaanda perlu
mengumpulkan lebihbanyak informasi, DBA hanya bisa membuka akunbukan menciptakannya
kembali.Lakukan sebanyakmungkin pekerjaan sedini mungkin.
Idealnya,
anda ingin mendownload sistemnyatabel, hash password,hak akses file, dan semua
informasi lainnya ke lokalsumber. Kemudian anda bisa melepaskan diri daridatabase
dan melakukan langkah audit andasecaraoffline
tanpa resiko mempengaruhi database. Misalnya,anda ingin memastikan bahwa andatidak
pernah melakukan pengujian kekuatan kata kunci padadatabase, hash password,dan
pengujian kekuatan password bisa dilakukan secaraoffline.Dengan menunjukkan DBA
tingkat kewaspadaan ini dengan database, dia akan memberikankesopanan
profesional untuk membiarkan anda melakukan pekerjaan anda.
Perpustakaan Klien / Jaringan
Komponen
penting dari setiap sistem database adalah klien. Klien juga dapat terhubung
dari sistem lokal, yang sering terjadi dengan proses batch. Agar klien dapat
terhubung ke database, perpustakaan klien atau driver diperlukan pada mesin
klien. Ini biasanya terdiri dari satu set executable danobjek bersama, serta
API yang dapat digunakan klien untuk terhubung ke database. Salah satu kelemahan
dalam model keamanan adalah integritas perpustakaan klien. JikaDriver klien
bisa dimanipulasi, kredensial bisa dicuri dengan cukup mudah. Driver klienBisa
jadi trojan, atau bahkansesederhana keyboard logger pada sistem clientdapat
menyebabkan kompromi database.
Sistem Backup / Restore
Backup
adalah bagian yang sangat penting dari setiap platform database. Backupsering
diamankan dengan mengenkripsi data karena ditulis ke file atau dengan
mengenkripsiseluruh file.
Menyimpan kunci enkripsi penting untuk mengamankanbackup dengan benar. Backup yang
tidak bisahasil yang dipulihkan mengakibatkan hilangnya utilitas.
Pernyataan SQL
Structured
Query Language (SQL) digunakan untuk mengakses data dalam database relasional.
Secara teknis,SQL harus diucapkan sebagai tiga huruf terpisah
"S-Q-L," tapi pengucapannya"Sekuel" telahmenjadi begitu
umum sehingga bisa juga diterima sebagai benar. SQL adalah bahasa berbasis
set,artinya bekerja pada satu set data sekaligus. Sebagianbesar platform database
memang memiliki ekstensike SQL untuk menyediakan komponen prosedural.Misalnya,
Oracle memiliki PL / SQL danSybase dan Microsoft SQL Server memiliki
Transact-SQL.Pernyataan SQL digunakan untuk menarik data dari database:
·
SELECT Menampilkan subset data dari sebuah tabel
·
INSERT Tambahkan data baru ke sebuah tabel
·
UPDATE Mengubah data yang a`da dalam sebuah tabel
·
DELETE Menghapus subset data dari sebuah table
Objek Database
Database
terdiri dari berbagai objek, masing-masing dengan tugas atau tujuan yang unik.
Setiap platform databasejuga memiliki banyak jenis objek proprietary, seperti
ruang tabel, skema, aturan, urutan,dan sinonim. Platform database :
·
Tabel Menyimpan deretan data dalam satu atau lebih kolom.
·
Pernyataan
SELECT bisamengubah nomor atau urutan kolom, bisa di panggilfungsi, dan bisa
memanipulasi data dengan berbagai cara.
·
Stored procedure / function Kode proseduralbisa dipanggil
untuk dieksekusifungsionalitas kompleks dalam database.
·
Memicu kode prosedural yang dipanggil saat tabel
dimodifikasi. Dapat digunakanuntuk melakukan tindakan apapun, termasuk
modifikasi pada tabel lainnya, bila ada databerubah.
·
Mekanisme Indeks untuk menyediakan pencarian data dengan
cepat.
Kamus Data
Database
menyimpan metadata tentang dirinya sendiri, disebut kamus data atau kadang-kadangtabel
sistem. Metadata
memberitahu database tentang konfigurasinya sendiridan setup.
Kamus
data mendefinisikan sisa database, menentukan objek seperti pengguna,kelompok,
dan izin. Kamus data mendefinisikan struktur database, termasukmenentukan
dimanafile fisik disimpan di disk, nama tabel, kolomjenis, panjang dan kode untuk prosedur tersimpan.
Langkah Uji untuk Mengaudit Database
Sebelum
melakukan audit, harus memiliki daftar periksadari barang yang perlu diverifikasi, daftar periksadapatditemukan di Internet,
atau bahkan dapat menggunakan daftar dasar yang disediakan.Mulailah
dengan bertemu dan berdiskusi dengan administrator database(DBA). Yakinkanbahwa
DBA mengerti bahwa Anda berada di sana untuk membantu, tidak menghalangi,
pekerjaannya.Database sangat sering 24/7 sistem, yang berarti mereka tidak
diperbolehkan downtime. Pertama kali sebagai auditor menurunkanDatabase,
pekerjaan menjadi jauh lebih sulit.Bersiaplah untuk mengoptimalkan
waktu.Pastikan ituakun yang diberikan
pada sistem berjalan hanya dengan izin yang dibutuhkan. Setelah selesai dengan pekerjaan apa pun,
mintalah DBA mengunci akun. Janganhapus akun-cukup kunci sampai secara resmi dilakukan audit.
Setup dan Kontrol Umum
1. Dapatkan versi database dan bandingkan dengan perusahaan
Andapersyaratankebijakan Verifikasi bahwa database menjalankan databaseversi
software yang terus didukung vendor.
Kebijakan ditulis
dan disetujui untuk membuat lingkungan lebih aman, mudah dikelola,dan dapat
diaudit. Periksa
kembali informasi konfigurasi dasar untuk memastikannyadatabase sesuai dengan
kebijakan organisasi.
Bagaimana
Melalui
percakapan dengan DBA dan peninjauan ulang standar TI dankebijakanperusahaan, menentukan
versi dan platform database yang direkomendasikan dan didukungoleh perusahaan. Verifikasi
dengan vendor database yang versi dan platformnyadidukung.
2. Verifikasi bahwa kebijakan dan prosedur ada untuk
mengidentifikasi kapan apatch tersedia dan untuk menerapkan patch. Pastikan
semua disetujuitambalan dipasang sesuai kebijakan pengelolaan basis data Anda.
Sebagian besar
vendor database telah secara teratur menjadwalkan rilis patch. Auditor harus siapuntuk
rilis yang dijadwalkan sehingga dapat merencanakan dengan tepat untuk pengujian
dan pemasangandari tambalan. Jika semua tambalan database tidak terpasang,
diketahui banyak kerentanan keamanan
bisa ada di database.
Bagaimana
Wawancara DBA
untuk menentukan siapa yang meninjau saran dari vendor, langkah apadibawa untuk
mempersiapkan tambalandan berapa lama tambalan diuji sebelum diterapkanke
database produksi. Mintalah untuk meninjau catatan dari siklus tambalan
sebelumnya.Dapatkan informasi sebanyak mungkin tentang patch terbaru, dan
tentukanlingkup kerentanan yang ditangani oleh tambalan. Bandingkan tambalan
yang tersediadengan tambalan yang diterapkan ke database.
Database
menimbulkan dilema yang menarik berkaitan dengan patch untuk kebanyakan
organisasi.Banyak database berjalan pada jadwal 24/7, sehingga tidak ada
penyisihan downtime. IniArtinya tidak ada waktu yang tersedia untuk menurunkan
database untuk menerapkan patch.
Komplikasi
utama lainnya untuk pemindaian database adalah pengujian patch barubiasanya
proses 3 sampai 6 bulan. Database biasanya sangat penting sehingga tambalan
tidak bisadipasang tanpa pengujian menyeluruh. Dengan siklus patch kuartalan,
para DBA penuh waktuPekerjaan dengan mudah bisa menjadi pengujian dan penerapan
patch baru.
3. Tentukan apakah sebuah standar build tersedia untuk yang
barusistem basis data dan apakah baseline tersebut memadaipengaturan keamanan.
Salah satu cara
terbaik untuk menyebarkan keamanan ke seluruh lingkungan
adalahmemastikannyaSistem baru dibangun dengan benar sebelum beralih ke
pengujian atau produksi.
Bagaimana
Melalui wawancara
dengan administrator sistem, tentukan metodologi yang digunakanuntuk membangun
dan menerapkan sistem baru. Perhatikan Pertimbangkan untuk membahas proses
persetujuan standar baru yang dibangun didimana auditor akan melihat-lihat
perubahan dan melakukan audit penuh barugambar Ini adalah cara yang bagus bagi
tim audit untuk menciptakan hubungan kerjadengan tim manajemen database.
Keamanan Sistem Operasi
Sistem
operasi yang tidak aman bisa jadidigunakan untuk masuk ke database. Mengunci
satu tapi tidak yang lain gagal memberikannyakeamanan yang tepat untuk keduanya
Namun, database harus mendapatkan fokus yang palingkarenadatabase adalah target
yang paling "berharga" di jaringan.
4. Pastikan akses ke sistem operasi dibatasi dengan benar.
Situasi terbaik
adalah memiliki sistem operasi yang didedikasikan untuk database saja. Tidakadapengguna selain
DBA harus memiliki akses untuk terhubung ke sistem operasi dariSecure Shell
(SSH), File Transfer Protocol (FTP), atau metode lain diluar aplikasi.Untuk
sebagian besar aplikasi, pengguna seharusnya tidak bisa mengupdate database
secara langsung(yaitu, di luaraplikasi).
Bagaimana
Verifikasi
dengan administrator bahwa semua akses ke sistem operasi dibatasi untuk DBA.
Verifikasi bahwa setiap akses shell terjadi melalui protokol yang aman,
sebaiknya SSH.Memeriksauntuk akun apapun pada sistem operasi yang harus
dilepas.
5. Pastikan bahwa hak akses pada direktori di mana
databaseterinstal, danfile database itu sendiri, sudah benarterbatas.
Akses dan update
yang tidak tepat terhadap database yang mendasari file database dapat
terjadidalam gangguan besar database. Misalnya, ada perubahan langsung via
operatingSistem file data yang berisi data database sebenarnya akan merusak
database.Setiap update langsung dari file-file ini melaluiSistem operasi bisa
merusak fungsionalitas database atau mencegah database daridibesarkan. Setiap
DBMS memiliki startup, logging, dan konfigurasi spesifiknya sendirifile, dan
sangat penting bahwafile-file ini dilindungi untuk memastikan ketersediaan yang
sedang berlangsung danintegritas database.
Bagaimana
BeberapaFungsi
database ditulis tanpa keamanan dalam pikiran dan kita bisa memecah
databasefungsionalitas dengan membuat file permissions terlalu membatasi.Di
Windows, tindakan serupa harus dilakukan. Izin file pada direktori diyang
database terinstal harus dibatasi pada hak akses akundatabase. Pastikan pengguna
"Semua orang" atau "Anonim" tidak memilikisetiap hak akses
pada file database. Selain
itu, pastikan semua drive digunakanmenyimpan file database menggunakan
NTFSDalam situasi yang ideal, bahkan DBA tidak memerlukan izin untuk
mendasarifile sistem operasi. Namun,
mengingat kebutuhan DBA untuk bekerja dengan file databasedan backup, patch
database. DBA akan
membutuhkan beberapaakses ke file sistem operasi
.
6. Pastikan hak akses pada kunci registri yang digunakan
olehdatabase benar dibatasi
Untuk platform
database yang berjalan pada Windows,harus mengamankan registrikunci yang
digunakan oleh database. Kunci
registri yang
digunakan untuk menyimpan nilaikonfigurasiyang penting untuk fungsi database
yang aman.
Bagaimana
Tinjau izin
keamanan melalui Registry Editor, melalui command-lineutilitas seperti GetDACL,
atau dengan mendapatkan informasi dari administrator. Setelahmengambil daftar
lengkap hak akses, tinjau ulang untuk memastikan bahwa tidak ada izin yang
berlebihanada.Tambahkan kompleksitas database, pembuatan akun,manajemen, otentikasi, otorisasi dan
audit bisa menjadi hal yang sulit.
7. Meninjau dan mengevaluasi prosedur pembuatan akun
pengguna danmemastikan bahwa akun dibuat hanya dengan bisnis yang sahperlu.
Juga meninjau dan mengevaluasiproses untuk memastikan pengguna tersebutakun
dihapus atau dinonaktifkan secaratepat waktu dalam acara tersebutpenghentian
atau perubahan pekerjaan
Kontrol yang
efektif harus ada untuk menyediakan dan menghapus akses ke database, membatasiakses
yang tidak perlu ke sumber database.
Bagaimana
Wawancara
administrator database dan tinjau prosedur pembuatan akun. Prosesini harus mencakup
beberapa bentuk verifikasi bahwa pengguna memiliki kebutuhan yang sahmengakses.Pastikan
akses ke akun dan hak istimewa tingkat DBA diminimalkan.Aplikasi pengguna akhir
umumnya harus mengakses database melalui aplikasidan bukan dengan akses
database langsung.Juga tinjau proses penghapusan akun saat akses tidak lagi
dibutuhkan.Proses ini bisa mencakup mekanisme penghitungan akun pengguna saat
pengakhirandan perubahan pekerjaan. Prosesnya bisa termasuk review berkala dan
validasiakun aktif oleh administrator sistem dan / atau manajer berpengetahuan
lainnya.
Kekuatan Password dan Fitur Manajemen
Banyak platform
database mempertahankan setting autentikasi mereka sendiri. Platform database
lainnya terintegrasi dengan sistem operasi atau beberapa keamanan
lainnyasubsistem untukmemberikan otentikasi. Misalnya, DB2 Universal DataBase
(UDB)tidak memelihara namapengguna dan kata sandinya sendiri, alih-alih
menggunakan sistem operasiatau Resource AccessControl Facility (RACF) untuk
otentikasi. Menggunakan keamanan operasi terintegrasi untukplatform database
mana pun memiliki banyak prodan kontra.
Kelebihannya
adalah sebagai berikut:
·
Otentikasi sistem operasi biasanya lebih kuat daripada
databaseotentikasi.
·
Otentikasi sistem operasi biasanya mencakup lebih banyak
kata sandifitur manajemen
·
Fitur manajemen password lebih mungkin diterapkan
ditingkat sistem operasi.
Kontra adalahsebagai berikut:
·
Otentikasi ada di luar tangan DBA.
·
Pengguna dengan akun sistem operasi dapat mengakses
sistem operasidatabase jika tidak dikonfigurasi dengan benar.
8. Periksa nama pengguna dan kata sandi default.
Item dasar
pertama yang di audit adalah nama pengguna dan kata sandi default. Ini terus
berlanjutmenjadi masalah bagi database. Secara harfiah ribuandari password
default ini dapat ditemukan di berbagai situs keamanan.
Bagaimana
Pastikan semua
nama pengguna dan sandi default telah dihapus atau dikunci, atau itupassword
telah diubah Utilitas dan peralatan gratis dan komersial tersediauntuk
memverifikasi.
9. Periksa password yang mudah ditebak.
Pengguna sering
memilih password yang bisa dengan mudah ditebak oleh program otomatis atauhacker. Kata sandi yang
paling umum digunakan adalah password dan rahasia. Orang-oranglebih pandai
akhir-akhir ini dan pilih password yang lebih aman, tapi tetap pentingpastikan
bahwa password tidak dapat ditemukan dalam kamus atau mudah ditebak.
Bagaimana
Jalankan tes
kekuatan kata kunci pada kata sandi untuk menentukan apakah ada kata sandimudah
ditebak. Jikaterdeteksi kata
sandi yang ditemukan dalam kamus atau bisa jugatebak, bicarakan dengan DBA
tentang praktik kesadaran pengguna dan tentang penerapannyapraktik pengecekan
kekuatan kata sandi.
Deskripsi
|
Kategori
|
Password database default
|
Dibuat dalam database standar install. Bisatergantung
padakomponen terinstal dari database.
|
Contoh atau contoh kata sandi
|
Banyak contoh, contoh, dan demonstrasi baru atauFitur
yang ada ditampilkan dalam skrip SQL yang disertakanpembuatan akun uji.
|
Sandi aplikasi default
|
Saat Anda menginstal produk pihak ketiga di atas
database, produk sering menginstal danmenjalankan menggunakan username danpassword
default untuk mengakses database.Ini diketahui hacker dan berfungsi sebagai
umumrute akses
|
Kata sandi default yang ditetapkan
pengguna
|
Saat akun
baru dibuat, kata sandi sering disetelke nilai awal dan kemudian atur ulang
padapenggunaan pertama. Masalahmuncul saat akun dibuat namun tidak pernah
diakses.Pastikan bahwa kata sandi yang diset padaakun baru acak,password yang
kuat
|
10. Periksa kemampuan manajemen password yang diaktifkan.
Banyak platform
database menyediakan dukungan untuk fitur manajemen password.Oraclememimpin
area ini dengan menyertakan kemampuan untuk fitur berikut:
·
Fungsi validasi kekuatan kata sandi
·
Kedaluwarsa kata sandi
·
Batas penggunaan ulang kata sandi
·
Waktu kadaluwarsa Password kadaluwarsa
·
Penguncian kata kunci
·
Penguncian lockout ulang kata sandi
Bagaimana
Pilih nilai konfigurasi dari
database. Pastikan setiap manajemen kata sandifitur diaktifkan dandikonfigurasi
untuk nilai yang sesuai untuk lingkungandan sesuai dengan kebijakan perusahaan.tinjau
dokumentasiuntuk platform database untuk menentukan fitur manajemen password
yang tepat.
Tinjau Keistimewaan Database
Hak istimewa database sedikit
berbeda dengan hak akses sistem operasi. Hak istimewadikelola dengan
menggunakan pernyataan GRANT dan REVOKE. GRANT dan REVOKE juga bisa
digunakanlebih selektif pada basis kolom demi kolom.
11. Verifikasi bahwa hak akses database diberikan atau
dicabuttepat untuk tingkat otorisasi yangdipersyaratkan.
Jika hak akses
database tidak dibatasi dengan benar, akses yang tidak tepat ke data
pentingmungkin terjadi.
Perizinan basis data juga harus digunakan untuk membatasi penggunaan subsistem
dalam database yang bisa digunakan untuk menghindari keamanan.
Bagaimana
Bicara dengan
administrator database untuk menentukan akun pengguna mana yang harus
dimintamemiliki akses ke data. Beberapa
administrator mungkin memerlukan akses, beberapa akun mungkin adadigunakan oleh
aplikasi web untuk mengakses data, dan beberapa akun dapat digunakan secara
batchpekerjaan. Akun yang tidak memerlukan izin atau akses harus dikunci,
dinonaktifkan, ataubahkan dihapus.
12. Tinjau kembali perizinan database yang diberikan kepada
individu dan bukankelompok atau peran
Penggunaan peran
atau kelompok untuk mengalokasikan izin mengurangi kesempatanmembuat kesalahan
administrasi dan memungkinkan perawatan lebih mudah kontrol keamanan.Bila
izinbaru perlu diberikan, mereka bisa diberikan kepada satu kelompok
sajadaripada beberapa akun.
Bagaimana
Pilih daftar izin
dari kamus database. Tinjau ulang izinnyadiberikan ke akun atau pengguna.
Periksa apakah hak istimewa diberikan pada peran atau kelompok. Download daftar
peran / grup dan pengguna / akun untuk ditentukanyang diizinkan untuk
diberikan. Daftar pengguna dan grup disimpan dalam daftarkamus data
13. Pastikan bahwa hak akses database tidak diberikan secara
implisitsalah.
Perizinan
database bisa mengalir dari banyak sumber. Hak istimewa seperti SELECTsetiap
tabel memungkinkan akses ke semua data dan dapat menyebabkan akses data yang
tidak sah. Jika kamutidak memiliki pemahaman lengkap tentang bagaimana hak
akses database secara implisitdiberikan, izin dapat diberikan dengan cara yang
tidak dimaksudkan.
Bagaimana
Tinjau secara
spesifik model izin untuk platform database dan verifikasiizin diwarisi dengan
tepat Juga tinjau hak istimewa sistem yang memungkinkan akseske data, seperti
SELECT ANY TABLE. Dokumenizin yang secara implisit serta secara eksplisit
diberikan untuk memastikan izin tersebuttidak diijinkan bila tidak sesuai.
14. Meninjau SQL dinamis yang dijalankan dalam prosedur
tersimpan.
Akses ke objek
juga bisa didapat dengan menjalankan prosedur atau fungsi yang tersimpan.
DiMicrosoftSQL Server, saat mengeksekusi kode objek, akses ke objek lain yang
dimilikioleh pemilik prosedur yang tersimpan diperbolehkan.
Bagaimana
Dengan bantuan
DBA, tinjau prosedur yang tersimpan, cari masalahseperti SQL injection atau
bentuk SQL dinamis. Batasi penggunaan SQL dinamis dalam proseduryang berjalan
dengan hak istimewa yang tinggi. Di lingkungan gudang datayang besar, auditor harus
bekerja sama dengan DBA danpemilik aplikasi untuk mengidentifikasisampling
jalur kritis dan kemudian mencari dinamikaSQL dalam prosedur tersimpan.
15. Pastikan akses tingkat baris ke data tabel sudah
benardiimplementasikan
Database
relasional dirancang untuk memberikan izin pada tabel atau kolom. Beberapa
teknologi dapat digunakan untuk membantu mengatasi beberapamasalah. Misalnya,
Oraclemenawarkan database pribadi virtual (VPD) yang dapat digunakan untuk
membatasi akses ke baris tertentu.
Bagaimana
Hal ini
kemungkinan akan menjadi upaya bersama antara DBA dan pemilik aplikasi,
khususnya di Indonesialingkungan yang lebih besar. Diskusikan dengan
administrator yang sesuai metode rowlevelkontrol akses dalam database. Pastikan
pengguna tidak dapat mengakses data dalam sebuah tabeltanpa otorisasi yang
tepat jika pengguna mengelak dari aplikasi atau prosedur yang
tersimpanmenyediakan akses. Akses
database melalui akun pengguna untuk memverifikasi bahwaKemampuan
"efektif" dari pengguna adalah sebagaimana dimaksud.
16. Cabut izin PUBLIK jika tidak diperlukan.
Banyak prosedur
dan fungsi tersimpan yang tersimpan dalam database diberikan kepadaKelompok
PUBLIK secara default. Ini
berarti ituizinyang diberikan kepada PUBLIC berlaku untuk semua orang.Hal ini menyebabkan
banyakmasalah keamanan di database.Keamanan terbaikpraktik mendikte bahwa Anda
harus membatasi semua akses kecuali jika diperlukan secara eksplisit.Ingat
bahwa jika Anda mencabut izin yang diperlukan, Anda mungkin akhirnya
melanggarfungsi yang diperlukan Membabi buta mencabut semua izin PUBLIK adalah
resep untukbencana.
Bagaimana
Mulailah dengan
mengumpulkan daftar semua izin, sorot yang diberikan kepada PUBLIK.
Membahasdengan DBA yang prosedur dan fitur database sedang digunakan atau
mungkindigunakan di masa depan Kemudian tentukan berapa besar risiko yang akan
dikenalkan denganmencabutPerizinan dari benda yang jelas tidak dibutuhkan.Selalu
buat cadangan dan sediakanskrip undo yang bisa digunakan untuk memutar ulang
perubahan apa pun jika nantinyaandamenentukannyadan memerlukan izin
itu atau sesuatu yang tiba-tiba rusak.
17. Pastikan enkripsi jaringan diimplementasikan.
Enkripsi jaringan
melayani dua tujuan utama, untuk
melindungi kredensial otentikasi,
mereka bergerak melintasi jaringan dan untuk melindungi data aktual dalam
database. Sangat
penting jaringan ituLalu lintas dienkripsi tidakhanya melalui jaringan eksternal
tapi juga di intranet Anda.
Bagaimana
Verifikasi bahwa
driver jaringan dan klien telah dikonfigurasikan untuk mendukung penyandianlalu
lintas jaringan menggunakan protokol seperti SSL.Dalam beberapa kasus, Anda
mungkin perlu mencicipi lalu lintas untuk menunjukkanenkripsi.
18. Verifikasi bahwa enkripsi data saat istirahat diterapkan
dimanasesuai.
Enkripsi data
saat istirahat melibatkan mengenkripsi data karena tersimpan dalam
database.Enkripsi data saat istirahat lebih penting daripada bentuk enkripsi
lainnya, karenaMasa pakai data pada disk atau dalam database lebih lama dari
pada seumur hidupdata padajaringan.
Bagaimana
Verifikasi bahwa
data yang harus dienkripsi terenkripsi dengan benar. Juga tinjau
lokasidimanakunci enkripsi disimpan, karena kekuatan enkripsi bergantung
padakekuatan proteksi kuncienkripsi.Menerapkannyafitur
enkripsi namun gagal memasukkan manajemen kunci dalam prosedur backup.
19. Verifikasi penggunaan audit database dan aktivitas yang
sesuaipemantauan.
Sejumlah
metode dapat digunakan untuk memantau aktivitas:
·
Mengaktifkan native audit dalam database
·
Memantau lalu lintas jaringan aktivitas database audit
·
Meninjau log transaksi untuk membangun jejak audit dari
database
Bagaimana
Audit dapat mengambil banyak bentuk:
·
Audit akses dan otentikasi Tentukan siapa yang
mengaksesnyasistem, kapan, dan bagaimana.
·
Audit pengguna dan administrator Tentukan aktivitas apa yang
dilakukandalam database olehpengguna dan administrator.
·
Audit aktivitas mencurigakan Mengidentifikasi dan
menandai curiga, tidak biasa, atauaksesabnormal ke data sensitif atau sistem
kritis.
·
Kerentanan dan ancaman audit Mendeteksi kerentanan dalam
database, danlalu pantau agarpengguna mencoba memanfaatkannya.
·
Mengubah audit Menetapkan kebijakan dasar untuk database,
konfigurasi,skema, pengguna,hak istimewa, dan struktur, dan kemudian menemukan
dan melacak penyimpangandari baseline itu.
20. Evaluasi bagaimana kapasitas dikelola untuk
databaselingkungan untukmendukung bisnis yang ada dan yang
diantisipasiPersyaratan.
Persyaratan
teknis dan bisnis untuk database dapat berubah dengan cepat dan sering,didorong
oleh perubahan infrastruktur, hubungan bisnis, kebutuhan pelanggan, dan
peraturanPersyaratan.Infrastruktur basis data yang tidak memadai menempatkan
bisnis berisiko kehilangandatapenting dan dapat menghalangi fungsi bisnis yang
penting.
Bagaimana
Verifikasi bahwa
persyaratan kapasitas telah didokumentasikan dan disepakati bersama
denganpelanggan.Tinjau proses untuk memantau penggunaan kapasitas, perhatikan
bila melebihi batasyang ditetapkan.Diskusikan metode yang digunakan untuk
menentukanpersyaratan database saat ini danpertumbuhan yang diantisipasi. Tinjau
kembali rencana pertumbuhan denganadministrator untukmemverifikasi bahwa
perangkat keras dapat memenuhi persyaratan kinerja, kapasitaspersyaratan, dan
persyaratan fitur untuk mendukung infrastruktur dan bisnispertumbuhan.
21. Mengevaluasi bagaimana kinerja dikelola dan
dimonitorlingkungan database untuk mendukung yang ada dan yang
diantisipasipersyaratan bisnis
Kinerja database
didorong oleh beberapa faktor, termasuk media penyimpanan
fisik,protokolkomunikasi, jaringan, ukuran data, CPU, memori, arsitektur
penyimpanan,strategi enkripsi, dansejumlah faktor lainnya. Infrastruktur
database yang tidak memadaimenempatkan bisnis padarisiko kehilangan data
penting dan dapat menghambat bisnis pentingfungsi yang membutuhkanpenyimpanan
lebih baik atau kinerja yang lebih baik.
Bagaimana
Tinjauan
kinerja berkala berkala terhadap prosesor, memori, dan IO / bandwidth jaringan. Bebanpada
arsitektur database harus dilakukan untuk mengidentifikasi
pertumbuhanmenekankan pada arsitektur. Verifikasi bahwa persyaratan kinerja
telah didokumentasikandansetuju dengan pelanggan. Meninjau proses untuk
memantau kinerja danmencatat ketika kinerjaberada di bawah ambang batas yang
ditetapkan. Evaluasi proses di tempatuntuk menanggapi danmengambil tindakan
saat kinerja berada di bawah ambang batas yang ditetapkan.Diskusikanmetode yang
digunakan untuk menentukan persyaratan kinerja saat ini dan yang
diantisipasiperubahan.
Alat dan Teknologi
Alat audit dan
pemantauandapat menyediakan bahan baku yang perlu Anda analisisdan
menafsirkannya. Dua
perspektif tentang pemindaiandatabaseuntuk kerentanan dan patch yang umum:
untuk mencari dan dokumensebanyak mungkinkerentanan, dan untuk mengurangi
kerentanan dan sebagai gantinyafokus pada tambalan apayang telah Anda
pasang.Pentingjuga agar Anda memahami audit jaringan dan sistem operasialat
gagal total dalam membantudengan database audit. Kenapa ini? Database yang
kompleksbinatang buas Mereka memilikisistem kontrol akses mereka sendiri, akun
pengguna dan kata sandi mereka sendiri,subsistemaudit mereka sendiri, dan
bahkan protokol jaringan mereka sendiri.Sejumlah alat,seperti berikut ini,
khusus untuk membantu auditor berjalanaudit pada database:
1.
AppDetective oleh Application Security, Inc.
2.
NGSAuditor dan NGSSquirrel oleh NGSSoftware, Ltd.
Alat pemantau
Solusi
pemantauan basis data mencakup pendekatanyang memonitor database secara
pasifdengan melihat jaringan atau dengan menggunakan klienyang terpasang pada
host. Beberapa pemantauanSolusi menggunakan pendekatan hybrid menggabungkan dua
metode ini. BanyakDBA waspada
terhadap auditdatabase menggunakan klien dan lebih suka menggunakan alatyang
mengawasi lalu lintasmelalui jaringan. IBM mengakuisisi Gardium di akhir2009.
Produkmenggunakan alat jaringan yang mengawasi lalu lintas database secara
transparan,memantautransaksi, kejadian keamanan, dan akses istimewa, tanpa
menempatkan klienpada host database.
Beberapa alat
menyediakan teknologi untuk memantau aktivitas dalam database:
Monitoring Tool
|
DbProtect from Application Security,
Inc.
|
Guardium
|
AuditDB from Lumigent
|
SecureSphere
from Imperva
|
Perlu
memahami alat yang tersedia untuk memenuhi enkripsi
databasePersyaratan.Vormetric,
penyebarannyadan model manajemen.Menyebarkan vormetrik tanpa aplikasi
coding ataupengetahuan, dan sekaligus dapat mengaturhak akses database dan
enkripsi fileterintegrasi dengan LDAP Anda, seperti berikut ini:
Alat
Enkripsi Data
|
Vormetrik
|
DbEncrypt dari Application Security, Inc.
|
Defiance Security Suite dari Protegrity
|
Enkripsi dari NetLib
|
DataSecure dari SafeNet
|
Dasar pengetahuan
Sebagian besar
kerentanan database ditemukan dan diperbaiki dapat dikreditkan ke yang
relatifsebagian kecil peneliti keamanan.
Sebagian besar kerentanan database ditemukan dan diperbaiki dapat
dikreditkan ke yang relatifsebagian kecil peneliti keamanan. Meski beberapa
kelompok, termasuk banyak databasevendor,melihat pekerjaan ini sebagai
"berbahaya," peneliti keamanan telah melakukan databasekeamanan pasar
layanan besar, dan untuk melengkapi semua ini, mereka telah melakukannyasecara
gratis.
Daftar Periksa untuk Database Audit
1.
Dapatkan versi database dan bandingkan dengan persyaratan
kebijakan. Verifikasi bahwaDatabase menjalankan versi yang terus didukung
vendor.
2.
Verifikasi bahwa kebijakan dan prosedur diterapkan untuk
mengidentifikasi kapan sebuahpatch tersediadan untuk menerapkan patch. Pastikan
semua tambalan yang disetujui dipasangsesuai database Andakebijakan manajemen
3.
Tentukan apakah standar build tersedia untuk sistem
database baru dan apakahbaseline itumemiliki pengaturan keamanan yang memadai.
4.
Pastikan akses ke sistem operasi dibatasi dengan benar.
5.
Pastikan hak akses pada direktori tempat database
terinstal, danfile database itu sendiri,benar dibatasi
6.
Pastikan hak akses pada kunci registri yang digunakan
oleh database benarterbatas.
7.
Mengkaji dan mengevaluasi prosedur pembuatan akun
pengguna dan memastikan akuntersebuthanya dibuat bila ada kebutuhan bisnis yang
sah. Juga tinjau dan evaluasiproses untukmemastikan bahwa akun dihapus atau
dinonaktifkan secara tepat waktu diacara penghentian atau perubahan pekerjaan.
8.
Periksa nama pengguna dan kata sandi default.
9.
Periksa password yang mudah ditebak.
10. Periksa
kemampuan manajemen password yang diaktifkan.
11. Verifikasi
bahwa hak akses database diberikan atau dicabut secara tepat
untuktingkatotorisasi yang dibutuhkan
12. Tinjau
kembali perizinan database yang diberikan kepada individu dan bukan
kelompokatau peran.
13. Pastikan
hak akses database tidak diberikan secara implisit.
14. Tinjau
ulang SQL dinamis yang dieksekusi dalam prosedur tersimpan.
15. Pastikan
bahwa akses tingkat tinggi ke data tabel diimplementasikan dengan benar.
16. Cabut
izin PUBLIK jika tidak diperlukan.
17. Pastikan
enkripsi jaringan diimplementasikan.
18. Pastikan
enkripsi data saat istirahat diterapkan jika sesuai.
19. Verifikasi
penggunaan audit database dan pemantauan aktivitas yang sesuai.
20. Mengevaluasi
bagaimana kapasitas dikelola untuk lingkungan database untuk mendukungyang
adadan persyaratan bisnis yang diantisipasi.
21. Mengevaluasi
bagaimana kinerja dikelola dan dimonitor untuk lingkungan databaseuntuk
mendukung kebutuhan bisnis yang ada dan yang diantisipasi.
Tidak ada komentar:
Posting Komentar