• OpenSSH漏洞修复——CentOS6&RedHat 6.5~6.9


    OpenSSH漏洞
    OpenSSH 是一组用于安全地访问远程计算机的连接工具,低版本爆出的高危漏洞太多
    升级到最新版本
     

     OpenSSH 升级加固实例

    (一)  升级条件准备

    ²  关闭防火墙

    # service iptables stop

    ²  安装与启用telnet

    开启telnet server,以防止升级OpenSSH时导致远程连接异常,具体Telnet服务安装与开启命令操作如下。

    # yum安装telnet-server 服务

    # yum install –y telnet-server

    # 修改xinted服务配置,启用telnet服务

    # vim /etc/xinetd.d/telnet

    service telnet

    {

            flags           = REUSE

            socket_type     = stream

            wait            = no

            user            = root

            server          = /usr/sbin/in.telnetd

            log_on_failure  += USERID

            disable         = no # 此处yes改成no,否则默认telnet服务为关闭状态

    }

    # service xinetd restart

    ²  下载相关升级包

    # wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz --no-check-certificate

    # wget http://www.zlib.net/zlib-1.2.11.tar.gz

    # wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz

    ²  安装zlib依赖库

    # tar zxvf zlib-1.2.11.tar.gz

    # cd zlib-1.2.11

    # ./configure

    # make && make install

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

    # ldconfig

    ²  添加普通账户

    # useradd iflytek

    # passwd iflytek

    (二)  OpenSSL 升级

    # tar zxvf openssl-1.0.2k.tar.gz

    # cd openssl-1.0.2k

    # ./config shared -fPIC

    # make && make install

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

    # ldconfig

    # rm -rf /usr/bin/openssl

    # ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

    # openssl version

    (三)  OpenSSH 升级

    使用命令“telnet IP”远程连接服务器,关闭SSH服务以便升级。

    # 停止sshd服务

    # service sshd stop

    # yum安装pam-devel

    # yum install -y pam-devel # 缺少pam-devel会报错

    # 删除原ssh中的相关配置文件

    # rm -rf /etc/init.d/sshd /etc/ssh /usr/bin/scp /usr/bin/sftp /usr/bin/ssh* /usr/sbin/sshd

    # 解压新版openssh并编译安装

    # tar zxvf openssh-7.4p1.tar.gz

    # cd openssh-7.4p1

    ./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-md5-passwords --without-pam --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib --with-privsep-path=/var/empty --with-privsep-user=sshd --with-ssl-engine

    # make && make install

    # 创建新版ssh服务的相关软链接

    # ln -s /usr/local/ssh/bin/ssh /usr/bin/ssh

    # ln -s /usr/local/ssh/bin/scp /usr/bin/scp

    # ln -s /usr/local/ssh/bin/sftp /usr/bin/sftp

    # ln -s /usr/local/ssh/bin/ssh-add /usr/bin/ssh-add

    # ln -s /usr/local/ssh/bin/ssh-agent /usr/bin/ssh-agent

    # ln -s /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

    # ln -s /usr/local/ssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

    # ln -s /usr/local/ssh/sbin/sshd /usr/sbin/sshd

    # touch /etc/ssh/ssh_host_key.pub

    # 配置ssh启动脚本和自启动项

    # cp contrib/redhat/sshd.init /etc/init.d/sshd

    # chmod u+x /etc/init.d/sshd

    # chkconfig --add sshd

    # chkconfig sshd on

    #配置允许root远程使用ssh登录(建议使用普通账号作为远程运维登录使用,不要开启root远程登录

    # vi /etc/ssh/sshd_config

    去除“#PermitRootLogin prohibit-password”中注释,并修改“prohibit-password”为“yes”,最后保存退出;

    # 重新启动新版sshd服务

    # /etc/init.d/sshd start

    # service sshd status

    # 版本校验

    # ssh -V

    最后新打开一个窗口, 看到以下俩信息就算成功了

  • 相关阅读:
    基于spec评论作品
    Alpha版发布
    软件工程第七次作业
    软件工程第六次作业
    软件工程第五次作业
    django-rest-framework笔记-序列化篇
    django restframework系列笔记
    rpyc 文件监控
    python subprocess select 读取
    Python 多线程 类和方法
  • 原文地址:https://www.cnblogs.com/mabiao008/p/12605210.html
Copyright © 2020-2023  润新知