通过一道“蹩脚”的题想到的


这周为止,学习Linux刚好整整一个月,下面是一道目前对我来说比较大的一道题,用到了DNS的视图(要求必须用),LAMP, VSFTP 的虚拟用户,还有iptabels的各项配置。但是,我今天想要总结的不是这道题的做法,而是对这道题的感想。

题目如下:

通过一道“蹩脚”的题想到的

我画的设计图:

通过一道“蹩脚”的题想到的



DMZ区分析

1.根据题意需要建立一个DMZ区域,里面提供NFS ,FTP,HTTP,MYSQL的服务
2.内网用户可以使用所有服务,外网用户能用到ftp,http,mysql,dns

我用了两台服务器来实现DMZ区域的服务,这样负载也均衡一些:
192.168.0.1提供httpd,dns(主), ftp服务,网页文件保存在nfs服务器上,这样这台服务器并不存储重要数据。
192.168.0.2提供NFS服务和mysql服务,这样重要的数据都保存在一台不提供http的服务更安全一些,并且提供一个DNS的从服务器,如果0.1挂掉的话,它就会工作,确保内网用户正常上网。


防火墙分析

1.需要配置DNAT来将DMZ区的httpd,dns,mysql映射出去。

2.内网用户需要可以直接转发到DMZ区域,外网用户不能访问内网主机。

3.不允许DMZ区域的主机主动请求任何主机

蹩脚的地方 因为只有同一台HTTPD服务器,所有DNS无论视图内网还是外网用户,都最终指向了DMZ区域的主机。

例如:外网访问www.test.org , 域名解析请求到达防火墙时,转发给主DNS服务器,DNS再解析到外网地址,防火墙再DNAT到192.168.0.1,中间经历了一个循环如下图:
通过一道“蹩脚”的题想到的
那么这种方式是否有好处?
1)安全方面
在经历了整个过程后,外网看到的仍然是123.18.1.32:80 ,期间两次经过了防火墙都允许通过,安全吗?
2)负载方面

域名是注册过的,也就是说,浪费了一次域名解析,其实可以直接通过iptables的DNAT来直接访问。

3)扩展方面

内网用户可以通过这个DNS服务来进入内部页面,可以构建内网的各种服务(邮箱),那么内网可以通过其他域名直接访问到自己的邮箱。比如:mail.test.org
以目前的知识,我只能推断出在第三项里有好处,其他两项都先得有点多余,但是要求必须在DMZ区域实现这些功能,所以没有其他的方法让DNS发挥更大的作用。在我看来,有些不合理。


从DMZ区的概念来看是否合理

DMZ区概念:

点击此处添加图片说明DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。


那么从这个角度来看,攻击着想要攻击内网用户区域,就必须先攻克这个DMZ区域,但是这道题的要求可以实现这个要求吗?通过iptables的设定,只允许外网主机访问DMZ区域,而且不允许DMZ区域的任何主机发起任何主动请求,这样有效防止了反弹木马。


反弹木马的概念:反弹木马,是驻留在用户计算机里的一段服务程序,而攻击者控制的则是相应的客户端程序。服务程序通过特定的端口,打开用户计算机的连接资源。一旦攻击者所掌握的客户端程序发出请求,反弹木马便和他连接起来,将用户的信息窃取出去。


所以综合得出结论:虽然是一道蹩脚的题目,但是却要求必须明确的理解以下概念:

1. DNS的解析流程 ,视图

2. iptables里各个表的应用,“堵”于“开” DNAT

3. DMZ区域的概念,工作机制

4. 反弹木马的机制,怎么样去防止



好了,总结到这,晚上写出iptables的表,实现防火墙功能。