Ubuntu下避免以root身份运行BIND服务的最佳方法
Ubuntu下避免以root身份运行BIND服务的最佳方法
嗨,刚好我在Ubuntu上折腾BIND的时候也研究过这个问题,其实Ubuntu的BIND(也就是bind9包)默认就做了安全配置,不过咱们可以一步步确认和优化,确保它绝对不会以root身份运行:
- 确认默认运行用户:Ubuntu的
bind9安装后,默认就会用bind系统用户来运行服务。你可以用命令ps aux | grep named查看进程,输出里的用户列应该显示bind,而不是root。如果没看到,那咱们手动加配置就行。 - 配置文件强制指定用户:打开主配置文件
/etc/bind/named.conf.options,确认里面有一行user bind;——这行就是强制BIND以bind用户启动的关键配置。如果没有的话,直接在配置文件的options块里加上,然后用named-checkconf命令验证配置是否合法。 - 修正文件权限:确保BIND相关的文件和目录权限正确,避免出现root权限的文件导致安全风险:
/etc/bind目录下的配置文件,所有者设为root:bind,权限设为640(只有root能修改,bind用户可以读取)- 区域文件如果放在
/var/cache/bind,所有者设为bind:bind,权限644就足够了
- 不要乱改systemd服务配置:Ubuntu用systemd管理BIND服务,
/lib/systemd/system/bind9.service里已经默认配置了User=bind和Group=bind参数,除非你有特殊需求,别随便修改这个文件,不然可能破坏默认的安全设置。 - 重启后验证:修改配置后,执行
systemctl restart bind9重启服务,再用ps aux | grep named确认进程确实是以bind用户运行的。
备注:内容来源于stack exchange,提问作者user1939843
相关产品推荐
相关产品推荐

