MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kiat untuk Mengelola MongoDB dari Jarak Jauh

Bekerja dari jarak jauh karena pandemi Covid-19 berarti peningkatan pentingnya infrastruktur yang terisolasi; lebih khusus yang hanya dapat diakses melalui jaringan internal, tetapi dengan cara yang memungkinkan orang yang berwenang dari dunia luar dapat mengakses sistem kapan saja atau di mana saja.

Dalam artikel ini, kami akan membagikan beberapa langkah dasar yang harus Anda terapkan dengan MongoDB untuk memastikan akses yang aman saat mengelola database.

Mengamankan MongoDB

Sebelum mengakses database MongoDB dari jarak jauh, Anda harus melakukan "pengerasan" lingkungan. Setel yang berikut di sisi infrastruktur:

Aktifkan Autentikasi MongoDB 

Fitur ini wajib diaktifkan, terlepas dari apakah kita ingin mengakses database MongoDB dari jaringan internal atau dari jaringan eksternal. Sebelum mengaktifkan otorisasi, Anda harus terlebih dahulu membuat pengguna admin di MongoDB. Anda dapat menjalankan perintah di bawah ini untuk membuat pengguna admin di salah satu server mongoDB Anda:

$ mongo

> use admin

> db.createUser(

      {

          user: "admin",

          pwd: "youdontknowmyp4ssw0rd",

          roles: [ "root" ]

      }

  );

Perintah di atas akan membuat pengguna baru bernama admin dengan hak akses root. Anda dapat mengaktifkan fitur Auth MongoDB dengan membuka file /etc/mongod.conf dan kemudian menambahkan baris berikut:

  security:

   authorization: 'enabled'

Jangan lupa untuk me-restart layanan mongoDB Anda untuk menerapkan perubahan. Perintah di atas akan membatasi akses ke database, hanya orang yang memiliki kredensial akses yang memenuhi syarat untuk masuk.

Menyiapkan Peran dan Hak Istimewa

Untuk mencegah penyalahgunaan akses ke MongoDB, kita dapat mengimplementasikan akses berbasis peran dengan membuat beberapa peran dan hak istimewanya.

Pastikan Anda memiliki daftar pengguna yang perlu mengakses database dan memahami kebutuhan dan tanggung jawab setiap individu. Buat peran dan tetapkan hak istimewa untuk peran yang dibuat ini. Setelah itu, Anda dapat menetapkan pengguna Anda ke peran berdasarkan tanggung jawab.

Pendekatan ini membantu kami meminimalkan penyalahgunaan wewenang dan segera mengidentifikasi peran dan pengguna ketika sesuatu yang tidak diinginkan terjadi.

Konfigurasikan Koneksi SSL / TLS

MongoDB mendukung koneksi SSL / TLS untuk mengamankan data saat transit. Untuk mengimplementasikan ini, Anda harus membuat Kunci SSL Anda sendiri, Anda dapat membuatnya menggunakan openssl. Untuk mengaktifkan dukungan SSL / TLS, Anda dapat mengedit file /etc/mongod.conf dan menambahkan parameter berikut:

  net:

      tls:

         mode: requireTLS

         certificateKeyFile: /etc/mongo/ssl/mongodb.pem

Setelah menambahkan parameter ini, Anda perlu me-restart layanan MongoDB. Jika Anda memiliki arsitektur replika MongoDB, Anda perlu menerapkannya pada setiap node. SSL juga diperlukan saat klien akan mengakses MongoDB, baik dari sisi aplikasi maupun dari klien secara langsung.

Untuk penggunaan produksi, Anda harus menggunakan sertifikat valid yang dibuat dan ditandatangani oleh otoritas sertifikat tunggal. Anda atau organisasi Anda dapat membuat dan memelihara sertifikat sebagai otoritas sertifikat independen, atau menggunakan sertifikat yang dibuat oleh vendor TLS/SSL pihak ketiga. Cegah penggunaan sertifikat yang ditandatangani sendiri, kecuali itu adalah jaringan tepercaya.

Batasi Port Database

Anda harus memastikan bahwa hanya port MongoDB yang dibuka di server firewall atau alat firewall, pastikan tidak ada port lain yang terbuka.

Mengamankan Koneksi MongoDB

Koneksi jarak jauh melalui internet publik menimbulkan risiko pengiriman data dari pengguna lokal ke server database dan sebaliknya. Penyerang dapat mengganggu interkoneksi, yang dalam hal ini dikenal sebagai serangan MITM (Min-in-The-Middle). Pengamanan koneksi sangat diperlukan ketika kita mengelola/mengadministrasikan database dari jarak jauh, beberapa hal yang dapat kita terapkan untuk melindungi akses kita ke database adalah sebagai berikut:

Akses Jaringan Pribadi

VPN (Virtual Private Network) adalah salah satu hal mendasar ketika kita ingin mengakses infrastruktur kita dari luar dengan aman. VPN adalah jaringan pribadi yang menggunakan jaringan publik untuk mengakses situs jarak jauh. Pengaturan VPN membutuhkan perangkat keras yang harus disiapkan di sisi jaringan pribadi, selain itu klien juga membutuhkan perangkat lunak VPN yang mendukung akses ke jaringan pribadi.

Selain menggunakan VPN, cara lain untuk mengakses server MongoDB adalah dengan port forwarding port database melalui SSH, atau lebih dikenal dengan SSH Tunneling.

Gunakan SSL/TLS dari Client ke Database Server

Selain mengimplementasikan akses aman menggunakan VPN atau SSH Tunneling, kita bisa menggunakan SSL/TLS yang sebelumnya sudah dikonfigurasi di sisi MongoDB. Anda hanya memerlukan kunci SSL yang Anda miliki dan coba sambungkan ke database menggunakan Kunci SSL.

Aktifkan Pemantauan Basis Data

Sangat penting untuk mengaktifkan layanan pemantauan untuk memahami keadaan database saat ini. Server pemantauan dapat dipasang di bawah domain publik yang mengaktifkan SSL / TLS, sehingga akses ke browser secara otomatis dapat menggunakan HTTP.

Kesimpulan

Bekerja dari rumah sangat menyenangkan, Anda dapat berinteraksi dengan anak-anak Anda dan pada saat yang sama memantau database Anda. Anda harus mengikuti panduan di atas untuk memastikan Anda tidak diserang atau data dicuri saat mengakses database Anda dari jarak jauh.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $pesanBoleh

  2. MongoDB di AWS:Bagaimana Cara Memilih Jenis Instans EC2 yang Tepat untuk Server MongoDB Anda?

  3. MongoDB GridFs dengan C #, bagaimana cara menyimpan file seperti gambar?

  4. Bagaimana mengelola dokumen di MongoDB

  5. Mengapa Anda Masih Harus Menggunakan Mesin Penyimpanan MMAPv1 untuk MongoDB