Di bindIp
127.0.0.1
menurut konvensi adalah alamat IP localhost
dan terikat ke antarmuka loopback, yang hanya dapat diakses dari mesin yang sama.
Menggunakan alamat ini sebagai default adalah praktik terbaik, karena hal itu tidak memungkinkan untuk secara tidak sengaja mengekspos layanan kepada publik. Anda harus membuat pilihan sadar untuk mengubah IP pengikatan agar layanan Anda tersedia untuk umum. Yang harus Anda lakukan hanya setelah Anda memastikan bahwa Anda telah mengambil langkah-langkah keamanan yang tepat.
Biasanya, mesin memiliki antarmuka loopback dan satu atau lebih antarmuka jaringan "nyata".
Katakanlah Anda memiliki satu antarmuka jaringan yang "internal" (hanya dapat diakses oleh server aplikasi Anda, karena Anda memasukkannya ke dalam jaringan yang sama) dan Anda memiliki satu antarmuka jaringan yang "eksternal" (dapat dijangkau melalui internet publik untuk tujuan pemeliharaan). Sekarang, jika Anda akan mengikat instance MongoDB Anda ke semua antarmuka (Anda akan menggunakan alamat IP 0.0. 0,0 untuk melakukan itu), instans MongoDB Anda akan dapat diakses dari internet publik – bukan situasi yang diinginkan. Penyerang dapat mencoba memaksa kata sandi Anda secara kasar dan pada akhirnya bisa mendapatkan akses ke instans MongoDB Anda. Lebih baik mencegah akses dari internet publik sama sekali.
Apa yang Anda inginkan agar instans MongoDB Anda dapat diakses oleh server aplikasi Anda dan dari mesin yang menjalankannya. Jadi, Anda akan mengikat MongoDB ke kedua IP antarmuka loopback (127.0.0.1
) dan IP jaringan pribadi, yang secara umum akan menjadi salah satu dari
- rentang dari
10.0.0.0
ke10.255.255.255
- rentang dari
172.16.0.0
ke172.31.255.255
- rentang dari
192.168.0.0
ke192.168.255.255
Mari kita ambil contoh kita dan katakan baik server aplikasi dan instans MongoDB berada dalam jaringan pribadi dalam rentang 192.168.X.X
dan Anda telah memberi instance MongoDB alamat IP 192.168.0.1
. Jadi, Anda ingin instans MongoDB Anda dapat diakses melalui 192.168.0.1
sehingga server aplikasi dapat berbicara dengannya dan melalui 127.0.0.1
untuk menggunakan alat administrasi dari mesin yang dijalankan MongoDB dengan mudah.
Jadi dengan sintaks konfigurasi YAML, Anda akan melewati beberapa IP
CATATAN jangan tambahkan spasi di antara koma pada banyak IP
# WARNING!!! WARNING!!! WARNING!!!
# DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
# (or you really, really, really know what you are doing)
net:
bindIp: 127.0.0.1,192.168.0.1
Pada peringatan
Singkatnya, ini adalah cara MongoDB untuk mengatakan:
Ada semacam tersirat "Kecuali Anda benar-benar tahu apa yang Anda lakukan!", karena iirc, peringatan akan hilang jika Anda mengaktifkan otentikasi klien atau ubah bindIp.