在当今网络环境中,DNS(域名系统)作为互联网的“电话簿”,其安全性至关重要。如果DNS服务器被攻击或篡改,可能导致用户访问钓鱼网站、数据泄露甚至整个内网瘫痪。本文将针对使用 RockyLinux 系统部署的 DNS 服务(以广泛使用的
BIND9为例),提供一套完整、易懂的 DNS安全加固 教程,即使是 Linux 新手也能轻松上手。
一、准备工作:确认环境与安装BIND
首先,确保你的 RockyLinux 系统已更新:
sudo dnf update -y
接着安装 BIND9(RockyLinux 中的包名为
bind和
bind-utils):
sudo dnf install bind bind-utils -y
二、基础安全配置:限制查询与递归
默认情况下,BIND 可能允许任意主机进行递归查询,这极易被用于 DNS 放大攻击。我们需要在主配置文件
/etc/named.conf中进行限制。
使用你喜欢的编辑器(如
nano或
vim)打开配置文件:
sudo nano /etc/named.conf
找到
options块,添加或修改以下关键参数:
options { listen-on port 53 { 127.0.0.1; your_server_ip; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; secroots-file "/var/named/data/named.secroots"; recursing-file "/var/named/data/named.recursing"; // 关键安全设置开始 allow-query { localhost; trusted_networks; }; allow-recursion { localhost; trusted_networks; }; recursion yes; // 禁止版本信息泄露 version "Not disclosed"; // 启用响应速率限制(防DDoS) rate-limit { responses-per-second 5; window 10; slip 2; };}; 其中
trusted_networks是你自定义的 ACL(访问控制列表)。在
options块上方或下方定义它:
acl trusted_networks { 192.168.1.0/24; // 替换为你的内网网段 10.0.0.0/8; // 如有其他可信网段可继续添加}; 三、启用 DNSSEC(域名系统安全扩展)
DNSSEC 可防止 DNS 欺骗和缓存投毒攻击。在
/etc/named.conf的
options块中加入:
dnssec-enable yes;dnssec-validation yes;
保存后重启服务使配置生效:
sudo systemctl restart namedsudo systemctl enable named
四、防火墙与 SELinux 配置
RockyLinux 默认启用 firewalld 和 SELinux,需确保它们不会干扰 DNS 服务,同时增强防护。
开放 DNS 端口(UDP/TCP 53):
sudo firewall-cmd --permanent --add-service=dnssudo firewall-cmd --reload
检查 SELinux 是否允许 named 服务正常运行(通常默认策略已支持,但可验证):
sudo getsebool -a | grep named
若需调整,例如允许区域传输,可执行:
sudo setsebool -P named_allow_recursion 1
五、定期日志监控与更新
安全不是一次性的配置。建议:
定期查看/var/log/messages或使用
journalctl -u named监控异常查询; 保持系统和 BIND 软件包及时更新:
sudo dnf update bind -y; 考虑部署 Fail2ban 自动封禁恶意 IP。
结语
通过以上步骤,你已经完成了对 RockyLinux 上 BIND9 DNS 服务器的基础 DNS安全加固。这些措施包括限制查询范围、启用 DNSSEC、隐藏版本信息、配置防火墙等,有效提升了 RockyLinux网络安全 水平。记住,安全是一个持续的过程,定期审计和更新是保障服务长期稳定的关键。
关键词回顾:RockyLinux DNS安全加固、DNS服务器安全配置、RockyLinux网络安全、BIND9安全设置。
