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


        这周为止,学习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的表,实现防火墙功能。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
React基础面试通常包括以下几个方面: 1. React中函数组件和类组件的区别是什么? 函数组件是一个简单的JavaScript函数,接受props作为参数并返回一个React元素。它通常用于展示静态内容或处理简单的交互逻辑。类组件是通过ES6的class语法创建的,继承自React.Component,可以使用state来管理内部状态以及使用生命周期方法,适用于复杂的逻辑和状态管理。 2. 在React中,keys的作用是什么? 键(keys)是React中用于识别和跟踪组件列表中每个元素的特殊属性。它们帮助React准确地更新和重排组件,提高性能。在遍历生成列表的时候,为每个元素添加唯一的键,可以帮助React更好地识别元素的变化,避免不必要的重新渲染。 以上回答参考了引用和引用中的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [2022必备react面试 附答案](https://blog.csdn.net/It_kc/article/details/121773566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【前端面试】—30道常见React基础面试(附答案)](https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/115339484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [面试-基础.doc](https://download.csdn.net/download/Sheng_zhenzhen/12576734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值