• CentOS6.8 升级OpenSSH到最新版


    〇、烦人的漏洞检测

    •  OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692) 
    •  OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325) 
    •  OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515) 
    •  OpenSSH 安全漏洞(CVE-2016-1908) 
    •  OpenSSH 远程代码执行漏洞(CVE-2016-10009) 
    •  Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600) 
    •  OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478) 
    •  OpenSSH 命令注入漏洞(CVE-2020-15778) 
    •  OpenSSH多个拒绝服务漏洞(CVE-2016-10708) 
    •  OpenSSH 安全限制绕过漏洞(CVE-2016-10012) 
    •  OpenSSH SSH守护进程安全漏洞(CVE-2016-6210) 
    •  OpenSSH 用户枚举漏洞(CVE-2018-15473)【原理扫描】 
    •  SSH 服务支持弱加密算法【原理漏洞】 
    •  OpenSSH glob表达式拒绝服务漏洞(CVE-2010-4755) 
    •  OpenSSH默认服务器配置拒绝服务漏洞(CVE-2010-5107) 
    •  Portable OpenSSH 'ssh-keysign'本地未授权访问漏洞 
    •  OpenSSH 权限许可和访问控制漏洞(CVE-2014-2532) 
    •  OpenSSH verify_host_key函数 SSHFP DNS RR 检查绕过漏洞(CVE-2014-2653) 
    •  OpenSSH 安全漏洞(CVE-2017-15906) 
    •  OpenSSH sshd mm_answer_pam_free_ctx释放后重利用漏洞(CVE-2015-6564) 
    •  OpenSSH 'x11_open_helper()'函数安全限制绕过漏洞(CVE-2015-5352) 
    •  OpenSSH <=7.2p1 xauth命令注入漏洞(CVE-2016-3115) 
    •  OpenSSH 远程权限提升漏洞(CVE-2016-10010) 

    登录服务器

     ssh -V

    查看版本。

    一、为服务器添加备用连接方式,避免因为ssh升级失败导致无法远程管理

    安装telnet客户端和服务端

    yum install telnet-server telnet

    编辑/etc/xinetd.d/telnet文件,将disable 改为no

    vim /etc/xinetd.d/telnet

    启动telnet-server服务,并设置开机自启

    service xinetd restart
    chkconfig telnet on

    在其它机器上测试可以连接

    telnet 192.168.1.2

    如果连接不上配置:

    1、关闭防火墙及selinux

    2、查看/var/log/secure 提示

    3、vim /etc/pam.d/login   注释:auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

    4、vi /etc/securetty  末尾添加:

    pts/0
    pts/1
    pts/2
    pts/3
    pts/4
    pts/5

    然后再重启 xinetd 服务。

    二、升级OpenSSH版本

    备份sshd 

    which sshd
    /usr/sbin/sshd
    
    cd /usr/sbin/
    co sshd sshd.bak

     安装必要编译软件

    yum install -y gcc openssl-devel pam-devel rpm-build pam-devel

    下载最新版openssh

    wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz

    解压,编译,安装

    tar zxvf openssh-8.6p1.tar.gz && cd openssh-8.6p1
    
    ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers
    
    echo $? 返回0表示成功执行成功,返回1或其他数字表示执行失败
    
    make && make install
    
    service sshd restart
    
    service sshd status
    
    ssh -V

    版本号已改变

     将/etc/ssh/sshd_config 和 /etc/ssh/ssh_config 里面关于:GSSAPI开头的都注释掉,否则总有不识别提示。

    三、隐藏OpenSSH版本号

    正常情况telnet 22号端口会返回OpenSSH版本号,如下。

    [root@ct6 ~]# telnet 192.168.1.2 22
    Trying 192.168.1.2... Connected to 192.168.1.2. Escape character is '^]'. SSH-2.0-OpenSSH_5.3

    测试了网上给的替换版本号的方法  sed -i 's/OpenSSh_8.6/XXXX/g' sshd

    最后执行sshd -V 出错,最好不要这种替

    Segmentation fault 

    四、卸载telnet-server

    service xinetd stop
    yum remove telnet-server
    yum remove xinetd
  • 相关阅读:
    Oracle 循环语句
    IDEA---SpringBoot同一个项目多端口启动
    Maven引入oracle驱动包
    Linux安装 PostgreSQL
    Oracle备份及备份策略
    Oracle优化的几个简单步骤
    Oracle RMAN备份策略
    常见的几种索引扫描类型
    插槽内容
    分布式系统session同步解决方案
  • 原文地址:https://www.cnblogs.com/dwj192/p/15045439.html
Copyright © 2020-2023  润新知