本帖最后由 adds 于 2024-1-23 13:33 编辑
从VPN走到aTrust,国外走了20年,而深信服,只用了2年。
这是什么速度?这是中国高铁一样的速度!
1、我们不一样 部署过VPN和aTrust的小伙伴一定会发现这两者的一个不同点。即aTrust如果涉及到公网IP映射时,必须要将公网地址写在设备的【接入地址】里。 为什么要多这么一个选项呢?在上面有个详细说明,其中有一个功能说是防止Host攻击。 但是Host攻击是什么?aTrust怎么防Host攻击?为什么一定要手工点一下呢?
2、Host攻击 2.1 什么是host攻击 我们去搜索host攻击,是找不到相关信息的。 于是我们找Host攻击的关信息,叫hosts头攻击。于是,我猜测,这里要表达的应该是host头攻击。 什么是host头攻击? Host头攻击(Host Header Injection)是指攻击者通过伪造HTTP请求的Host头字段,将请求路由到不受信任的服务器,以达到盗取或篡改数据的目的。Host头攻击通常出现在缺乏防护措施的Web应用程序中,比如通过未经授权的API向第三方服务请求资源等。攻击者可以通过构建特定参数的请求、或者使用代理进行攻击。 2.2Host头攻击可能导致以下危害: 1)数据泄露:攻击者可以在服务器未授权的情况下访问和窃取网站的敏感数据。 2)篡改数据:攻击者可以修改请求的URL,篡改页面内容,或将用户带到特定的恶意网站。 3)DDoS攻击:攻击者花费较少的资源就可以发起大量请求,导致服务器崩溃和拒绝服务。 2.3 漏洞验证 Host头攻击漏洞的检测比较简单,只需要抓包,修改Host字段值,提交,查看响应中是否包含修改后的Host字段值即可。 1)普通网站修改host值看回应包 正常包: 修改Host值为114.114.14.114 2)VPN设备 正常包: 修改Host值为114.114.114.114 3)aTrust设备 正常包: 修改host值为114.114.114.114 在普通网站或VPN设备测试中,当我们修改host值时,网站依旧会给出正常响应,证明网站存在该漏洞。 而aTrust设备,当我们修改host值时,给出了404报错。 2.4 如何防范这种攻击? 1)检查输入参数:需要在代码中检查用户输入的Host头参数,对非法字符或注入攻击进行过滤,并限制Host头长度,确保请求转发到正确的服务器。 2)使用HTTPS:使用HTTPS协议可以帮助防止中间人攻击和窥探,从而提高安全性。 3)限制请求来源:通过配置服务器,只允许特定IP地址或DNS访问相应资源,确保请求只会被转发到正确的服务器上。 4)限制HTTP方法:限制特定的HTTP方法,比如只允许GET和POST方法,防止攻击者使用其他方法发起Host头攻击。 2.6 攻击验证 我们搭建两个网站。 可以看到,网站Host没有变,但网站的内容变了。 我们通过修改host头部让客户想要访问的网站发生了变化,而这个网站可以是钓鱼或其他信息窃网站。 具体参考网络文章。
3、质疑 3.1 为什么一定要配置这个接入地址呢? 当我们不配置这个地址时,用户在内网访问登录页面正常。使用公网映射后的地址访问是这样的。 一开始是很不理解的,VPN用了这么多年了,没配置这个地方,也都用过来了啊。 第一次配置时,没注意。排查了好一阵。 虽然安全跟简单成反比,但安全也不一定意味着就要复杂? 有没有办法在设备内置个策略,不需要让用户手工输入,减少运维的复杂度。 3.2 有没有其他方法可以实现呢? 在网上找到了一些参考方法。 1)验证和过滤Host头字段:服务器应该验证和过滤HTTP请求中的Host头字段,确保其与实际请求的目标主机一致,并拒绝具有异常或恶意Host头字段的请求。 2)使用安全的编程语言和框架:使用安全的编程语言和框架可以减少潜在的安全漏洞和攻击面,降低HTTP Host头攻击的风险。 3)实施CSRF防护措施:为了防止CSRF攻击,应该使用随机生成的令牌进行身份验证,并对跨站请求进行验证,确保请求来源的合法性。 4)定期更新和修补系统:及时更新和修补服务器和应用程序的漏洞,以减少攻击者利用Host头攻击的机会。
4、总结 在对设备的系统或WEB进行进行漏洞扫描,我们有时会发现主机或系统存在Host头攻击漏洞。很多时候我们是可以通过打补丁包的方法解决该漏洞的。 虽然越安全越复杂有一定的道理,但既安全又简单才是用户的诉求。 我们的Slogan是什么? 让每个用户的数字化更简单、更安全! |