网络安全背景
网络就是实现不同主机之间的通讯。网络出现之初利用TCP/IP协议簇的相关协议概念,已经满足了互连两台主机之间可以进行通讯的目的,虽然看似简简单单几句话,就描述了网络概念与网络出现的目的,但是为了真正实现两台主机之间的稳定可靠通讯,其实是一件非常困难的事情了,如果还要再通讯的基础上保证数据传输的安全性,可想而知,绝对是难上加难,因此,网络发明之初,并没有太关注TCP/IP互联协议中的安全问题。
对于默认的两台主机而言,早期传输数据信息并没有通过加密方式传输数据,设备两端传输的数据本身实际是明文的,只要能截取到传输的数据包,就可以直接看到传输的数据信息,所以根本没有安全性可言。
早期利用明文方式传输的协议有:FTP、HTTP、SMTP、Telnet等。
数据加密算法
网络安全涉及很多方面,而网络数据的安全传输通常会面临以下几方面的威胁:
1.数据窃听与机密性: 即怎样保证数据不会因为被截获或窃听而暴露。
2.数据篡改与完整性: 即怎样保证数据不会被恶意篡改。
3.身份冒充与身份验证: 即怎样保证数据交互双方的身份没有被冒充。
针对以上几个问题,可以用以下几种数据加密方式来解决(每种数据加密方式又有多种不同的算法实现):
| 数据加密方式 | 描述 | 主要解决的问题 | 常用算法 |
| 对称加密 | 指数据加密和解密使用相同的密钥 | 数据的机密性 | DES,AES |
| 非对称加密 | 也叫公钥加密,指数据加密和解密使用不同的密钥-密钥对 | 身份验证 | DSA,RSA |
| 单向加密 | 指只能加密数据,而不能解密数据 | 数据的完整性 | MD5,SHA系列算法 |
普通算法
|
1 2 3 4 |
|

对称加密



|
1 2 3 4 5 6 7 |
|
非对称加密

|
1 2 3 4 5 6 |
|
常用的非对称假面算法有:RSA,ECC,Diffie-Hellman,El Gamal,DSA(数字签名用)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
总结
|
1 2 3 4 5 |
|
如何安全获取公钥

1) A和B端首先生成自己的公钥和私钥的密钥对,为了使对方能相信自己的公钥信息,将自己的公钥信息告知给第三方发证机构,利用第三方机构对自己的公钥进行公证。第三方机构会制作一个数字证书(机构 编号 以及发证机构的戳),并且第三方机构也要给自己设置一个合法的公钥和私钥,并且公钥设置为第三方机构的公钥证书。
2) 发证机关计算出数字证书数据的特征码,并用自己的私钥进行加密,并将加密的信息附加到特征码后成为数字签名。
3) A和B两端获得公正过的证书信息,并通过证书信息传递,得到对方的公钥。
4) A和B两端与第三方机构建立连接,获得第三方证书,通过第三方证书获得第三方公钥,利用第三方公钥只要能解密数字签名即可。
Openssl软件
在传输层和应用层之间。ssl层


openssl实践
openssl由三部分组成:
1.libcrpto:通用加密库
2. libssl:TSL/SSL组成库,基于会话实现了身份认证,数据加密和会话完整性。
3. openssl:提供命令行工具,例如模拟创建证书。
openssl命令行
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
【openssl加密命令】
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
【openssl创建私有证书】
1.创建私钥和公钥,模拟证书颁发机构生成证书,生成一对密钥
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|

Nginx部署https
利用证书实现HTTPS访问Nginx服务,需要nginx使用ssl模块配置HTTPS支持,默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,这些文件并不在同一个软件包中,通常这个文件名类似libssl-dev。
nginx的https协议需要ssl模块的支持,我们在编译nginx时使用--with-http_ssl_module参数加入SSL模块。还需要服务器私钥,服务器证书,如果是公司对外环境,这个证书需要购买第三方的权威证书,否则用户体验得不到保障
部署https实践
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
|

网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:

需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)


结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失


被折叠的 条评论
为什么被折叠?



