Di bagian pertama blog “An Overview of MongoDB Atlas,” kami melihat cara memulai MongoDB Atlas, penyiapan awal dan migrasi Cluster MongoDB yang ada ke MongoDB Atlas. Pada bagian ini kita akan terus mengeksplorasi beberapa elemen manajemen yang diperlukan untuk setiap sistem produksi MongoDB, seperti keamanan dan kelangsungan bisnis.
Keamanan Basis Data di MongoDB Atlas
Keamanan selalu diutamakan. Meskipun penting untuk semua database, untuk MongoDB memiliki arti khusus. Pada pertengahan 2017 internet penuh dengan berita tentang serangan ransomware yang secara khusus menargetkan kerentanan dalam sistem MongoDB. Peretas membajak instance MongoDB dan meminta tebusan sebagai imbalan atas pengembalian data yang disimpan. Ada peringatan. Sebelum serangan ransomware ini, para blogger dan pakar menulis tentang berapa banyak contoh produksi yang ditemukan rentan. Ini memicu diskusi yang bersemangat seputar keamanan MongoDB untuk waktu yang lama setelahnya.
Kita sekarang berada di tahun 2019 dan MongoDB semakin populer. Versi utama baru (4.0) baru-baru ini dirilis, dan kami telah melihat peningkatan stabilitas di MongoDB Atlas. Tapi apa yang telah dilakukan untuk meningkatkan keamanan database NoSQL di cloud.
Ransomware dan tekanan konstan pasti berdampak pada MongoDB karena kita dapat melihat dengan jelas bahwa keamanan sekarang menjadi pusat ekosistem MongoDB. MongoDB Atlas tidak terkecuali karena sekarang hadir dengan kontrol keamanan bawaan untuk kebutuhan pemrosesan data produksi dan banyak fitur keamanan perusahaan di luar kotak. Pendekatan default (yang menyebabkan kerentanan) dari versi yang lebih lama hilang dan database sekarang diamankan secara default (jaringan, otorisasi mentah, dll). Itu juga dilengkapi dengan fitur yang Anda harapkan ada di lingkungan produksi modern (audit, akses pengguna sementara, dll).
Tapi tidak berhenti di situ. Karena Atlas adalah solusi online, Anda sekarang dapat menggunakan integrasi dengan pihak ketiga seperti otentikasi LDAP atau layanan internet MongoDB modern seperti grafik MongoDB. MongoDB Atlas dibangun di atas Amazon WebServices (AWS), Microsoft Azure, dan Google Cloud Platform (GCP) yang juga menawarkan langkah-langkah keamanan tinggi mereka sendiri. Kombinasi hebat ini memastikan standar keamanan MongoDB Atlas seperti yang kami harapkan. Mari kita lihat sekilas beberapa fitur utama ini.
MongoDB Atlas &Keamanan Jaringan
MongoDB Atlas membangun kluster di atas infrastruktur cloud Anda yang sudah ada. Ketika seseorang memilih AWS, data pelanggan disimpan dalam sistem MongoDB Atlas. Sistem ini adalah server virtual AWS EC2 penyewa tunggal, khusus yang dibuat hanya untuk Pelanggan Atlas. Pusat data Amazon AWS mematuhi beberapa standar keamanan fisik dan keamanan informasi, tetapi karena kami membutuhkan jaringan terbuka, hal itu dapat menimbulkan kekhawatiran.
Kluster khusus MongoDB Atlas diterapkan di Virtual Private Cloud (VPC) dengan firewall khusus. Akses harus diberikan oleh daftar putih IP atau melalui Peering VPC. Secara default semua akses dinonaktifkan.
MongoDB memerlukan port jaringan berikut untuk Atlas...
- 27016 untuk pecahan
- 27015 untuk konektor BI
- 27017 untuk server
- Jika LDAP diaktifkan, MongoDB memerlukan jaringan LDAP 636 di sisi pelanggan yang terbuka untuk lalu lintas 0.0.0.0 (seluruh Internet).
Port jaringan tidak dapat diubah dan TLS tidak dapat dinonaktifkan. Akses juga dapat diisolasi dengan daftar putih IP.
Selain itu Anda dapat memilih untuk mengakses MongoDB Atlas melalui host Bastion. Host Bastion dikonfigurasi untuk memerlukan kunci SSH (bukan kata sandi). Mereka juga memerlukan otentikasi multi-faktor, dan pengguna tambahan harus disetujui oleh manajemen senior untuk akses backend.
Manajemen Akses Berbasis Peran MongoDB Atlas
Anda dapat mengonfigurasi aturan akses berbasis peran lanjutan untuk mengontrol pengguna (dan tim) mana yang dapat mengakses, memanipulasi, dan/atau menghapus data di database Anda. Secara default tidak ada pengguna yang dibuat sehingga Anda akan diminta untuk membuatnya.
MongoDB Atlas memungkinkan administrator untuk menentukan izin untuk pengguna atau aplikasi serta data apa yang dapat diakses saat menanyakan MongoDB. MongoDB Atlas menyediakan kemampuan untuk menyediakan pengguna dengan peran khusus untuk proyek atau database, sehingga memungkinkan untuk mewujudkan pemisahan tugas antara entitas yang berbeda yang mengakses dan mengelola data. Prosesnya sederhana dan sepenuhnya interaktif.
Untuk membuat pengguna baru, buka tab Keamanan di sisi kiri dan pilih antara pengguna MongoDB dan peran MongoDB.
Peran MongoDB
Enkripsi Basis Data End-to-End di MongoDB Atlas
Semua data MongoDB Atlas dalam perjalanan dienkripsi menggunakan Transport Layer Security (TLS). Anda memiliki fleksibilitas untuk mengonfigurasi versi protokol TLS minimum. Enkripsi untuk data tidak aktif diotomatiskan menggunakan volume penyimpanan terenkripsi.
Anda juga dapat mengintegrasikan praktik dan proses keamanan yang ada dengan MongoDB Atlas untuk memberikan kontrol tambahan atas cara Anda mengamankan lingkungan.
Untuk MongoDB Atlas Cluster itu sendiri, otentikasi secara otomatis diaktifkan secara default melalui SCRAM untuk memastikan sistem yang aman di luar kotak.
Dengan Encryption Key Management, Anda dapat membawa kunci enkripsi Anda sendiri ke cluster khusus Anda untuk lapisan enkripsi tambahan pada file database, termasuk snapshot cadangan.
Audit di MongoDB Atlas
Pengauditan basis data granular menjawab pertanyaan terperinci tentang aktivitas sistem untuk penerapan dengan banyak pengguna dengan melacak semua perintah terhadap basis data. Audit di MongoDB hanya tersedia di MongoDB Enterprise. Anda dapat menulis peristiwa audit ke konsol, ke syslog, ke file JSON, atau ke file BSON. Anda mengonfigurasi opsi audit menggunakan –auditDestination qualifier. Misalnya, untuk mengirim peristiwa audit sebagai peristiwa JSON ke syslog gunakan...
mongod --dbpath data/db --auditDestination syslog
MongoDB memelihara sistem manajemen log terpusat untuk pengumpulan, penyimpanan, dan analisis data log untuk lingkungan produksi. Informasi ini dapat digunakan untuk pemantauan kesehatan, pemecahan masalah, dan untuk tujuan keamanan. Peringatan dikonfigurasi dalam sistem untuk memberi tahu SRE tentang masalah operasional apa pun.
Integrasi LDAP Atlas MongoDB
Otentikasi dan otorisasi pengguna terhadap kluster MongoDB Atlas dapat dikelola melalui server Lightweight Directory Access Protocol (LDAP) pelanggan melalui TLS. Konfigurasi LDAP tunggal berlaku untuk semua cluster database dalam proyek Atlas. Server LDAP digunakan untuk menyederhanakan kontrol akses dan membuat manajemen izin lebih terperinci.
Untuk pelanggan yang menjalankan server LDAP mereka di AWS Virtual Private Cloud (VPC), koneksi peering direkomendasikan antara lingkungan tersebut dan VPC yang berisi database Atlas mereka.
Kesinambungan Bisnis MongoDB dan Pemulihan Bencana
MongoDB Atlas membuat dan mengonfigurasi kluster khusus pada infrastruktur yang disediakan oleh AWS, Azure, dan/atau Google GCP. Ketersediaan data tunduk pada proses Business Continuity Plans (BCP) dan Disaster Recovery (DR) layanan penyedia infrastruktur. Penyedia layanan infrastruktur MongoDB Atlas memegang sejumlah sertifikasi dan laporan audit untuk kontrol ini.
Cadangan Basis Data di MongoDB Atlas
MongoDB Atlas mencadangkan data, biasanya hanya beberapa detik di belakang sistem operasional. MongoDB Atlas memastikan pencadangan terus menerus dari kumpulan replika, snapshot yang konsisten di seluruh cluster dari sharded cluster, dan pemulihan point-in-time. Layanan pencadangan yang terkelola sepenuhnya ini menggunakan Amazon S3 di wilayah terdekat dengan penerapan basis data pelanggan.
Data cadangan dilindungi menggunakan enkripsi sisi server. Amazon S3 mengenkripsi data yang dicadangkan pada tingkat objek saat ia menulisnya ke disk di pusat datanya dan mendekripsinya untuk Anda saat Anda memulihkannya. Semua kunci dikelola sepenuhnya oleh AWS.
Kluster Atlas yang disebarkan di Amazon Web Services dan Microsoft Azure dapat memanfaatkan snapshot penyedia cloud yang menggunakan kemampuan snapshot asli dari penyedia cloud yang mendasarinya. Cadangan disimpan di wilayah cloud yang sama dengan cluster yang sesuai. Untuk cluster multi-region, snapshot disimpan di region pilihan cluster.
Atlas menawarkan metode berikut untuk mencadangkan data Anda...
Cadangan Basis Data Berkelanjutan
Pencadangan berkelanjutan tersedia di Cluster M10+ dan versi yang lebih rendah dari versi server 4.2. Ini adalah metode lama untuk melakukan pencadangan MongoDB. Atlas menggunakan snapshot tambahan untuk terus mencadangkan data Anda. Snapshot pencadangan berkelanjutan biasanya hanya beberapa detik di belakang sistem operasional. Atlas memastikan pencadangan set replika secara tepat waktu dan snapshot seluruh kluster yang konsisten dari kluster sharded sendiri, yang digunakan untuk S3.
Snapshot Salinan Penuh
Atlas menggunakan kemampuan snapshot asli dari penyedia cloud Anda untuk mendukung snapshot salinan lengkap dan penyimpanan snapshot yang dilokalkan.
Danau Data Atlas MongoDB
Menggunakan Atlas Data Lake untuk menyerap data S3 Anda ke dalam kluster Atlas memungkinkan Anda dengan cepat melakukan kueri data yang disimpan di bucket AWS S3 Anda menggunakan Mongo Shell, MongoDB Compass, dan driver MongoDB apa pun.
Saat Anda membuat Data Lake, Anda akan memberi Atlas akses baca saja ke bucket S3 di akun AWS Anda dan membuat file konfigurasi data yang memetakan data dari bucket S3 Anda ke database dan koleksi MongoDB Anda. Atlas mendukung penggunaan klaster M10+ apa pun, termasuk Klaster Global, untuk terhubung ke Data Lakes di tempat yang sama.
Pada saat penulisan blog ini, format berikut didukung.
- Avro
- Parket
- JSON
- JSON/Gzip
- BSON
- CSV (memerlukan baris header)
- TSV (memerlukan baris header)
Kesimpulan
Itu saja untuk saat ini, saya harap Anda menikmati ikhtisar dua bagian saya tentang MongoDB Atlas. Ingatlah bahwa ClusterControl juga menyediakan pengelolaan Cluster MongoDB end-to-end dan merupakan alternatif hebat dengan biaya lebih rendah untuk MongoDB Atlas yang juga dapat diterapkan di cloud.