web安全——防火墙
简介
用于实现服务器(Linux)的访问控制的功能的。
分硬件和软件防火墙。
主要是控制访问的流入和服务器的流出。
通过黑名单和白名单的思想来实现更细粒度的控制,这个一般结合其他的应用来定义策略实现。
概念
黑白名单
可以说防御的思想,主要就是黑白名单的思想!!!!是黑白名单的组合。
黑名单指的是对名单上的ip拒绝提供服务,主要用于拒绝恶意访问和攻击。
白名单指的是对名单上的ip是信任
的,不做严格的控制(不限速、不限频率等)。比如说用于测试的时候使用、用于cdn回源下载、第三方防ddos服务的ip等。
服务器类型
不同服务器类型的策略是不一样的。暂时定义几个策略。这个需要根据对服务器的架构职责来划分。
- 代理服务器。对外的http服务,一般只开放80端口,同时把请求转发到其他服务器。所以即有外网网卡又有内网网卡。
- 业务服务器。不对外提供服务。所以没有外网网卡,只有内网网卡。以最小原则的方式,限制可以通信的端口(具体的每一个开放的端口,都需要明确提供什么服务)。特殊情况是需要外网卡的,比如说调用第三方短信或者邮件服务。
- 堡垒机。是日常运维使用的服务器,只对外提供ssh服务。所以即有外网网卡又有内网网卡。
场景
- 过滤服务,只开放需要的服务
- 控制请求的频率和速度
- 对指定ip的访问不控制
- 拒绝指定ip的访问
方案
iptables是一个链条,通过对链条规则的操作就可以实现场景
的需求。链条是顺序执行的。链条是双向的,包括入和出。限制可以做到网卡级别,不同的网卡限制的规则也是不一样的
例如代理服务器的设置
外网提供服务的防火墙设置思路:
- 通过黑名单思想,直接拒绝指定的ip(ip黑名单)访问。
- 通过白名单思想,只提供80(端口白名单)端口的访问。
- 通过白名单思想,对指定的ip(ip白名单)不设置访问限制。
- 限制80端口的访问(频率和流量)。
- 拒绝所有服务。
内网提供服务的防火墙设置思路:
- 通过白名单思想,直接允许内网的指定端口(具体根据业务,比如数据库、ssh、nfs等)可以访问
- 拒绝所有服务。
所以,最重要的是规则设定,以及结合其他的应用实现自动添加黑名单ip。比如说结果nginx分析出恶意ip,然后通过添加到防火墙的黑名单里。
验证方法
这里的验证方法和工具还需要不断的补充
1.通过nmap来验证,端口的开放情况
2.通过ab或者webbench来验证,限制和访问的频率
参考资料
【【【版权所有,转载请注明原文链接。】】】
文中有不妥或者错误的地方还望指出,以免误人子弟。如果觉得本文对你有所帮助不妨【推荐】一下!如果你有更好的建议,可以给我留言讨论,共同进步!
再次感谢您耐心的读完本篇文章。
【【【我们所浪费的今天,是昨天死去的人奢望的明天;我们所厌恶的现在,是未来的自己回不去的曾经】】】