事情是这样子的,安全漏洞检测出OpenSSL版本过低存在漏洞,但是服务器是在内网,想要更新的话很麻烦还要提交申请,并且过审安装包,所以决定修改版本号,骗过安全漏洞检测,但是实际情况还是不要像我一样,容易挨打。。。(#^.^#)嘻嘻~~(为我的偷鸡行为按到骄傲)
修改OpenSSL
1、先查看openssl版本号
[root@cn-sz ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
或者
[root@cn-sz ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
2、查看openssl所在位置
[root@cn-sz ~]# which openssl
/usr/bin/openssl
3、查看保存版本号的libcrypto.so所在位置
[root@cn-sz ~]# ldd /usr/bin/openssl |grep libcrypto.so
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fdfe5936000)
4、备份找到的libcrypto.so
[root@cn-sz ~]# cp /lib64/libcrypto.so.10 /lib64/libcrypto.so.10.bak
5、查看libcrypto.so文件中的版本字符串【可选】
[root@cn-sz ~]# string /lib64/libcrypto.so.10 |grep 1.0.2
6、替换libcrypto.so文件中的版本字符串
[root@cn-sz ~]# sed -i 's/1.0.2k/8.8.8k/g' /lib64/libcrypto.so.10
这里可能会遇到Linux环境下执行sed命令卡住问题
执行export LANG=zh_CN.UTF-8
改一下编码就好了
7、大功告成
[root@cn-sz ~]# openssl version
OpenSSL 8.8.8k-fips 26 Jan 2017
[root@cn-sz ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 8.8.8k-fips 26 Jan 2017
修改OpenSSH也是差不多的,两条命令就可以搞定
备份 sshd和opensslcp /usr/sbin/sshd /usr/sbin/sshd.bak
sed -i 's/OpenSSH_8.0/OpenSSH_8.4/g' /usr/sbin/sshd