为Graylog设置MongoDB身份验证
时间:2020-03-21 11:47:01 来源:igfitidea点击:
[+] Databases ----------------------------------- - MongoDB status [ FOUND ] - Checking MongoDB authorization [ DISABLED ]
尽管MongoDB仅在本地接口上侦听并且没有公共访问权限,但仍必须解决该问题。
启用MongoDB身份验证
停止服务:
# systemctl stop graylog-server elasticsearch mongod
在没有访问控制的情况下启动MongoDB:
# mongod --port 27017 --dbpath /var/lib/mongo/
连接到实例:
# mongo --port 27017
列出数据库:
show databases; graylog 0.078GB local 0.000GB
创建管理员用户。
确保角色设置为" root"。
我尝试使用" userAdminAnyDatabase",但遇到了问题。
这是你的选择。
use graylog; db.createUser( { user: "mongo_admin", pwd: "passwd", roles: [ { role: "root", db: "admin" } ] } ) exit
断开mongo shell的连接后,还原文件夹权限:
# chown -R mongod:mongod /var/lib/mongo/
打开文件" /etc/mongod.conf"进行编辑,然后添加以下内容:
security: authorization: enabled
启动MongoDB:
# systemctl start mongod
以mongo_admin用户身份连接并进行身份验证:
# mongo --port 27017 -u "mongo_admin" -p --authenticationDatabase "graylog"
配置Graylog以再次验证MongoDB
打开文件/etc/graylog/server/server.conf进行编辑,并添加以下内容:
mongodb_uri = mongodb://mongo_admin:[email protected]:27017/graylog
启动Elasticsearch和Graylog:
# systemctl start elasticsearch graylog-server
检查Graylog日志是否存在任何问题。