扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
三.网络攻击和防火墙
3.1什么是网络攻击
当混乱的Internet和你良好的、有序的Linux服务器网络之间进行连接时,你最好能知道哪些东西可以进入你的大门。这就需要制定包过滤策略,既然是包过滤,肯定是要过滤掉那些对网络有害的或者是无用的包,但哪些包是有害的呢?我们既然是在防守,不妨听听敌人的想法。
作为一个老练的入侵者,他并不会盲目的展开攻击和入侵,他首先会确定自己的目标,当然,确定目标的方法有2种,一是根据个人的好恶或审美观点确定目标,二是根据广义扫描器(反馈结果简单,但是速度很快的扫描器)的反馈结果,选择整体安全性不高的网络作为攻击目标。
接下来要做的就是了解这个网络服务器,就象和人交往一样,你对那个人越了解,就越清楚那个人的弱点,从而你对它的伤害就越致命。对人的了解通过交谈,对服务器的了解要通过扫描;首先要确定的是这台服务器都开有什么服务,这很简单,通过tcp协议的3次握手:
1. 当请求端对要扫描的服务器端口送一个包含SYN标志的TCP报文,这个报文指明客户端使用的端口以及TCP连接的初始端口。
2.服务器在接受到客户端的SYN包问候,假如客户端请求连接的端口存在,则返回一个SYN+ACK的报文,表示客户端的请求被接受。同时TCP序号被加一。那么扫描器接受到SYN+ACK报文后,会向入侵者报告,扫描的这个端口是打开的,从而使入侵者判断这是什么服务。
3. 客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
4. 假如服务器的这个端口不存在,或者没有返回SYN+ACK报文,则扫描端发出一个FIN标志报文,撤销这个TCP连接。
当确定了服务器开设了什么端口以后,有经验的入侵者可以从端口判断出这台服务器开设的具体服务,然后就是按照不同的服务进行漏洞攻击或入侵了。
从以上攻击步骤看出,不要让服务器完全暴露在网络中,是非常重要的,也就是首先对端口进行过滤,只允许指定的服务通过制定的端口穿越防火墙。这也就引出了RFC2979规定的互联网防火墙规则配置的基本准则之一:一切未被允许的就是禁止的。
基于该准则,防火墙应该封锁所有的信息流,然后对希望提供的服务逐项开放。这是一种非常实用的方法,可以造成一种十分安全的环境,因为只有经过仔细挑选的服务才被允许实用。
3.2如何防御网络攻击
从我们上例来看,我们只开设了web服务使用标准的80端口。
那我们要在防火墙中进行如下设置:
|
假如我们在将来还要还要添加适当端口,可以用上句的格式逐一添加,这样我们就实现了对网络服务器主机的端口过滤功能,这种方法也只是降低受到攻击的次数要防御这种攻击,还要分别制定防火墙策略。
1. 死亡之ping (ping of death)
ping,这个软件是测试网络间是否畅通用的,他应用于icmp协议,但并不依赖于哪个端口,由于在早期的阶段,路由器对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方当机。
为了解决这个问题,我们可以在防火墙中加入以下内容:
|
这句话的意思是,从接口eth1进入的icmp协议的请求全部丢弃。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者