MongoDB Keamanan, Pemantauan & Pencadangan (Mongodump)

Salah satu konsep kunci dalam MongoDB adalah pengelolaan database. Aspek penting seperti keamanan, pencadangan, akses ke database merupakan konsep penting dalam administrasi database.

MongoDB Tinjauan Keamanan

MongoDB memiliki kemampuan untuk menentukan mekanisme keamanan pada database. Secara default, seseorang tidak ingin semua orang memiliki akses terbuka ke setiap database di dalamnya MongoDB, oleh karena itu diperlukan semacam mekanisme keamanan di dalamnya MongoDB penting.

Berikut ini adalah praktik terbaik saat menerapkan keamanan dalam database

  1. Aktifkan kontrol akses – Buat pengguna sehingga semua aplikasi dan pengguna diberlakukan untuk memiliki semacam mekanisme otentikasi saat mengakses database di MongoDB.
  2. Konfigurasikan kontrol akses berbasis peran – Terkadang ada pengelompokan logis dari izin yang mungkin diperlukan, yang dapat dikelompokkan berdasarkan peran. Pengguna kemudian dapat ditugaskan ke peran ini.
  3. Cobalah untuk mengkonfigurasi MongoDB untuk menggunakan semacam protokol enkripsi seperti TLS atau SSL. Protokol ini dapat digunakan untuk mengenkripsi lalu lintas yang mengalir antara klien dan lingkungan mongo DB.
  4. Konfigurasikan audit – Administrator biasanya perlu mengetahui siapa yang melakukan apa, yang membantu dalam menganalisis masalah di kemudian hari. Cara terbaik adalah mengaktifkan audit di MongoDB.
  5. Jalankan instance server MongDB dengan id pengguna terpisah yang memiliki akses ke sumber daya yang diperlukan di lingkungan server.

Prosedur Pencadangan Mongodb – mongodump

Saat bekerja dengan MongDB, penting untuk selalu memastikan prosedur pencadangan ada jika ada data di dalamnya MongoDB menjadi rusak karena alasan apa pun.

Di bawah ini adalah mekanisme cadangan yang tersedia dari dalam MongoDB

  1. Cadangkan dengan Menyalin File Data yang Mendasari – Ini mungkin mekanisme yang paling mudah, yang perlu dilakukan hanyalah menyalin file data yang ada MongoDB berada dan menyalinnya ke lokasi lain yang idealnya adalah server lain.
  2. Cadangkan Database dengan mongodump – Alat mongodump membaca data dari a MongoDB database dan membuat file BSON dengan ketelitian tinggi. Yang perlu dipertimbangkan adalah jika kumpulan data berukuran besar, maka mongodump bisa memakan banyak sumber daya, jadi untuk mengatasi masalah ini, utilitas harus dijalankan di server sekunder.
  3. MongoDB Cadangan Manajer Cloud - MongoDB Cloud Manager terus melakukan pencadangan MongoDB kumpulan replika dan cluster yang dipecah dengan membaca data oplog dari MongoDB lingkungan. MongoDB Cloud Manager dapat membuat pemulihan titik waktu dengan menyimpan data oplog sehingga dapat membuat pemulihan kapan saja untuk kumpulan replika atau kluster sharded tertentu.

Pemantauan Mongodb

Pemantauan adalah salah satu kegiatan administratif yang paling penting dalam MongoDB. Hal ini karena Anda bisa lebih proaktif dengan memantau lingkungan untuk mengetahui kemungkinan masalah yang mungkin muncul.

Di bawah ini adalah beberapa contoh penerapan pemantauan

  1. mongostat akan memberi tahu Anda berapa kali operasi basis data seperti penyisipan, kueri, pembaruan, penghapusan, dll. benar-benar terjadi di server. Ini akan memberikan gambaran yang baik tentang seberapa banyak beban yang ditangani server dan akan menunjukkan apakah Anda memerlukan sumber daya tambahan di server atau mungkin server tambahan untuk mendistribusikan beban.
  2. mongotop melacak dan melaporkan aktivitas baca dan tulis saat ini a MongoDB misalnya, dan melaporkan statistik ini berdasarkan per koleksi.
  3. MongoDB menyediakan antarmuka web yang memaparkan informasi diagnostik dan pemantauan dalam halaman web sederhana. Seseorang dapat menelusuri url di bawah ini di server lokal Anda untuk membuka utilitas administrasi web http://localhost:28017
  4. Perintah serverStatus, atau db.serverStatus() dari shell, mengembalikan gambaran umum status database, dengan rincian tentang penggunaan disk, penggunaan memori, koneksi yang dibuat ke database, dan banyak lagi. MongoDB lingkungan, dll.

MongoDB Pertimbangan Pengindeksan dan Kinerja

  1. Indeks sangat penting dalam database apa pun dan dapat digunakan untuk meningkatkan efisiensi permintaan pencarian MongoDB. Jika Anda terus-menerus melakukan pencarian di dokumen Anda, lebih baik menambahkan indeks pada bidang dokumen yang digunakan dalam kriteria pencarian.
  2. Usahakan untuk selalu membatasi jumlah hasil kueri yang dikembalikan. Misalkan Anda memiliki 2 nama bidang dalam sebuah dokumen, tetapi Anda hanya ingin melihat 2 bidang dari dokumen tersebut. Kemudian pastikan kueri Anda hanya menargetkan untuk menampilkan 2 bidang yang Anda perlukan dan tidak semua bidang.
  3. Jika Anda ingin melihat nilai bidang tertentu, gunakan hanya bidang tersebut dalam kueri. Jangan menanyakan semua bidang dalam koleksi jika tidak diperlukan.

Konfigurasi MongoDB dengan Otentikasi Kerberos

Sementara otorisasi bertujuan untuk memastikan akses klien ke sistem, otentikasi memeriksa jenis akses apa yang dimiliki klien MongoDB, setelah mereka diotorisasi ke dalam sistem.

Ada berbagai mekanisme otentikasi, berikut adalah beberapa di antaranya.

MongoDB Otentikasi menggunakan Sertifikat x.509

Gunakan Sertifikat x.509 untuk mengautentikasi klien – Sertifikat pada dasarnya adalah tanda tangan tepercaya antara klien dan MongoDB Server.

Jadi, alih-alih memasukkan nama pengguna dan kata sandi untuk menyambung ke server, sertifikat diteruskan antara klien dan MongoDB pelayan. Klien pada dasarnya akan memiliki sertifikat klien yang akan diteruskan ke server untuk diautentikasi ke server. Setiap sertifikat klien sesuai dengan satu MongoDB pengguna. Jadi setiap pengguna dari MongoDB harus memiliki sertifikat sendiri untuk disahkan ke MongoDB Server.

Untuk memastikan hal ini berfungsi, langkah-langkah berikut harus diikuti;

  1. Sertifikat yang valid harus dibeli dari otoritas pihak ketiga yang valid dan memasangnya di MongoDB Server.
  2. Sertifikat Klien harus memiliki properti berikut (Satu Otoritas Sertifikat (CA) harus menerbitkan sertifikat untuk klien dan server. Sertifikat Klien harus berisi bidang berikut – keyUsage dan extendedKeyUsage.
  3. Setiap pengguna yang terhubung ke Server MongDB harus memiliki sertifikat terpisah.

Cara Mengkonfigurasi MongoDB dengan Otentikasi Kerberos

Di bawah ini adalah langkah-langkah untuk mengkonfigurasi MongoDB dengan Otentikasi Kerberos aktif Windows:

Langkah 1) Konfigurasi MongoDB dengan Otentikasi Kerberos aktif Windows
Kerberos adalah mekanisme otentikasi yang digunakan di lingkungan klien-server besar.

Ini adalah mekanisme yang sangat aman dimana kata sandi hanya diperbolehkan jika dienkripsi. Dengan baik, MongoDB memiliki fasilitas untuk mengautentikasi terhadap sistem berbasis Kerberos yang ada.

Langkah 2) proses server mongod.exe
Selanjutnya, Mulai proses server mongod.exe.

Langkah 3) proses klien mongo.exe dan sambungkan
Selanjutnya, Mulai proses klien mongo.exe dan sambungkan ke MongoDB Server.

Langkah 4) Tambahkan pengguna MongoDB
Yang pada dasarnya adalah nama utama Kerberos untuk database $external. Basis data $external adalah basis data khusus yang memberitahukan MongoDB untuk mengautentikasi pengguna ini terhadap sistem Kerberos, bukan sistem internalnya sendiri.

Konfigurasi MongoDB dengan Otentikasi Kerberos

use $external
db.createUser(
{
	user: "user1@example.NET",

	roles:[
	{
		role: "read" , db:"Marketing"}
		
	}
		  ]
}

Langkah 5) Mulai gunakan perintah
Mulai mongod.exe dengan dukungan Kerberos dengan menggunakan perintah berikut

mongod.exe –auth –setParameter authenticationMechanisms=GSSAPI

Dan sekarang Anda dapat terhubung dengan pengguna Kerberos dan otentikasi Kerberos ke database.

Kesimpulan

  • Penerapan keamanan pada database sangat penting untuk menjamin data yang ada pada database tetap aman.
  • Pengguna dapat dibuat di database dengan perintah createUser. Peran tertentu dapat diberikan kepada pengguna untuk memberi mereka izin khusus pada database itu sendiri.
  • Administrator dapat ditambahkan untuk semua database hanya untuk database tertentu. Hal ini dicapai dengan memberikan peran userAdmin atau userAdminAnyDatabase.
  • Selalu buat cadangan Anda MongoDB lingkungan sehingga jika terjadi bencana, data dapat dengan mudah dipulihkan.
  • Selalu pantau Anda MongoDB lingkungan untuk menjadi lebih proaktif dan melihat masalah sebelum terjadi.
  • Ada berbagai mekanisme otentikasi untuk memberikan keamanan yang lebih baik dalam database. Salah satu contohnya adalah penggunaan sertifikat untuk mengautentikasi pengguna alih-alih menggunakan nama pengguna dan kata sandi.