openssh openssl 升级

2017年10月27日 0 条评论 1.33k 次阅读 1 人点赞

OpenSSL "SSL-Death-Alert" 拒绝服务漏洞(CVE-2016-8610)【原理扫描】

1.1下载升级包 

当前最新版

    openssl

    https://www.openssl.org/source/

    https://www.openssl.org/source/openssl-1.0.2l.tar.gz

    https://www.openssl.org/source/openssl-1.1.0f.tar.gz

    openssh

    https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/

    https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

1.2查看现有环境版本

openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

1.3查看原有安装包

rpm -qa|grep openssl
openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64

查看依赖情况(主要是libcrypto.so.10 libssl.so.10 这两个文件)

rpm -e openssl-1.0.1e-57.el6.x86_64

查看这2个文件位置

ll `find / -name libcrypto.so.10`
lrwxrwxrwx. 1 root root 19 9月  20 18:34 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
ll `find / -name libssl.so.10`
lrwxrwxrwx. 1 root root 16 9月  20 18:34 /usr/lib64/libssl.so.10 -> libssl.so.1.0.1e

1.4备份现有环境

mv /usr/bin/openssl  /usr/bin/openssl.old
mv /usr/include/openssl  /usr/include/openssl.old

删除原安装包

rpm -e --nodeps openssl-1.0.1e-57.el6.x86_64

1.5解压安装包开始编译安装

(建议一步一步操作,以防有错误发送可以及时发现)

tar xzf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
./config shared zlib-dynamic
make
make install

生成软连接

rm -rf /usr/local/lib64/libssl.so /usr/lib64/libcrypto.so /usr/local/bin/openssl /usr/bin/openssl /usr/include/openssl /usr/local/lib64/libssl.so /usr/lib64/libssl.so /usr/lib64/libssl.so.10 /usr/lib64/libcrypto.so.10
ln -s /usr/local/ssl/bin/openssl  /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl  /usr/include/openssl
ln -s /usr/local/ssl/lib/libcrypto.so /usr/local/lib64/libssl.so 
ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so 
ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so.10
ln -s /usr/local/ssl/lib/libcrypto.so /usr/lib64/libcrypto.so.10
cp /usr/bin/openssl /usr/local/bin/

执行命令查看openssl依赖库版本是否为1.0.1l:

strings /usr/local/lib64/libssl.so |grep OpenSSL
OpenSSLDie
SSLv3 part of OpenSSL 1.0.2l  25 May 2017
TLSv1 part of OpenSSL 1.0.2l  25 May 2017
DTLSv1 part of OpenSSL 1.0.2l  25 May 2017
OpenSSL 1.0.2l  25 May 2017

在/etc/ld.so.conf文件中写入openssl库文件的搜索路径

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

使修改后的/etc/ld.so.conf生效

ldconfig -v

查看现在openssl的版本是否是升级后的版本

openssl version

接下来

2.1升级openssh

查看现有环境版本

ssh -V

为了防止ssh升级失败造成无法连接,先

2.2安装telent

yum install telnet-server

由于telnet属于xinetd,修改配置文件启用telnet

vim /etc/xinetd.d/telnet
disable         = no //将yes改为no,则表示允许运行telnet服务,yes表示禁用

#保存退出

#为telnet添加用户(虽然配置文件中指定了root登录,但是由于系统安全加密root登录不了)

useradd telnet_test
passwd telnet_test

#开启服务,添加防火墙端口

service xinetd start
iptables -I INPUT -p tcp --dport 23 -j ACCEPT
service iptables save

2.3备份现有环境

openssh
cp -rf /etc/ssh /etc/ssh.bak

删除原有版本

yum remove openssh -y

2.4解压编译安装新版

tar zxvf openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure -with-ssl-dir=/usr/local/ssl
make
make install

#添加为服务,并修改设置

cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
vim /etc/init.d/sshd
SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/sbin/sshd
/usr/sbin/ssh-keygen -A 为 /usr/local/bin/ssh-keygen -A

在  $SSHD $OPTIONS && success || failure  这一行上面加上一行  OPTIONS="-f /etc/ssh/sshd_config"

chkconfig --add sshd

#配置允许root用户远程登录

cp sshd_config /etc/ssh/sshd_config
vim /etc/ssh/sshd_config

# 修改 PermitRootLogin yes,并去掉注释

#如果有ssh_host_ecdsa_key报错可以从备份文件中恢复或者使用下列命令生成

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
service sshd start

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)