FreeBSD handbook中文版 10 安全(7) 致服务器,本地网络或其他机器超载。最普通的攻击是ICMP ping broadcast attack。 攻击者欺骗性地用源IP 地址向你的LAN 广播地址发送ping 数据包到他们希望攻击的 实际机器。如果你的路由器无法阻止他们ping 广播地址,你的LAN 就会对每个欺骗性的请 求产生回应,从而侵占大量的网络资源,特别是当攻击者使用同样的欺骗手段用几十个广 播地址从几十个不同的网络进攻时。 第9 页FreeBSD 使用手册 超过120MB 的广播攻击是常用的。另外一个普通的攻击是针对ICMP 错误报告系统的。 通过产生数据包来形成ICMP 错误请求,一个攻击者可以侵占一个个服务器的输入网络,使 得服务器用ICMP 请求占满它的输出网络。如果服务器不能很快地处理ICMP 请求的话,这 种类型的攻击也可以使服务器瘫痪。FreeBSD 内核有一个叫做ICMP_BANDLIM 的新的内核选 项,它可以限制这些端口攻击的效率。这种跳板类的攻击是与象这样的udp echo 服务的某 个内部inetd 服务有关的。 一个攻击者只要简单地用成为服务器A 的echo 端口的源地址和成为服务器B 的echo 端口的目的地址来哄骗一个UDP 数据包。两个服务器就来回地弹发数据包。攻击者只要发 送几个这种类型的数据包就可以使服务器和内部网瘫痪。类似的问题也存在于内部chargen 端口。一个熟练的系统管理员会关闭所有这些内部的inetd 测试服务。 哄骗式数据包攻击也可以被用来是内核路由缓存超载。可以参考一下 net.inet.ip.rteXPire, rtminexpire, 和rtmaxcache sysctl 参数。随意使用一个源IP 进行的哄骗式的数据包攻击将使内核在路由表中产生一个临时的高速缓冲路由,可以用 netstat -rna fgrep W3 检查一下。这些路由大约会超时1600 秒。如果内核检测到缓冲 路由表太大,它将动态地减少rtexpire,但不会小于rtminexpire。有两个问题: 1. 当一个负载量很小的服务器突然受到攻击时,内核没有很快地响应。 2. 由于rtminexpire 太小而无法抵抗住一个持续不断的攻击。 如果你的服务器通过T3 或更高速度的线路连接到internet,可能需要通过使用sysctl 来手动地调整rtexpire 和rtminexpire。千万不要把参数设为0(除非你想要摧毁机器)。 把参数设为2 秒对于保护路由表免受攻击是非常好的。 10.3.9 用Kerberos 和SSH 的访问问题 如果你打算使用它们的话,在kerberos 和ssh 之间有好几个问题需要记住。Kerberos V 是一个非常卓越的验证协议,但在加密telnet 和rlogin 应用程序时会有一些错误,可能 会使它们不太适合处理二进制数据流。另外,默认的kerberos 也无法加密一个会话,除非 你使用-x 选项。ssh 默认能加密任何东西。 我们建议无论用户什么时候登陆系统,你都可以结合kerberos 来使用ssh。ssh 可以在 编译时加入对kerberos 的支持。我们也建议你在ssh 配置中关闭key-forwarding,或者在它 第10 页FreeBSD 使用手册 的authorized_keys 文件中使用from=IP/DOMAIN 选项使得只有用作实体的密匙可以从特殊 机器登陆进系统。