重拾网络基础

2020-03-28  本文已影响0人  random123

Https的加密机制

https运行于SSL之上,SSL运行在TCP之上,是添加了认证和加密机制的HTTP。端口为443

共享秘钥加密和公开秘钥加密(其实就是对称加密和非对称加密)。非对称加密用来加密对称加密的秘钥。

三次握手和四次挥手

三次握手 四次挥手

TCP保证可靠传输

1.把数据截取成合理的长度    2.数据包校验    3.应答机制    4.超时重传    5.丢弃重复数据包    6.失序重排    7.拥塞控制    8.流量控制

网络攻击

DDos攻击:利用三次握手的漏洞

1.SYN Flood攻击:客户端经历两次握手后不再向服务器端发送确认数据包。服务器端就不停地重试发送SYN+ACK包尝试客户端确认,一段时间后(SYN Timeout时间)丢弃这个未完成的连接。

预防:1.缩短SYN Timeout时间    2.限制SYN半连接的数目    3.设置SYN Cookie:给请求连接的IP分配Cookie,如果短时间内从这个IP收到大量SYN包,就认为是受到攻击,自动丢弃这个IP的SYN请求。仅只对真实IP有效,若大量伪造IP则失效。    4.设置SYN Cache:收到SYN后不着急分配系统资源,先回应一个SYN+ACK,把这个半连接保存在Cache中,等到收到ACK后再分配资源。

2.TCP全连接攻击(Connection Flood0):利用许多僵尸主机与服务器建立大量的TCP连接,并且长时间内不释放,定时发送垃圾数据包,占用服务器资源,直到服务器的内存等资源被消耗殆尽。

预防:1.限制SYN流量    2.限制每个IP的连接数    3.对恶意IP进行封禁    4.主动清除残余进程

3.Land攻击:向服务器发送源IP和目的IP都是服务器主机IP的地址

注入攻击:

1.XSS 跨站脚本:通过站内交互途径,提交一些包含JS、html等恶意代码文本,当用户访问页面时就会运行这些脚本。

预防:过分信任用户的输入而造成危害。只要是用户提交的表单就进行过滤。过滤掉某些特殊的html标签,过滤掉某些js标签,对数据进行encode操作。

2.CSRF攻击  跨站请求伪造:用户登录某个A网站,并在本地生成cookie,再访问某个恶意B网站时,恶意网站返回攻击代码并请求访问第三方网站。攻击者就会盗用用户身份访问A网站。

预防:1.当用户关闭网页时,即使清除认证cookie    2.在客户端页面增加伪随机数。在post提交数据时提供一个随机参数。由于第三方网站无法取得cookie中的参数,因此无法伪造随机数。服务器对随机数进行验证,如果不同则拒绝访问。

3.sql注入攻击:通过向表单里写入恶意sql来获取数据库信息或者篡改数据库信息等

预防:1.参数绑定,用预编译解决拼接字符串的问题。例如MyBatis中#{}可以预防sql注入    2.检查变量的数据类型和格式    3.把sql语句封装在存储过程中。

SMTP和POP3的过程

邮件发送过程
上一篇 下一篇

猜你喜欢

热点阅读