防火墙是服务器防护的第一道关卡,防火墙设置得好不会让你飞起来,但是至少不会让你跌的太惨,有太多的问题其实只要一个简单的防火墙即可规避。当然传统意义的防火墙只能控制端口的开启和关闭,端口开启以后上面服务的漏洞和更复杂的HTTP类似的更多的安全问题这些防火墙无法避免。

是否配置防火墙是一个最基本的安全意识,是是否有贯彻最小权限原则的体现。管理一台服务器,首先要看防火墙开放情况,有些购买的设备本身无法设置防火墙,就需要上一层交换机或者防火墙协助防护。防火墙设置是越靠近越好,规则越细越好,纵深防御路上数据中心和互联网边界上的较宽的防火墙规则也有存在的必要。推荐阅读:《防火墙是如何工作,类型有哪些?》

防火墙配置的多个途径

GUI:通过GUI界面编辑防火墙,好处是简单,不需要懂太多的防火墙知识,有验证,效果跟visudo一样。缺点就是编辑速度慢,观察的时候不是太直观。

CLI:设置速度快,有一定的验证,需要熟悉防火墙语法。

配置文件:直接修改配置文件是速度最快的方法,可以进入DevOps自动化部署流程,缺点是直接修改配置文件没有验证。

对于以上几种配置途径,各有优缺点,GUI降低了管理员的能力要求,但是也会带来一些麻烦,如果界面做得不好,对于切换规则和查错速度没有直接命令或者操作log来的快速。如果对防火墙规则不是太熟悉,GUI配置后生成的规则是学习最好的材料。如果可能,最后应当做成配置文件或者bat、sh等命令行集合,保证幂等,可重复运行,会大大降低配置和切换的工作量。推荐阅读:《服务器租用中防火墙的意义是什么?》

失效的防火墙

防火墙配置很简单,但是防火墙失效的原因也很多:

1)一条过宽的规则隐藏在几十条粒度不同的防火墙规则内

2)防火墙被乙方或者其他人为了调试等原因关闭而没有再开启

3)防火墙本身规则不了解,没有设置默认DROP或者忽略了IPv6协议

4)配置文件格式错误导致服务无法启动或者应用了旧的规则

5)应用了错误的情景模式,比如Windows规则配置的“公用网络”,但是某次启动后应用了“专用网络”。

6)多次根据不同重保规则切换防火墙导致规则错乱,遗漏或多余。

7)实时生效和持久性生效的区别,有些规则启动后就消失了。

所以验证防火墙是否正确不是去阅读规则,而是应当查看放行日志,采用nmap或者其他端口扫描工具定期扫描,如果写过程序就知道,这是类似TDD的做法,首先写一堆防火墙检测规则AssertTrue/AssertFalse,然后再配置防火墙,直到所有所有测试通过。推荐相关阅读:《网站服务器响应变慢怎么办》

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注