zoukankan      html  css  js  c++  java
  • 升级Openssl 1.1.1i

    环境:centos 7
    由于OpenSSL 拒绝服务漏洞(CVE-2020-1971)
    需要将openssl进行升级
    参考网站:https://jingyan.baidu.com/article/08b6a5916ecc5214a9092244.html
    1.准备rpm包,从官网下载:http://www.rpmfind.net/linux/rpm2html/search.php
    准备预备ssh无法连接从telnet连接的方式.
    pam-1.1.8-23.el7.x86_64.rpm
    pam-devel-1.1.8-23.el7.x86_64.rpm
    systemd-219-78.el7.x86_64.rpm
    systemd-libs-219-78.el7.x86_64.rpm
    systemd-sysv-219-78.el7.x86_64.rpm
    telnet-0.17-65.el7_8.x86_64.rpm
    telnet-server-0.17-65.el7_8.x86_64.rpm
    xinetd-2.3.15-14.el7.x86_64.rpm
    zlib-1.2.7-18.el7.x86_64.rpm
    zlib-devel-1.2.7-18.el7.x86_64.rpm
    注意:这下rpm包可能随时间更新,版本有所变化,所以还是根据官网下载当时的包。
    升级次序
    1.1 rpm -Uvh pam-1.1.8-23.el7.x86_64.rpm --nodeps --force
    1.2 rpm -Uvh pam-devel-1.1.8-23.el7.x86_64.rpm --nodeps -force
    1.3 rpm -Uvh xinetd-2.3.15-14.el7.x86_64.rpm --nodeps -force
    1.4 rpm -Uvh zlib-1.2.7-18.el7.x86_64.rpm --nodeps -force
    1.5 rpm -Uvh zlib-devel-1.2.7-18.el7.x86_64.rpm --nodeps -force
    备注:其它运行时提醒需要什么,就安装什么。在官网去下载.
    2.启动xinetd
    #systemctl   start  xinetd
    查看状态
    #systemctl   status  xinetd
    #systemctl  enable  xinetd
    
    3.启动telnet
    # systemctl start telnet.socket
    # systemctl status telnet.socket
    # systemctl enable telnet.socket
    
    4.默认情况下,telnet是不允许root登录的。
    执行命令:
    # echo "pts/0" >> /etc/securetty
    # echo "pts/1" >> /etc/securetty
    
    5.关闭防火墙
    # systemctl stop  iptables
    
    6.编辑pam配置文件,以便telnet允许root登录。
    # vi /etc/pam.d/login
    注释 这一行
    auth [user_unknown=ignore succes=ok ignore=ignore ...]
    
    7.编辑配置文件:
    #vi  /etc/pam.d/remote
    如图注释这一行
    auth       required     pam_securetty.so
    
    8.重启xinetd,telnet服务
    #systemctl  restart  xinetd
    #systemctl  restart  telnet.socket
    
    9.然后从其他服务器利用telnet测试登录(当然另外一台服务器上已经安装了telnet)
    #telnet  ip
    输入账号密码,登录成功。
    telnet可以登录,实际上是开了另外一条可以登录服务器的通道,以免ssh升级出错,造成无法登录服务器。
    
    10.升级 openssl
    11.先确保你的服务器上已经有gcc,gcc-c++。这两个是编译工具。
    #rpm  -qa  |grep  gcc
    没有安装。
    则执行安装,这里我已经下载了gcc,gcc-c++的包。
    如果你的服务器联网,可以执行:
    #yum  install  gcc  gcc-c++
    
    12.官网下载openssl-1.1.1i.tar.gz,并解压 tar -zxvf openssl-1.1.1i.tar.gz
    13.下载基线openssl版本:openssh-1.0.le.tar.gz,
    并解压 tar -zxvf openssh-1.0.le.tar.gz 
    (https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz)
    14.卸载旧的openssl包。
    #for  i   in  $(rpm  -qa |grep  openssl);do  rpm  -e  $i --nodeps  ;done
    15.进入openssl-1.1.1i  目录
    cd openssl-1.1.1i
    执行
    ./config shared
    16.执行 make&&make install
    17.安装完毕。
    执行命令:
    #echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
    #ldconfig
    配置ssl库
    #cp /usr/local/ssl/lib/libssl.so.1.1  /usr/lib64
    #cp /usr/local/ssl/lib/libcrypto.so.1.1  /usr/lib64
    #ln -s /usr/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so.10
    #ln -s /usr/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so
    #ln -s /usr/lib64/libssl.so.1.1  /usr/lib64/libssl.so.10
    #ln -s /usr/lib64/libssl.so.1.1  /usr/lib64/libssl.so
    #ln -s /usr/local/ssl/bin/openssl  /usr/bin/openssl
    #ln -s /usr/local/ssl/include/openssl   /usr/include/openssl
    查看openssl版本
    #openssl  version  -a
    升级成功
    18.此时由于openssl升级到最新,导致老版本的wge、yum等命令无法使用
    参考网址:https://blog.csdn.net/uniom/article/details/54092570
    19.进入openssh-1.0.le
    20.
    #./config shared zlib-dynamic
    #make
    21.
    将生成的 libssl.so.1.0.0,libcrypto.so.1.0.0两个文件拷贝到/usr/lib64
    22.#cd /usr/lib64/
    23.ln -s libssl.so.1.0.0          libssl.so.10 (如果提示已经存在,则先删除链接)
    24.ln -s libcrypto.so.1.0.0    libcrypto.so.10 (如果提示已经存在,则先删除链接)
    25.尝试、wget、yum等命令,发现可以使用了...
      
    

      

  • 相关阅读:
    Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
    linux命令学习7-jstat命令
    linux命令学习6-dpkg命令
    PSSH 批量管理服务器
    堆排序 (Heap Sort)
    极客时间-左耳听风-程序员攻略-程序员修养
    应急响应-GHO提取注册表快照
    nc替代技术方案
    从无文件技术到使用隐写术:检查Powload的演变
    CVE-2019-0797漏洞:Windows操作系统中的新零日在攻击中被利用
  • 原文地址:https://www.cnblogs.com/zf-crazy/p/14265265.html
Copyright © 2011-2022 走看看