DNSSEC (Domain Name System Security Extensions) 是 DNS 的安全扩展协议,用于保护 DNS 查询免受中间人攻击和 DNS 缓存投毒等威胁。
大多数现代 Linux 发行版使用 systemd-resolved
或 unbound
作为 DNS 解析器,它们都支持 DNSSEC 验证:
启用 systemd-resolved 的 DNSSEC:
sudo sed -i 's/#DNSSEC=no/DNSSEC=allow-downgrade/' /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
使用 Unbound:
sudo apt install unbound
sudo nano /etc/unbound/unbound.conf
在配置文件中启用:
module-config: "validator iterator"
常用的 DNS 服务器软件如 BIND 和 PowerDNS 都支持 DNSSEC:
bash
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
Linux 提供多种 DNSSEC 管理工具:
使用 dig 检查 DNSSEC 验证:
dig +dnssec example.com
检查特定记录的 DNSSEC 状态:
dig +short DNSKEY example.com
DNSSEC 验证失败:
性能问题:
DNSSEC 是提高 DNS 安全性的重要技术,虽然会增加一些管理复杂性,但对于安全敏感的环境非常必要。