【centos7】openssh用户枚举漏洞(CVE-2018-15919)和安全漏洞(CVE-2017-15906)修复

    环境:

    操作系统:centos7.7

    openssl:OpenSSL 1.0.1e-fips(系统自带)

    openssh:OpenSSH_7.4.1p1(系统自带)

    如果修复这两个漏洞需要升级openssh到8.1(而且我还没有升级openssl),反正我升级到8.0还是有一个漏洞没有被关闭。

    查看了很多大佬的博客后,一直不敢升级,后来漏洞实在需要填补,就只能硬着头皮在测试环境中测试好后,在生产中执行,其中最重要的一步就是一定要做足准备,如果ssh不可用,怎么登陆到bash。

    首先,安装telnet-server,yum install telnet-server,修改/etc/securetty,在最后添加pts/0,pts/1,pts/2,pts/3,然后启动telnet,命令为systemctl start telnet.socket,然后通过telnet尝试登陆是否成功,成功后第一步才算完成。

    第二,把ssh服务,关闭,openssh相关的包卸载,备份ssh配置文件,此步需要慎重。命令为systemctl stop sshd;卸载:for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps;done。

    第三,编译openssh源码包,下载地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz,我习惯在编译之前把centos自带的开发工具包安装上,基本不会再编译的时候碰到缺少某某包的问题,命令:yum groupisntall "Development Tools";解压tar包后,执行以下命令

# 执行自带的openssl,其他是一些模块和配置目录,至于模块是什么意思,不太懂
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords--with-pam --with-tcp-wrappers  --with-ssl-dir=/usr/bin/openssl --without-hardening
# 编译
make
# 安装
make install

    第四,把编译后的openssh进行复制。

cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list|grep sshd

    第五,修改/etc/ssh/sshd_config配置文件

    PermitRootLogin yes    #允许root登录
    UseDNS no    #禁止使用,提升连接速度

    第六,启动试试,正常启动即可。

    systemctl restart sshd

    systemctl is-enabled sshd

    第七,ssh -V查看版本,OpenSSH_8.1p1即可。

    由于我在生产环境中,没有os镜像源,也没办法去编译,就把make后的文件夹全部拷贝到生产环境,然后直接执行make install即可安装(涨知识了,我也是第一次这样搞,超赞的我!)

你可能感兴趣的:(实施,运维)