Halo sobat sekolahlinux, kali ini saya akan membuat sedikit dokumentasi tentang cara sederhana untuk hardening mongodb kalian, artikel ini sendiri saya tulis berdasarkan apa yang tangani di pekerjaan saya, oke langsung saja masuk ke materinya ya
- didalam mongodb terdapat database “sekolahlinux”
pertama masuk ke konsol mongo
mongo --port 27017
didalam konsol mongo jalankan perintah dibawah untuk membuat user, password dan role nya
> use admin > db.createUser( { user: "administrator1", pwd: "5ekolahlinux", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
matikan service mongod, jika kalian menggunakan command line untuk menjalankan mongodnya bisa kill pid nya :D, lalu jalankan kembali dengan command dibawah ini pada konsol anda, pastikan folder dbpath owner user dan groupnya adalah mongod
mongod --auth --dbpath /var/lib/mongo --fork --logpath /var/log/mongodb/mongod.log
selanjutnya kalian bisa masuk kedalam konsol mongo dengan 2 mode authentikasi:
cara pertama memasukkan parameter user dan password ketika akan masuk ke konsol mongo
mongo --port 27017 -u "administrator" -p "5ekolahlinux" --authenticationDatabase "admin"
cara kedua masuk dulu kedalam konsol baru memasukkan user dan password
mongo --port 27017
> use admin > db.auth("administrator", "5ekolahlinux" )
selanjutnya kita akan membuat user dan password untuk db sekolahlinux, karena user diatas yang kita buat hanya di set role “userAdminAnyDatabase”
masuk ke mongo konsol dengan user dan password yang kita buat diatas, jika sudah jalankan perintah dibawah untuk membuat user, password dan juga rolenya
> use sekolahlinux > db.createUser( { user: "sekolahlinux", pwd: "5ekolahlinux", roles: [ { role: "readWrite", db: "sekolahlinux" } ] } )
nah selanjutnya jika kalian ingin melakukan insert atau apapun add collection pada database sekolahlinux bisa masuk ke konsol mongo dengan user dan password yang dibuat untuk database sekolahlinux
cara pertama memasukkan parameter user dan password ketika akan masuk ke konsol mongo
mongo --port 27017 -u "sekolahlinux" -p "5ekolahlinux" --authenticationDatabase "sekolahlinux"
cara kedua masuk dulu kedalam konsol baru memasukkan user dan password
mongo --port 27017
> use sekolahlinux > db.auth("sekolahlinux", "5ekolahlinux" )
selanjutnya bagaimana jika kita ingin menghapus user, atau menambahkan role pada user yang telah kita buat sebelumnya
untuk menghapus user kalian bisa menggunakan perintah dibawah pada konsol mongo kalian
> use admin > db.dropUser("administrator")
untuk menambahkan role pada user yang telah kita buat kalian bisa menggunakan perintah dibawah, list role bisa kalian lihat di docs mongodb, url saya letakan dibawah artikel ini
> use admin > db.grantRolesToUser( "administrator", [ "readWriteAnyDatabase"] )
untuk menghapus role yang telah kita berikan pada user bisa dengan perintah dibawah
> use admin > db.revokeRolesFromUser( "administrator", [ "readWriteAnyDatabase" ] )
jika kalian ingin melihat didalam database tersebut ada user apa, kalian bisa menjalankan perintah ini, tapi ingat sebelumnya kalian harus masuk konsol mongo dan masuk kedalam database yang akan dilihat
> use admin > show users
> use sekolahlinux > show users
untuk melihat ada role apa saja mongodb kalian bisa menuju ke link dibawah