事情是这样子的,安全漏洞检测出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和openssl
cp /usr/sbin/sshd /usr/sbin/sshd.bak
sed -i 's/OpenSSH_8.0/OpenSSH_8.4/g' /usr/sbin/sshd
最后修改:2022 年 05 月 17 日
-