运维必知的20个网络安全知识点
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
什么是SQL注入攻击 攻击者在 HTTP 请求中注入恶意的 SQL 代码,服务器使用参数构建数据库 SQL 命令时,恶意SQL 被一起构造,并在数据库中执行。 注入方法 用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现 select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’ 不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范 SQL 注入攻击使用预编译的 PrepareStatement 是必须的,但是一般我们会从两个方面同时入手。 Web端预防
服务端预防
什么是XSS攻击
概述 跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。 如何防范XSS攻击
预防XSS 的核心是必须对输入的数据做过滤处理。 CSRF攻击 概述 跨站点请求伪造,指攻击者通过跨站请求,以合法的用户的身份进行非法操作。可以这么理解 CSRF 攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求。CRSF 能做的事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息。 如何防范CSRF攻击
文件上传漏洞 概述 文件上传漏洞,指的是用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。 许多第三方框架、服务,都曾经被爆出文件上传漏洞,比如很早之前的 Struts2,以及富文本编辑器等等,可被攻击者上传恶意代码,有可能服务端就被人黑了。 如何防范文件上传攻击
DDoS攻击 概述 客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认没有彻底根治的办法,除非不使用 TCP DDos 预防:
ARP协议 概述 地址解析协议,即 ARP(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个TCP/IP 协议。
ARP 协议工作原理
当本网络的所有主机收到该 ARP 数据包时:
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。ARP 高速缓存(即 ARP 表)是 ARP 地址解析协议能够高效运行的关键 如何防范ARP攻击 1、MAC地址绑定 使网络中每一台计算机的IP地址与硬件地址一一对应,不可更改。 2、使用静态ARP缓存 用手工方法更新缓存中的记录,使ARP欺骗无法进行。 3、使用ARP服务器 通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。 4、使用ARP欺骗防护软件: 如ARP防火墙 5、及时发现正在进行ARP欺骗的主机并将其隔离 6、使用最新版本DNS服务器软件并及时安装补丁 7、关闭DNS服务器的递归功能 DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其它服务器获得查询信息并将它发送给客户机,这两种查询方式称为递归查询,这种查询方式容易导致DNS欺骗。 8、限制区域传输范围 限制域名服务器做出响应的地址、限制域名服务器做出响应的递归请求地址、限制发出请求的地址。 9、限制动态更新 10、采用分层的DNS体系结构 11、检查源代码 如果发生了URL重定向,就一定会发现。不过,检查用户连接的每一个页面的源代码对普通用户来说是不切实际的想法。 12、确保应用有效和能适当地跟踪用户 无论是使用cookie还是会话ID,都应该确保要尽可能的长和随机。 RARP工作原理 反向地址转换协议,网络层协议,RARP 与 ARP 工作方式相反。RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。RARP 发出要反向解释的物理地址并希望返回其 IP地址,应答包括能够提供所需信息的 RARP 服务器发出的 IP 地址。 原理:
DNS工作原理 将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输。 过程: 总结:浏览器缓存,系统缓存,路由器缓存,IPS 服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。 两种查询方式
DNS攻击 DNS攻击防范
RIP的工作原理 RIP 动态路由选择协议(网络层协议) RIP 是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的路由距离。RIP 通过 UDP 报文进行路由信息的交换,使用的端口号为 520。 工作原理: RIP 路由协议用“更新(UNPDATES)”和“请求(REQUESTS)”这两种分组来传输信息的。每个具有 RIP 协议功能的路由器每隔 30 秒用 UDP520 端口给与之直接相连的机器广播更新信息。并且在(用“路程段数”(即“跳数”)作为网络距离的尺度。每个路由器在)给相邻路由器发出路由信息时,都会给每个路径加上内部距离 路由器的收敛机制: 任何距离向量路由选择协议(如 RIP)都有一个问题,路由器不知道网络的全局情况,路由器必须依靠相邻路由器来获取网络的可到达信息。由于路由选择更新信息在网络上传播慢,距离向量路由选择算法有一个慢收敛问题,这个问题将导致不一致性产生。 RIP 较少路由收敛机制带来的问题:
RIP的特点
OSPF 协议?OSPF 的工作原理 OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。(网络层协议,) 原理: OSPF 组播的方式在所有开启 OSPF 的接口发送 Hello 包,用来确定是否有 OSPF 邻居,若发现了,则建立 OSPF 邻居关系,形成邻居表,之后互相发送 LSA(链路状态通告)相互通告路由,形成 LSDB(链路状态数据库)。再通过 SPF 算法,计算最佳路径(cost 最小)后放入路由表 TCP与UDP区别
什么是三次握手四次挥手?tcp 为什么要三次握手? 为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态; 第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据 四次挥手 客户端先发送 FIN,进入 FIN_WAIT1 状态,用来关闭 Client 到 Server 的数据传送服务端收到 FIN,发送 ACK,进入 CLOSE_WAIT 状态,客户端收到这个 ACK,进入 FIN_WAIT2状态。 服务端发送 FIN,进入 LAST_ACK 状态,用来关闭 Server 到 Client 的数据传送客户端收到 FIN,发送 ACK,进入 TIME_WAIT 状态,服务端收到 ACK,进入 CLOSE 状态(等待 2MSL 时间,约 4 分钟。主要是防止最后一个 ACK 丢失。) 第一次挥手:主动关闭方发送一个 FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在 fin 包之前发送出去的数据,如果没有收到对应的 ack 确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。 第二次挥手:被动关闭方收到 FIN 包后,发送一个 ACK 给对方,确认序号为收到序号+1(与SYN 相同,一个 FIN 占用一个序号)。 第三次挥手:被动关闭方发送一个 FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。 第四次挥手:主动关闭方收到 FIN 后,发送一个 ACK 给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。 GET和POST的区别 get 是获取数据,post 是修改数据 get 把请求的数据放在 url 上, 以?分割 URL 和传输数据,参数之间以&相连,所以 get 不太安全。而 post 把数据放在 HTTP 的包体内(requrest body)get 提交的数据最大是 2k( 限制实际上取决于浏览器), post 理论上没有限制。 GET 产生一个 TCP 数据包,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据); POST 产生两个 TCP 数据包,浏览器先发送 header,服务器响应 100 continue,浏览器再发送 data,服务器响应 200 ok(返回数据)。 GET 请求会被浏览器主动缓存,而 POST 不会,除非手动设置。 GET 是幂等的,而 POST 不是幂等的 Cookies 和 session 区别 Cookie 和 Session 都是客户端与服务器之间保持状态的解决方案 1.存储的位置不同,cookie:存放在客户端,session:存放在服务端。Session 存储的数据比较安全 2.存储的数据类型不同 两者都是 key-value 的结构,但针对 value 的类型是有差异的cookie:value 只能是字符串类型,session:value 是 Object 类型 3.存储的数据大小限制不同 cookie:大小受浏览器的限制,很多是 4K 的大小, session:理论上受当前内存的限制, 4.生命周期的控制 cookie 的生命周期当浏览器关闭的时候,就消亡了
Session的工作原理 session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。 这样客户端每次访问服务器时,都会带着 sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session这样就可以正常工作了。 一次完整的HTTP 请求过程
HTTPS和HTTP的区别
OSI的七层模型
HTTP长连接和短连接的区别 在 HTTP/1.0 中默认使用短连接。也就是说,客户端和服务器每进行一次 HTTP 操作,就建立一次连接,任务结束就中断连接。而从 HTTP/1.1 起,默认使用长连接,用以保持连接特性。什么是 TCP粘包/拆包?发生原因?解决方案 一个完整的业务可能会被 TCP 拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是 TCP 的拆包和粘包问题。 原因:
解决方案:
TCP如何保证可靠传输
常见的状态码
什么是SSL SSL 代表安全套接字层。它是一种用于加密和验证应用程序(如浏览器)和 Web 服务器之间发送的数据的协议。身份验证 , 加密 Https 的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。 SSL/TLS 协议作用
可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。 数字签名 因为数字签名、摘要是证书防伪非常关键的武器。“摘要”就是对传输的内容,通过 hash算法计算出一段固定长度的串。然后,在通过 CA 的私钥对这段摘要进行加密,加密后得到的结果就是“数字签名”。 SSL/TLS 协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。 如何保证公钥不被篡改? 将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。 公钥加密计算量太大,如何减少耗用的时间? 每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。 (1) 客户端向服务器端索要并验证公钥。 (2) 双方协商生成"对话密钥"。 (3) 双方采用"对话密钥"进行加密通信。上面过程的前两步,又称为"握手阶段"(handshake)。 SSL 工作过程 A:客户端,B:服务器端
TCP对应的应用层协议 FTP:定义了文件传输协议,使用 21 端口. Telnet:它是一种用于远程登陆的端口,23 端口 SMTP:定义了简单邮件传送协议,服务器开放的是 25 号端口。 POP3:它是和 SMTP 对应,POP3 用于接收邮件。 HTTP UDP 对应的应用层协议 DNS:用于域名解析服务,用的是 53 号端口 SNMP:简单网络管理协议,使用 161 号端口 TFTP(Trival File Transfer Protocal):简单文件传输协议,69 该文章在 2025/2/7 9:12:25 编辑过 |
关键字查询
相关文章
正在查询... |