解决mongoDB各种安全隐患问题 (解决魔方的方法)

教程大全 2025-07-07 18:37:59 浏览

Mongo的默认安装经常会导致各种安全问题,例如凤凰网某系统和mongodb未授权访问。

今天我们来聊聊MongoDB的安全配置。

1.MongoDB安装时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以–auth参数启动。

2.在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,没有记录权限相关的信息。当 admin.system.users一个用户都没有时,即使mongod启动时添加了–auth参数,如果没有在admin数据库中添加用户,此时不 进行任何认证还是可以做任何操作(不管是否是以–auth 参数启动),直到在admin.system.users中添加了一个用户。

3.MongoDB的访问分为连接和权限验证,即使以–auth参数启动还是可以不使用用户名连接数据库,但是不会有任何的权限进行任何操作

4.admin数据库中的用户名可以管理所有数据库,其他数据库中的用户只能管理其所在的数据库。

5.在2.4之前版本中,用户的权限分为只读和拥有所有权限;2.4版本的权限管理主要分为:数据库的操作权限、数据库用户的管理权限、集群的管理权限,建议由超级用户在admin数据库中管理这些用户。不过依然兼容2.4版本之前的用户管理方法。

0×01 MongoDB中用户的角色说明

1. read角色

数据库的只读权限,包括:

aggregate,checkShardingIndex,cloneCollectionAsCapped,collStats,count,dataSize,dbHash,dbStats,distinct,filemd5,mapReduce (inline output only.),text (beta feature.)geoNear,geoSearch,geoWalk,group 

2. readWrite角色

数据库的读写权限,包括:

read角色的所有权限

cloneCollection (as the target>clean,collMod,collStats,compact,convertToCappe create,db.createCollection(),dbStats,drop(),dropIndexes ensureIndex(),indexStats,profile,reIndex renameCollection (within a single>addShard,closeAllDatabases,connPoolStats,connPoolSync,_cpuProfilerStart_cpuProfilerStop,cursorInfo,diagLogging,dropDatabase shardingState,shutdown,splitChunk,splitVector,split,top,touchresync serverStatus,setParameter,setShardVersion,shardCollection replSetMaintenance,replSetReconfig,replSetStepDown,replSetSyncFrom repairDatabase,replSetFreeze,replSetGetStatus,replSetInitiate logRotate,moveChunk,movePrimary,netstat,removeShard,unsetSharding hostInfo,db.currentOp(),db.killOp(),listDatabases,listShardsgetCMDLineOpts,getLog,getParameter,getShardMap,getShardVersion enableSharding,flushRouterConfig,fsync,db.fsyncUnlock() 

6. readAnyDatabase角色

任何数据库的只读权限(和read相似)

7. readWriteAnyDatabase角色

任何数据库的读写权限(和readWrite相似)

8. userAdminAnyDatabase角色

任何数据库用户的管理权限(和userAdmin相似)

9. dbAdminAnyDatabase角色

任何数据库的管理权限(dbAdmin相似)

0×02 MongoDB安装注意事项

1. 安装的时候需要加–auth

加了–auth之后MongoDB才需要验证

2. 需要加–nohttpinterface

不加会有一个28017的端口监听,可以通过网页管理mongodb,不需要请去掉

3. 可以加–bind_ip

加之后可以限制访问的ip

4. 可以加–port

加了之后可以重新制定端口,默认为27017

5. 安装完之后需立即在admin数据库中添加一个用户

只有在admin数据库中添加一个用户后才能使认证生效

注:安装的过程其实就是添加1个服务,指定启动时候的参数。

0×03 用户授权

1. 2.4之前版本的用户管理方式

1.1、进入admin创建一个管理账号

use admin db.addUser("test","test") 

1.2、进入需要使用的数据库中创建一个程序使用用户

use test db.addUser("test","test")默认拥有读写权限 db.addUser("test","test",True)拥有读取权限 

2. 2.4版本的用户管理,也可使用之前版本的方式

2.1、进入admin创建一个管理账号

use admin db.addUser("test","test") 

2.2、进入admin给使用的数据库test创建一个对数据库及日志拥有读写权限的账户

use admin db.addUser({ "user": "test", "pwd": "test", "roles": [ ], "otherDBRoles": { "test": [ "readWrite" ], "test_log": [ "readWrite" ] } }) 

0×04 安全配置方案

1. 安装的时候加–auth,并立即在admin数据库创建一个用户

默认情况下MongoDB是无需验证的,所以这是至关重要的一步

2. 可以考虑安装的时候修改端口和指定访问ip

具体根据实际情况来设定,也可以直接在 服务器 防火墙上做

解决魔方的方法

3. 安装的时候建议加上–nohttpinterface取消默认的一个网页管理方式

默认的web管理一般不会用,且很多人不知道,***关闭

4. 管理用户处理

因需要在admin中建立一个管理账户用于管理,***是设置强密码,但是不要给其他程序使用

5. MongoDB服务运行账户

windows下可以使用network service 或者新建一个用户,使用默认的USERS组,然后添加给予数据库文件及日志存储目录的写权限,并建议取消对cmd等程序的执行权限。

linux下新建一个账户,给予程序的执行权限和数据库文件及日志目录的读写权限,并建议取消对sh等程序的执行权限。

6. 控制好网站或者其他程序使用的连接用户权限

网站或者其他程序使用的用户只给予对应库的权限,不要使用admin数据库中的管理账户。

0×05 常用命令

1. 安装

mongod --dbpath d:\mongodb\data --logpath d:\mongodb\log\mongodb.log ----nohttpinterface --auth --install

2. 添加用户

use admin db.addUser("test","test") 

3. 显示所有数据库

4. 使用某个数据库

5. 连接数据库

mongo test -uroot -p123456

6. 添加用户认证

db.auth("username","password")

7. 查看用户

db.system.users.find()

就写几个基本的,其他的网上很多,或者用工具连上去之后操作。

0×06 管理工具

1. MongoVue

客户端形式的管理工具

2. rockmongo

基于php的web管理

不足之处求大牛指正!


严重声明保安不能睡觉怎么写

如果想严重一点的,最好是以通告的形式写,通告,保安员在当值时间里,禁止睡觉及做其他与工作无关的事情,否则一经查出 即刻辞退,若因工作期间因睡觉而导致财产损失的立即报警公安机关,并追究当值人员的刑事责任。

个人能从油库批发柴油吗

能的,不带票就行,我就是做柴油生意的

职业病卫生管理制度及操作规程?

企业职业健康管理制度一、职业危害防治责任制度 (一)主要负责人责任制1.设立职业危害管理机构,并提供人力资源;2.定期召开职业健康工作会议,研究解决存在的问题;3.组织建立、健全本单位职业危害防治责任制、规章制度和操作规程;4.督促、检查本单位的职业危害防治工作,及时消除职业危害事故隐患;5.保证本单位职业危害防治投入的有效实施;6.组织建立并实施本单位的职业危害事故应急救援预案;7.及时、如实报告职业危害事故。 (二)主管职业危害负责人责任制1.明确在本企业职业危害防治管理工作中的具体职责;2.组织职业危害防治检查及落实职业危害因素整改;3.组织制定、修订和审定各项职业危害防治管理制度,并检查其执行情况;4.明确在职业危害事故应急救援预案中的组织、实施责任。 (三)专职职业危害管理人员职业危害防治责任制1.贯彻执行有关职业危害防治的法规、制度和标准;2.负责日常职业危害防治的监督、检查、技术管理、教育以及职业危害事故的调查组织、统计、上报和建档工作。 (四)职业危害岗位防治责任制1.参加职业危害防治培训教育和活动、学习职业危害防治技术知识,遵守各项职业危害防治规章制度和操作规程,发现隐患及时报告;2.正确使用、保管各种劳保用品、器具和防护设施;3.不违章作业,并劝阻或制止他人违章作业行为,对违章指挥有权拒绝执行,并及时向单位领导汇报;4.当工作场所有发生职业危害事故的危险时,应向监督管理人员报告,并停止作业,直到危险消除。 (五)职业危害管理部门职业危害防治责任制1.贯彻执行国家和上级制定的职业危害防治的规定及各项职业危害防治规章制度,并对执行情况进行监督检查;2.在企业负责人领导下组织建立、修订各项职业危害防治管理制度和参与制定职业危害防治技术措施;3.职业危害防治技术措施计划和作业场所的职业危害防治实施监督管理。 二、职业危害监测、检测和评价管理制度 (一)日常监测1.明确日常监测人员,并对数据的准确性负责;2.明确尘、毒、噪声的合理布点(布置图),明确监测时间,并做好记录(记录表);3.规定监测办法。 (二)检测和评价1.按规定委托取得资质认定的职业健康技术服务机构进行作业场所危害因素浓度或强度的检测和评价;2.作业场所危害因素浓度或强度若超过职业接触限值,应及时采取有效的治理措施,治理措施难度较大的应制定规划,限期解决;3.职业卫生防护设施在投入使用时和在设备大修后,应进行危害因素浓度或强度检测和评价。 三、职业危害告知制度 (一)岗前告知在订立或者变更劳动合同时,将工作场所中可能产生的职业病危害因素、后果、防护措施和待遇等如实告知劳动者。 (二)作业场所告知1.设置或定期更换作业场所职业病危害警示标识,明确具体负责人;2.设置高毒物品告知卡;3.定期将监测、检测和评价结果公示,明确公示方式。 四、职业危害检查和隐患整改制度1.明确职业危害检查负责部门和人员,以及相应的任务和职责;2.明确职业危害检查方式(如日常、定期、季节性、节假日前后和一般性、专业性)及检查周期;3.明确职业危害检查内容(包括对思想认识、管理制度、现场环境、职业危害标志、职业危害设施、工艺、设备、仪表、问题整改等方面的检查内容);4.检查记录保存完好;5.明确对检查中发现问题的处理;6.明确对事故隐患整改限期要求及复查要求,实现跟踪问效;7.有害作业与无害作业是否分开,作业场所与生活场所是否分开。 五、职业危害申报制度1.申报工作负责人;2.每年申报时间;3.申报程序;4.申报存档资料。 六、职业健康宣传教育培训制度1.明确教育培训负责部门和培训对象(负责人、管理人员、特种作业人员、在岗员工、新进员工、转岗人员、外来人员、临时工作人员等);2.明确各类人员接受职业危害教育的内容(思想、政策、法律法规、事故教训、职业危害基本技能、常识、经验等)及教材;3.明确培训应达到的目的及资格要求;4.明确教育方式、培训时间、考核方式;5.明确必须持证上岗的人员,依法接受有关培训、考核(包括复审)管理规定的要求。 七、职业危害防护设施维护检修制度1.制定职业危害维护检修规定;2.明确维护检修单位和检修人的职责范围;3.明确检修的种类;4.各类检修作业应当遵循的规程或规定;5.检修的程序和要求;6.检修的记录要求;7.检修的验收要求。 八、从业人员防护用品管理制度1.明确配备标准;2.明确采购及特种劳保用品供应方的资质审验办法;3.明确劳保用品的发放、使用、报废管理办法和管理责任人。 九、职业健康监护档案管理制度 (一)从业人员职业健康监护档案1.从业人员职业史、既往史和职业病危害接触史;2.相应作业场所职业病危害因素监测结果;3.职业健康检查结果及处理情况;4.职业病诊疗等员工健康资料 (二)用人单位职业健康监护管理档案1.职业健康监护委托书;2.职业健康检查结果报告和评价报告;3.职业病报告卡;4.对职业病患者、患有职业禁忌证者和已出现职业相关健康损害从业人员的处理和安置记录。 (三)职业健康检查1、开展上岗前的职业健康检查,不得安排未经上岗前职业健康检查的员工从事接触职业病危害因素的作业;不得安排有职业禁忌的员工从事其所禁忌的作业。 2、开展在岗期间的职业健康检查,将体检结果如实告知从业人员,对需要复查和医学观察的劳动者,应当按照体检机构要求的时间,安排其复查和医学观察;对疑似职业病病人应当向所在地安全监管和卫生行政部门报告,并按照体检机构的要求安排其进行职业病诊断或者医学观察。 3、开展离岗时的职业健康检查。 对未进行离岗时职业健康检查的从业人员,不得解除或终止与其订立的劳动合同。 4、开展职业危害事故后参加应急救援人员的职业健康检查。 十、岗位职业健康操作规程建立健全各岗位职业健康操作规程,并张贴在操作岗位。 主要包括内容:1.生产操作方法和要求;2.重点操作的复核、操作过程的职业危害要求和劳动保护;3.异常情况处理和报告;4.工艺卫生和环境卫生。 十一、职业危害事故管理制度1.明确职业危害事故报告程序和内容,调查、处理程序及要求;2.“四不放过”(事故原因未查清不放过、有关责任人员未处理不放过、预防措施不放过、未受到教育不放过)原则的要求;3.事故档案管理和事故台帐。 十二、外来施工单位及人员的职业危害管理制度1.外来施工单位及人员的资质要求;2.对外来施工单位及人员的教育和检查办法;3.职业危害协议签订要求。 十三、应急救援预案管理1.成立应急机构,明确各人员应急救援管理责任;2.制定应急预案,配备必要的应急救援物资,保证资金,经论证后由负责人批准发布实施;3.明确重大职业危害应急救援的宣传、学习、教育、演练等相关工作。 《职业病防治法》第十九条 用人单位应当采取下列职业病防治管理措施:(一)设置或者指定职业卫生管理机构或者组织,配备专职或者兼职的职业卫生专业人员,负责本单位的职业病防治工作;(二)制定职业病防治计划和实施方案;(三)建立、健全职业卫生管理制度和操作规程;(四)建立、健全职业卫生档案和劳动者健康监护档案;(五)建立、健全工作场所职业病危害因素监测及评价制度;(六)建立、健全职业病危害事故应急救援预案。 《职业健康监护管理办法》(2002.04.10)中华人民共和国卫生部令第23号第十七条 用人单位应当建立职业健康监护档案。 职业健康监护档案应包括以下内容:(一)劳动者职业史、既往史和职业病危害接触史;(二)相应作业场所职业病危害因素监测结果;(三)职业健康检查结果及处理情况;(四)职业病诊疗等劳动者健康资料。 GBZ/T 225—2010《用人单位职业病防治指南》4.1.11 建立、健全劳动者职业健康监护档案根据规定,用人单位应为存在劳动关系的劳动者(含临时工)建立职业健康监护档案。 劳动者名册应按照上岗前、在岗期间和离岗分别建立存档。 职业健康监护档案应包括以下内容:—劳动者姓名、性别、年龄、籍贯、婚姻、文仁程度、嗜好等一般概况;—劳动者职业史、既往史和职业病危害接触史;—相应工作场所职业病危害因素监测结果事;—职业健康检查结果及处理情况;—职业病诊疗等劳动者健康资料。 *:关于台账:4.3.5 可能产生职业病危害的设备台账4.3.7 使用、生产、经营可能产生职业病危害的化学品台账4.3.8 使用放射性同位素和含有放射性物质材料的台账4.7.3 职业病防护设施及其台账4.7.4 个人职业病防护用品台账5.1.15 工种台账5.3.2 职业病危害防护设施台账

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐