zoukankan      html  css  js  c++  java
  • Centos 6.x Openssh 升级 7.7p1 版本

    OpenSSH 升级

    目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的。

    然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度、WAF、防火墙等各种。

    评测公司对我司的网站进行了漏扫,检测出来Openssh 版本过低,并且伴有两个高危漏洞,兄弟俩关系不错。


    安装xinetd telnet-server

    为防止Openssh 升级失败,所以需要把telnet启动起来

    之前测试的时候,telnet登陆,不能使用root,普通用户没问题,懒得解决了,直接配置了普通用户的visudo.

    [root@centos6 ~]# yum install xinted telnet-server -y
    [root@centos6 ~]# chkconfig telnet on
    [root@centos6 ~]# vim /etc/xinetd.d/telnet
    #修改一下`/etc/xinetd.d/telnet` 配置文件,把最后一样的disable 的值修改为no
    # default: on
    # description: The telnet server serves telnet sessions; it uses 
    #       unencrypted username/password pairs for authentication.
    service telnet
    {
            flags           = REUSE
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/sbin/in.telnetd
            log_on_failure  += USERID
            disable         = no
    }
    
    [root@centos6 ~]# /etc/init.d/xinetd start
    

    搞定,配置普通用户的visudo这里就不详解了。

    算了,还是说下吧

    [root@centos6 ~]# useradd test
    [root@centos6 ~]# passwd test
    #这里输入两次密码
    
    [root@centos6 ~]# visudo
    #打开后,在最后添加下面的内容,然后保存退出就可以了
    
    test        ALL=(ALL)       NOPASSWD: ALL
    

    这样就搞定了

    开始升级

    生产系统是:CentOS 6.5, 自带的SSH版本太低,安全检查报有漏洞,需要升级版本。

    [root@centos6 ~]# rpm -qa | grep openssh
    openssh-clients-5.3p1-122.el6.x86_64
    openssh-5.3p1-122.el6.x86_64
    openssh-server-5.3p1-122.el6.x86_64
    

    本文使用最新的openssh-7.7p1的版本进行源码升级安装。

    升级OpenSSH不难,难的是在升级前的基础环境安装

    基础包安装

    yum安装最简单

    yum install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pam-devel -y

    然后。。。完事儿了,基础环境安装完了。真的很难

    下面去openssh官网下载最新的源码包, 点击我下载OpenSSH,官方的哦

    下面开始升级

    首先删除老版本的Openssh。

    rpm -e --nodeps rpm -qa | grep openssh

    然后编译安装:
    由于配置和编译的过程太长,就不复制了,直接贴上命令:

    [root@centos6 soft]# ls
    openssh-7.7p1.tar.gz
    [root@centos6 soft]# tar xf openssh-7.7p1.tar.gz 
    [root@centos6 soft]# cd openssh-7.7p1
    [root@centos6 openssh-7.7p1]# 
    [root@centos6 openssh-7.7p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl --with-zlib --with-md5-passwords --with-pam
    内容太多,忽略
                  Host: x86_64-pc-linux-gnu
              Compiler: gcc
        Compiler flags: -g -O2 -pipe -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -mfunction-re
    turn=thunk -mindirect-branch=thunk -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-all -fPIE  Preprocessor flags:  -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE
          Linker flags:  -Wl,-z,retpolineplt -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fstack-protector-all -pie 
             Libraries: -lcrypto -lrt -ldl -lutil -lz  -lcrypt -lresolv
             +for sshd:  -lpam
    
    PAM is enabled. You may need to install a PAM control file 
    for sshd, otherwise password authentication may fail. 
    Example PAM control files can be found in the contrib/ 
    subdirectory
    
    [root@centos6 openssh-7.7p1]# make && make install
    
    #安装的时候这里遇到一个坑,需要make install两次,可能是我卸载的顺序有问题把,否则提示找不到sshd命令。请注意
    #执行之后等结果,看看报不报错,反正我的不报错。
    
    

    安装完之后,别着急去别的目录,还在当前安装目录,需要拷贝几个配置文件,拷贝之前一定要备份

    执行过程如下:

    # 先拷贝配置文件
    [root@centos6 openssh-7.7p1]# cp -a /etc/ssh /etc/ssh_bak
    [root@centos6 openssh-7.7p1]# cp ssh_config /etc/ssh/
    cp: overwrite `/etc/ssh/ssh_config'? y
    [root@centos6 openssh-7.7p1]# cp sshd_config /etc/ssh/
    cp: overwrite `/etc/ssh/sshd_config'? y
    [root@centos6 openssh-7.7p1]# cp moduli /etc/ssh/
    cp: overwrite `/etc/ssh/moduli'? y
    
    #这里是拷贝sshd的启停脚本
    [root@centos6 openssh-7.7p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
    cp: overwrite `/etc/init.d/sshd'? y
    
    #直接start启动ssh,千万不能restart,使用restart会造成连不上,需要登录控制台启动
    #再设置开机自启
    [root@centos6 openssh-7.7p1]# /etc/init.d/sshd start
    Starting sshd:                                             [  OK  ]
    [root@centos6 openssh-7.7p1]# chkconfig sshd on
    
    #查看,安装后的果实;
    [root@centos6 openssh-7.7p1]# ssh -V
    OpenSSH_7.7p1, OpenSSL 1.0.1e-fips 11 Feb 2013
    

    没问题,搞定了。

    最后的小提示:

    开启root用户远程登录 。
    此步骤不是必须。建议是关闭该选项,开启会有安全隐患。
    vi /etc/ssh/sshd_config
    PermitRootLogin yes

    开启SSH服务
    千万不能restart。使用restart会造成连不上,需要登录控制台启动。
    service sshd start

  • 相关阅读:
    xml ui
    xml ui
    xml ui
    debug
    centOS7 mini配置linux服务器(一)安装centOs7
    数据结构之__链表
    数据结构之__队列
    数据结构之__栈
    在树莓派上使用 SSD1306 OLED 屏幕
    git官方手册
  • 原文地址:https://www.cnblogs.com/winstom/p/9515949.html
Copyright © 2011-2022 走看看