Selasa, 17 Oktober 2017

Auditing Databases



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.


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