最近遇到了一些关于服务器安全漏洞的问题,最常见的无非就是SSH登陆验证绕过漏洞cve-2018-10933,openssh升级问题,协商重放攻击,SSL和TLS漏洞等等这些漏洞。反正每次遇到这些问题的时候,总是脑子混混的,知其一不知其二,只是去处理一些相应的服务,比如升级啊。说句丢人的OpenSSL和OpenSSH有什么区别都没有搞清楚。还好遇到了一篇文章,估计也是人家作者杨嚣总结的吧。读的赏心悦目,快盘小编总结整理了一下,分享给像我一样不懂的,转发请注明来源。https://www.kkpan.com/article/OpenSSL-OpenSSH.html
本篇主要分析OpenSSL和OpenSSH有什么区别,相对白话,没有案例什么的。后期遇到问题了再补充。
SSL是一个协议,SSL协议,功能当然是提供秘密性传输。SSL是Secure Socket Layer(安全套接层协议)的缩写,SSL是通讯链路的附加层,要求建立在可靠的传输层协议(TCP)之上。顺便提一句什么是TLS(传输层安全)?Transport Layer Security(SSL的继承版本)与SSL在传输层对网络连接进行加密。
SSH也是一个协议.一个安全协议,Secure Shell 的缩写。SSH采用面向连接的TCP协议传输。我们常见的使用ssh连接到服务器,这个ssh不太一样,准备来说是openssh。下边会说到。
总结,SSL和SSH都是协议,比较抽象。只有知道他是协议了,才能为OpenSSL和OpenSSH的应用提供服务。
OpenSSL是SSL协议的开源实现。我们常见的主要用途来用于安全套接字层密码加解密。Apache使用它加密HTTPS,OpenSSH使用它加密SSH,当然其他程序也可以用OPENSSL库来进行使用。
以下三段式拓展内容。
OpenSSL体系架构决定了他的功能。三个主要的功能部分:密码算法库、SSL协议库以及CA应用程序。这里声明一下,这么强大的算法并不是他自己的,而是整合了这些安全算法才是openssl这么强大。
密码算法库包含:对称加密算法(AES、DES、Blowfish、CAST、IDEA、RC2),非对称加密算法(包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)),信息摘要算法(MD2、MD5、MDC2、SHA(SHA1)和RIPEMD)。
SSL协议库以及CA应用程序就先不说了。简单说一下,公钥加密私钥解密是加密算法。私钥加密公钥解密是证书。
OpenSSH是SSH协议的开源实现。也就是我们常见的linux远程ssh。yum install openssh。想起来了吧。
那你就可以理解OpenSSH是一个软件了。C/S架构的软件。sshd是服务端。win平台你平时使用的xshell , putty , CRT都是客户端。linux中也有相关的ssh命令。
分析后应该知道OpenSSL和OpenSSH有什么区别了吧。两者都是协议,名字相似,功能却大不同。唯一一点关系就是。OpenSSH依赖于OpenSSL。
这样以后遇到问题,就不会傻傻的分不清该什么什么了。并不所有的安全问题只要升级openssh或者opensl就可以搞定了。还的看具体的应用是什么。升级的时候还的考虑对应版本。具体OpenSSL和OpenSSH他们还有对应的版本要求,自行网上查找吧。不同的版本调用不用的库。
CentOS 方式升级OpenSSH_7.4p1为openssh8.3