1、网络安全运行与维护网络安全运行与维护模块四Linux服务器系统安全管理与维护DHCP DNSWeb FTPCA服务器群集服务器群集邮件服务邮件服务DDNInternet北京总部北京总部长春分公司长春分公司VPN网管工作站网管工作站重庆分公司重庆分公司DHCPWEBWEBFTPDNSBDNS总体概述总体概述 加强Linux系统的DNS服务的安全防御能力 加固Linux系统的DHCP服务安全防御能力 提升Linux系统的WEB服务的安全防御能力 提高Linux系统的FTP服务安全访问及安全防御能力 使用Linux防火墙模块提升服务器的安全防御能力能力单元能力单元1加强Linux系统的DNS服务的安
2、全防御任务描述任务描述v 任务描述 本任务主要是通过以下方法来加强DNS服务器的安全。隔离DNS服务器 隐藏DNS服务器 避免透露服务器信 关闭DNS服务器的glue fetching选项 使用非root权限运行bind 控制区域(zone)传输 请求限制 其他強化措施 使用DNSSEC 为DNS服务器配置DNS Flood Detector任务分析任务分析v 任务分析 DNS服务面临的安全隐患主要包括:DNS欺骗(DNS Spoffing)、拒绝服务(Denial of service,DoS)攻击、分布式拒绝服务攻击和缓冲区漏洞溢出攻击(Buffer Overflow)。具体如下:DNS欺
3、骗 缓存感染 DNS信息劫持 DNS重定向 分布式拒绝服务攻击 缓冲区漏洞溢出攻击相关知识相关知识v 相关知识 DNS欺骗 如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。拒绝服务攻击 SYN Flood SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(Distributed Denial Of Service分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。任
4、务实施任务实施拓扑结构拓扑结构v 拓扑结构任务实施任务实施实施步骤实施步骤v 实施步骤 步骤1选择没有安全缺陷的DNS版本 BIND主要分为三个版本:(1)v4:1998年多数unix捆绑(2)v8:如今使用最多最广大版本(3)v9:最新版本,步骤2保护DNS服务器本身安全 第一步:隔离DNS服务器 DNS服务器要专用,不要在DNS服务器上运行其它服务,尽量允许普通用户登录。第二步:隐藏DNS服务器 rootlab2#vi/etc/named.conf version unknow on this platform;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 第三步:避免透露D
5、NS服务器信息 不要轻易透露服务器其他信息。为了让潜在的攻击者更难得手,尽量不要在DNS配置文件中使用这HINFO和 TXT两个资源记录。第四步:以最小的权限及使用chroot()方式运行BIND 以 root 使用者的身分执行BIND有安全隐患,攻击者若找到BIND的安全漏洞,可能获取 root 的身分,从而进行对服务器攻击。named-u named-t/var/named 步骤3保护 DNS 免于 Spoofed攻击 第一步:关闭rescursion的功能 修改配置文件:/etc/named.conf.加入一行:rootlab2#vi/etc/named.conf recursion n
6、o;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 第二步:关闭 glue fetching 的功能 修改配置文件:/etc/named.conf.加入一行:rootlab2#vi/etc/named.conf fetch-glue no;第三步:限制查询要求的服务对象 限制询问要求的来源(IP 地址)限制可以查询的区域范围 rootlab2#vi/etc/named.conf allow-query 192.168.123.0/24;zone IN type master;file/var/named/.hosts;allow-query any;allow-update non
7、e;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 步骤4保护 Zone Transfer 的安全 默认情况下BIND的区域(zone)传输是全部开放的 rootlab2#vi/etc/named.conf acl zone-transfer 192.168.123.11;192.168.123.20;zone IN type master;file/var/named/.hosts;allow-query any;allow-transfer zone-transfer;allow-update none;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 步骤5保护Dy
8、namic Update的安全 允许能向本DNS服务器提交动态 DNS 更新的主机IP列表。rootlab2#vi/etc/named.conf acl zone-transfer 192.168.123.11;192.168.123.20;acl updater 192.168.123.15;/dhcp-server zone IN type master;file/var/named/.hosts;allow-query any;allow-transfer zone-transfer;allow-update updater;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 步
9、骤6使用 TSIG保护DNS服务器 第一步:产生加密密钥 rootlab2#dnssec-keygen-a HMAC-MD5-b 128-n HOST K.+157+00415 rootlab2#dnssec-keygen-a HMAC-MD5-b 128-n HOST K.+157+41321 rootlab2#第二步:加密密钥(公钥)rootlab2#cat K.+157+00415.key .IN KEY 512 3 157 AqgKPP98op6ORpyeUpbPhg=rootlab2#cat K.+157+41321.key .IN KEY 512 3 157 9WcIbGo85Oa
10、RQ9y4eEZokg=任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 私有密钥 rootlab2#cat K.+157+00415.private Private-key-format:v1.2 Algorithm:157(HMAC_MD5)Key:AqgKPP98op6ORpyeUpbPhg=rootlab2#cat K.+157+41321.private Private-key-format:v1.2 Algorithm:157(HMAC_MD5)Key:9WcIbGo85OaRQ9y4eEZokg=任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 第三步:修改p
11、rimary master 的 named.conf rootlab2#vi/etc/named.conf key .algorithm hmac-md5;secret 9WcIbGo85OaRQ9y4eEZokg=;server 192.168.123.16 keys .;任务实施任务实施实施步骤实施步骤(cont.)v 实施步骤 第四步:修改slave 的 named.conf rootlab2#vi/etc/named.conf/key .algorithm hmac-md5;secret AqgKPP98op6ORpyeUpbPhg=;server 192.168.123.11 keys .;总结总结v 本任务主要加强Linux系统的DNS服务的安全防御能力v 本任务主要通过以下技术方法实现 选择没有安全缺陷的DNS版本 保护DNS服务器本身安全 保护 DNS 免于 Spoofed攻击 保护 Zone Transfer 的安全 保护Dynamic Update的安全 使用 TSIG保护DNS服务器