前言
网络安全作为网络全局中很重要的一块,往往需要更多的精力去维护,本来我对网络安全一点兴趣也没有,我只是想做一个小小的运维工程师,但是我这两天经历了一件让我刻骨铭心的事,由于自己的疏忽导致电脑被植入木马,信息泄露并且收到了威胁,这件事导致我心情很低落,也认识到了网络世界的黑暗,网络会让人的黑暗面暴增,学习好网络安全,不仅仅是保护别人,也是为了保护自己。
如果想打败它,首先就需要成为它,很多顶级红客也其实就是顶级黑客,只不过一个是保护,一个是破坏,所以我们需要先了解什么是网络安全。
第一节 —— 信息安全概述
网络安全的首要任务就是保证信息的安全,当然信息的安全也包括信息的完整性,信息的加密性,还有信息的可用性,所有的这些,我们需要通过计算机的硬件、软件、网络技术,密钥加密技术,组织管理技术等,保护它们的传递、运输、存储等等。
近年来国家对于网络安全也慢慢重视起来,并且放到了国家安全的层面,这也和之前的斯诺登事件有关,人的隐私被无情的监控着,当然很多时候这也是一种管理的方法,所以更加需要我们去辩证的看待网络安全的利弊关系。
现在的网络安全主要靠下面几个方向:
- 机密性 加密技术
- 完整性 防止信息被篡改
- 可用性 授权技术
- 可控性(衍生)
- 不可否认性(衍生)
但是很多时候信息的泄密并不是技术层面造成的,因为现在的技术层面防护级别很高,想从正面攻破一些公司的防御,除非你是超级顶级的天才,很多时候都是内部人员的不规范操作导致信息的泄露,包括一些故意泄露的情况,所谓的家贼难防真的是亘古不变的道理。
所以在信息的保障阶段,我们有分了三大类保证信息的安全
-
从业务入手
不同的业务流量有不同的风险点和防御点
-
从安全体系入手
通过更多的技术手段爸爸安全管理和技术防护联系起来,进行主动的防御,不是被动的保护
- 从管理入手
培养安全管理的人才,建立完善安全管理体制
那么是不是这样做就完美了呢?——并不是,由于信息的复杂性,信息系统的设计过程往往可能会因为自身的漏洞和缺陷被攻击,那为什么设计不可以完美一点呢?因为在信息的处理过程中,往往会优先考虑信息的易用性和执行的程度,而人作为设计者本身就不完美,所以设计出来的系统肯定也是有漏洞的。
其次在现代网络信息的交流中,往往一个信息会被多个终端和设备使用,所以在管理过程中肯定会出现缺漏。而且在网络链路中,往往有冗余线路来保证线路的稳定性,但是这样就会导致信息泄露后位置的不明确。
最后就是人为因素,或者自然环境的灾害,不过这个微乎其微,有兴趣可以去某乎上搜一下如何破坏支付宝服务器,那篇文章可以形象的向你展示。
在信息安全的管理方面我们有很多的管理办法和措施常见的有:
- 国家保护等级制度(GB)
- ISO27001
- 美标(TCSEC)
- 欧标(ITSEC)
其中具体的策略办法我就不细说了,可以去度娘那里搜一搜,因为条例这种东西太多了,望谅解。
协议栈安全
由于协议栈的设计对于网络安全性并没有太多考虑,所以利用协议栈的各种漏洞攻击也层出不穷
首先我们来看最常见的ARP攻击
ARP作为二层中的常见协议,很多时候都会出现,ARP是已知对方IP,请求对方MAC地址,这样就会导致,有人可以冒充请求IP,发送自己的MAC过去,然后窃取信息后再把包转发,这样神不知鬼不觉的就把信息套走了。
我们来用netwox(很强大的网络工具集)来实现,kali系统自带netwox工具,kali系统作为一个强大的linux系统,被很多安全和黑客人员喜爱。
ARP攻击的根本就是伪装被请求的IP,因为ARP是广播,所以同网段的电脑都可以收到这个广播包,所以也限制了这个攻击只可以在局域网内实现,
ARP防御
那么我们怎么进行ARP攻击的防御呢?
首先我们可以直接设置ARP静态表,这样可以直接杜绝别人修改你的ARP表,其次可以开启ARP防火墙,其实就是固化ARP表,后来的ARP无法替换之前的ARP表,最后一种方法是DAI技术,由于局域网中的三层交换机是知道每个设备的MAC地址和IP地址的,所以我们需要这个设备作为一个公证人,它会自动记录主机的ARP信息,并且会根据主机发出的消息自动判断是否和自己记录的一样,这样也可以杜绝别人伪装篡改自己的ARP表。
ICMP重定向攻击
ICMP我们都很熟悉,常见的ping和tracert命令就是它组成的,ICMP在网络中扮演的角色是让主机可以更好的选路,当有一条更好的线路时,主句便会进行ICMP重定向,其实它和ARP欺骗攻击很相似,就是把包经过的地址改变,套取信息,作为“中间人”来获取信息。
下面我们来实现一下icmp重定向攻击
现有的网络很少会出现重定向,一般会禁止,所以这个攻击也不是很常见。
ICMP不可达攻击
当黑客不想让你上网,你就没办法上网,有可能就采用了ICMP不可达攻击,传送错误的网段或者端口,主机判断不可达,便会断开连接,就像无法ping通一样。
怎么解决这种攻击呢?首先我们可以确立多种判断机制,并非用ICMP不可达作为单一判断条件,这样就可以杜绝这种攻击了。
TCP攻击
常见的TCP攻击有半开攻击和RST攻击,首先TCP攻击一般都吃力不讨好,攻击者自身也需要付出很大代价,TCP由于有三次握手的确认机制,所以可以攻击它的确认机制,在主机收不到ACK回复确认时,另一个主机会等待,并且占用内存资源,所以主机会变得很卡,下面我们实现一下这个攻击。
防御的方法也很简单,就是将SYN防御关闭,一般在/etc/sysctl.conf文件中的net.ipv4.tcp_syncookies中将数值改为0
常见的有DOS和DDOS攻击,一般需要大量肉鸡实现,费时费力。
RST攻击
这个攻击真的很贱,在TCP当中,RST用来关闭一些异常的数据,所以电脑在接收到服务器发出的RST复位报文时,便会释放连接并且清除缓存
。