TongWeb7防SDOS攻击和HOST头攻击
一、防SDOS攻击
服务器在接收到请求时,完全接收以后才会处理请求,如果攻击者发送的比较缓慢或者发送的不完整,服务器会保留其连接,占用资源池,如果请求数量较多,就会形成 SDOS 攻击。
TongWeb7版本配置防SDOS攻击方式如下,注意配置参数合理,若配置过小,则可能拦截正常请求。若配置过大,则可能无法起到防攻击效果。
属性名称 | 对应tongweb.xml 配置属性 | 属性说明 |
---|---|---|
完整请求时间 | complete.message.timeout.seconds | 完整请求时间,通过配置完整请求时间来判断是否为慢攻击,时间单位为秒,如果配置值大于 0,则认为开启慢攻击检测,默认值为 0,关闭慢攻击检测。 |
慢攻击容忍次数 | max.attack.times | 慢攻击容忍次数,为防止处理掉正常请求,支持配置容忍次数,同一个 IP 地址超过配置数,则加入黑名单,默认配置为 3 |
黑名单移除时间 | blacklist.expired.hours | 黑名单移除时间,通过配置时间来清除已经加入到黑名单中的 IP 地址,时间单位为小时,默认配置为 12 小时 |
中断当前连接 | interrupt.current.connect | 中断当前连接,布尔类型,配置为 true 表示如果当前发送消息的连接处于黑名单中,则中断,默认配置为 true |
二、防HOST头攻击
HTTP规范中在增加了HOST头信息,用于存储服务端与客户端的路由信息。
如果前端或者后台正好用到这个值,比如jsp的String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();那么黑客就可以通过修改HOST里域名值以达到攻击的目的。比如request.getServerName()改成:www.abc.com,这样页面内引用后请求就会被转接了。
防 Host 头攻击:开启或关闭防 Host 头攻击,开启时,需要配置正确的主机名白名单,若HOST头与配置中的值不对应则请求会被拦截。