小白程序员必备从入门到精通的网络安全学习指南含282G资源包网络安全是互联网时代的重中之重本文从网络防御的意义、被动与主动防御技术、纵深防御体系等角度详细介绍了防火墙、入侵检测与防护、虚拟局域网等关键技术。文章还提供了针对零基础学习者的学习计划表涵盖网络安全理论知识、渗透测试、操作系统、计算机网络、数据库、Web渗透等内容帮助读者系统学习网络安全知识从入门到精通。同时文章还分享了282G的网络安全学习资料包助力读者快速提升技能。网络防御概述一、网络防御的意义进攻与防御是对立统一的矛盾体。进攻常常是为了有效的防御而防御也常常是为了更好的进攻。据说普鲁士军事理论家、西方近代军事理论卡尔·菲利普·戈特弗里德·冯·克劳塞维茨曾经说过进攻是最好的防守。但是克劳塞维茨确实说过一将无谋累死三军他还说过防御相比进攻是更强的战斗形式。研究并积极部署网络防御技术是达到“网络攻防平衡”的前提和基础在网络空间中如果只会进攻不懂防御注定不会在网络攻防对抗中取得最终胜利。二、被动防御技术和主动防御技术所谓被动安全防御也称为传统的安全防御主要是指以抵御网络攻击为目的的安全防御方法。典型的被动安全防御技术有防火墙技术、加密技术、Virtual Private Network技术等主动网络安全防御则是以及时发现正在遭受攻击并及时采用各种措施阻止攻击者达到攻击目的尽可能减少自身损失的网络安全防御方法。典型的主动安全防御技术有网络安全态势预警、入侵检测、网络引诱、安全反击等技术。三、网络安全纵深防御体系网络安全的纵深防御Defense in depth的思想是指通过设置多重安全防御系统实现各防御系统之间的相互补充即使某一系统失效也能得到其他防御系统的弥补或纠正。本质上是通过增加系统的防御屏障既避免了对单一安全机制的依赖也可以错开不同防御系统中可能存在的安全漏洞从而提高抵御攻击的能力。四、主要防御技术防火墙技术防火墙是一种较早使用、实用性很强的网络安全防御技术是最主要的被动安全防御技术之一。防火墙主要用于逻辑隔离不可信的外部网络与受保护的内部网络或者说是用于对不同安全域的隔离。虚拟局域网技术虚拟局域网Virtual Private Network Virtual Private Network也是一种较早使用、实用性很强의网络安全被动防御技术其主要的作用是通过加密技术在不安全的网络中构建一个安全的传输通道是加密和认证技术在网络传输中的应用。入侵检测与防护技术入侵检测与防护技术属于主动防御技术主要有两种入侵检测系统(lntrusion Detection SystemIDS)和入侵防护系统( Intrusion Prevention SystemIPS)。入侵检测系统(IDS)注重的是网络安全状况的监管通过监视网络或系统资源寻找违反安全策略的行为或攻击迹缘并发出报警入侵防护系统(IPS)则倾向于提供主动防护注重对入侵行为的控制。其设计宗旨是预先对入侵活动和攻击性网络流量进行拦截避免其造成损失。网络蜜罐技术蜜罐( Honeypot)技术也是一种主动防御技术是一个“诱捕”攻击者的陷阱技术。蜜罐系统是一个包含漏洞的诱骗系统通过模拟一个或多个易受攻击的主机和服务给攻击者提供一个容易攻击的目标。攻击者往往在蜜罐上浪费时间延缓对真正目标的攻击而且可以为安全人员获得入侵取证提供重要的信息和有用的线索便于研究入侵者的攻击行为。6.2 防火墙基础一、防火墙的基本概念防火墙Firewall)在徽派建筑中也称为马头墙其本义是指设置在建筑物之间或在建筑物内部用以防火分隔以阻止火势或烟气蔓延并具有较高的耐火性、稳定性、耐久性、隔热性和抗变形能力的墙体。防火墙的定义在计算机网络特别是互联网中防火墙特指一种在本地网络与外界网络之间的安全防御系统。作为一种非常有效的网络安全系统防火墙能够隔离风险区域与安全区域的连接同时不会妨碍安全区域对风险区域的访问。1994年William Cheswick 和Steven Bellovin在《Firewalls and Internet Security》一书中给出了防火墙的如下定义防火墙是位于两个网络之间的一组构件或一个系统具有以下属性防火墙是不同网络或者安全域之间信息流的唯一通道所有双向数据流必须经过防火墙。只有经过授权의合法数据即防火墙安全策略允许的数据才可以通过防火墙。防火墙系统应具有很高的抗攻击能力并且其自身还不受各种攻击的影响。防火墙是位于两个(或多个)网络间实施访问控制策略的一个或一组组件의集合。防火墙的基本要求保障信任网络内部网的安全保证信任网络与非信任网络外部网之间的连通防火墙就是现实世界中的门卫防火墙的作用分离器隔离风险区域同时不妨碍对风险区域的访问限制器不同网络或网络安全域之间信息的出入口并根据安全策略控制出入网络的信息流分析器监控进出网络的信息流仅让安全、核准了的信息进入抵御对有安全威胁的数据包从而完成看似不可能的任务。防火墙的基本要素安全策略信任网络内部网非信任网络外部网非信任网络外部网二、防火墙的位置1.防火墙的物理位置在现实中防火墙通常被部署在任何有访问控制需要的场合比如局域网边界、两个不同的网络之间等。2.防火墙的逻辑位置逻辑位置指的是防火墙与ISO OSI模型对应的逻辑层次关系。处于不同层次的防火墙实现不同级别的过滤功能其特性也不同。一般说来工作层次越高能检查的信息就越多其提供的安全保护等级就越高复杂程度和实现难度也越大。中继器级不是严格意义上的防火墙主要进行电磁辐射防护、物理物理隔离等。如网闸。网桥级透明模式的防火墙。本质上是利用防火墙连接了同一个网络的不同部分用户感觉不到防火墙的存在但在支持的功能方面有所欠缺。路由器级最主流的防火墙模式。防火墙处于网络边界或者两个不同网络之间检查数据包的源、目的IP地址以及包首部的其他标志来确定是否允许数据包通过防火墙。电路级仅起到一种代理的作用是一个安装专用软件的主机并由其代表被保护主机与外界进行通信也称为电路级代理。SOCKS协议是最著名的电路级代理协议。网关级也称应用层代理服务器通常是一个安装了代理软件的主机每一种应用都需要一个相应的代理软件。外界只能访问代理服务器而无法直接与被保护主机建立连接。3. 防火墙的不足作为网络边界防护机制防火墙无法防范的安全威胁来自网络内部的安全威胁通过非法外联的网络攻击数据驱动型攻击计算机病毒传播由于技术原因无法有效防范的安全威胁针对开放服务安全漏洞的渗透攻击针对网络客户端程序的渗透攻击基于隐蔽通道进行通信的特洛伊木马或僵尸网络三、防火墙技术类型包过滤防火墙 (packet filter)1988, DEC网络包粒度, 工作在传输层与网络层之间, 主要实现形式为路由器ACL状态防火墙 (stateful firewall)1989, ATT Bell网络会话粒度,工作在传输层与网络层之间目前防火墙最主要实现方式应用层代理防火墙 (application layer firewall)Paper: 1990 Purdue, ATTProduct: 1991 DEC工作在应用层四、包过滤防火墙基本思想及实现原理使用同一组规则对到达的每个IP包进行匹配判断并根据匹配成功与否决定转发或丢弃。通常以到达数据包中的源、目标IP地址以及源、目的端口号为判断对象只要有一条规则被匹配就根据规则决定其后续动作不再匹配剩余规则如果所有规则均未匹配则采取默认规则通常需要双向配置主要特点包过滤防火墙实际上就是一种网络层的访问控制技术通常可以在路由器上通过配置ACL的方式实现。仅仅根据数据包自身包含的信息(协议头部)进行检查和过滤并没有考虑连接的状态。优点实现简单对用户透明效率高缺点正确制定规则并不容易不可能引入认证机制五、状态防火墙状态防火墙的基本思想跟踪网络会话(连接)状态, 判断报文合法性特性: 状态报文检查(SPI: stateful packet inspection)状态防火墙机制跟踪和维护网络连接状态信息(CT: connection table)TCP会话SYN包: NEW connections经过三次握手: ESTABLISHED connectionsUDP会话只有出现双向流量后才设置为ESTABLISHED规则配置以会话为规则匹配粒度即访问控制的对象为会话支持对会话状态的匹配六、代理代理(proxy)也是一种安全防护技术。代理技术允许客户端通过代理服务器与网络服务进行非直接的连接在代理服务器上可以进行访问控制和内容检查1. 不同类型的代理技术应用层应用层代理 (HTTP代理)传输层电路级代理 (Socks代理)网络层NAT代理 (NAT网关、拨号上网路由器)2. 应用层代理应用层代理也称为应用层网关、代理服务器特定应用层网络服务(HTTP/Email…)MPS – Microsoft Proxy Server、Squid应用层代理优势隐藏内部网络信息通讯中转严格内容审查存储转发机制在线审计用户级身份认证机制应用层代理不足不通用、不透明、处理速度较慢、部署代价较高3. 电路级代理电路级代理Socks代理工作在传输层同时为多种不同的应用服务提供支持工作机制TCP层中继建立外部连接并在连接会话间转发数据差异通用、用户级身份认证但无法进行细致内容审查4. NAT代理NAT(网络地址转换)允许多个用户分享少量或单一的IP地址源NAT允许将网络服务映射到内部服务网络IP和端口目的NATNAT代理优势方便任意使用私有网段IP地址无需申请无冲突安全对外隐藏内部网络信息七、Linux中的开源防火墙NetfilterLinux内核中的防火墙模块Netfilter特性包过滤-状态报文检查灵活可扩展框架, 支持NAT网络地址转换, 提供多层API接口以支持第三方扩展Netfilter功能构建防火墙, NAT共享上网, 利用NAT构建透明代理, 构建QoS或策略路由器, …Netfilter组成由一系列表Table组成每个表由若干个链Chain组成每条链可以由一条或若干条规则Rule组成。IPTablesLinux应用层的防火墙配置工具ipfwadm(2.0.x)ipchains(2.2.x)iptables(2.4.x/2.6.x)表→链→规则的分层结构1、表tables❐filter表包过滤有INPUT、FORWARD、OUTPUT三个链❐nat表地址转换修改数据包的IP地址和端口号有PREROUTING、POSTROUTING、OUTPUT三个链❐mangle表包重构用于修改包的服务类型、生存周期以及为数据包设置Mark标记以实现Qos服务质量、策略路由和网络流量整形等特殊应用。含PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD五个链❐raw表数据跟踪数据包是否被状态跟踪机制处理有PREROUTING、OUTPUT两个链。2、链chains根据数据包流向的不同有❐INPUT链当数据包源自外界并前往防火墙所在的本机入站时即数据包的目的地址是本机时则应用此链中的规则。❐OUTPUT链当数据包源自防火墙所在의主机并要向外发送出站时即数据包的源地址是本机时则应用此链中的规则。❐FORWARD链当数据包源自外部系统并经过防火墙所在主机前往另一个外部系统转发时则应用此链中的规则。❐PREROUTING链当数据包到达防火墙所在의主机在作路由选择之前且其源地址要被修改源地址转换时则应用此链中的规则。❐POSTROUTING链当数据包在路由选择之后即将离开防火墙所在主机且其目的地址要被修改目的地址转换时则应用此链中的规则。❐用户自定义链3规则rules所谓规则实际上就是网络管理员根据安全需要而预先定义的过滤数据包的条件。❐规则一般使用产生式进行定义即“IF Then”方式。“如果数据包头符合这样的条件就这样处理这个数据包”。❐规则一般使用产生式进行定义即“IF Then”方式。“如果数据包头符合这样的条件就这样处理这个数据包”。❐配置防火墙的通过工具进行规制的添加、修改和删除。4顺序❐表间的优先顺序raw➞mangle ➞ nat ➞ filter❐链间的匹配顺序入站数据PREROUTING➞ INPUT出站数据OUTPUT➞ POSTROUTING转发数据PREROUTING➞ FORWARD ➞ POSTROUTING❐链内规则的匹配顺序按顺序依次进行检查找到相匹配的规则即停止LOG策略会有例外。若在该链内找不到相匹配的规则则按该链의默认策略处理Netfilter的运行机制发送数据包时数据包在协议栈中从上向下传送每到达一层就会增加一个首部在接受数据包时数据包从下向上传送每到达一层就剥离一个首部。发送数据包时数据包在协议栈中从上向下传送每到达一层就会增加一个首部在接受数据包时数据包从下向上传送每到达一层就剥离一个首部。对于收到的每个数据包都从“A”点进来经过路由判决如果是发送给本机的就经过“B”点并向协议栈의上层继续传递否则如果数据包의目的地是不本机那么就经过“C”点并经“E”点将该包转发出去。对于发送的每个数据包首先也有一个路由判决以确定该包是从哪个接口出去然后经过“D”点最后也是顺着“E”点将该包发送出去。协议栈那五个关键点ABCD和E就是Netfilter发挥作用의位置。Netfilter在Linux内核中的位置如图所示Netfilter在netfilter_ipv4.h中将这个五个点重新命了个名如下图所示在每个关键点称为hook点上有很多已经按照优先级预先注册了의回调函数(称为“钩子函数”) 形成一条数据包分析处理链。每个到来의数据包会依次被那些回调函数进行检查和处理并根据规则决定放行或丢弃。处理完毕每个回调函数最后必须向Netfilter返回处理结果。每个钩子函数向Netfilter返回下列几个值其中之一NF_ACCEPT继续正常传输数据报即该数据包正常可以将其传送网络协议栈의下一个阶段。NF_DROP丢弃该数据报不再传输。NF_STOLEN告诉Netfilter“忘掉”该数据报由回调函数将从此开始对数据包의处理并且Netfilter应当放弃对该数据包做任何의处理回调函数从Netfilter获取了该数据包의所有权。NF_QUEUE对该数据报进行排队(通常用于将数据报给用户空间의进程进行处理)NF_REPEAT再次调用该回调函数应当谨慎使用这个值以免造成死循环。6.3 入侵检测基础一、入侵检测技术基本概念入侵检测(Intrusion Detection)入侵检测顾名思义就是对入侵行为의检测与发现。入侵检测即为通过对计算机网络或计算机系统中若干关键点信息의收集和分析从中发现入侵行为의一种安全技术。入侵(Intrusion)《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取里插入图片描述](https://i-blog.csdnimg.cn/direct/4fd5acecbff8471098d6b027b62f45d5.png#pic_center)学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取