Openssh升级漏洞修复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openssh升级漏洞修复相关的知识,希望对你有一定的参考价值。
参考技术A 0.前言公司采用三方漏洞扫描时发现大量openssh漏洞,最终修复漏洞方案为将openssh升级到官方最新版本。
操作系统: Centos7.2
网络状况: 可以访问外网
Openssh版本: OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
修改配置文件/etc/xinetd.d/telnet 将里面的”disable= yes”改成” disable=no” ,修改后结果
在/etc/securetty文件末尾增加一些pts终端,直接加在末尾就可以了
防火墙开启23号端口,当然也可以直接关闭防火墙 ,这里选择关闭防火墙
或修改配置文件,永久生效。
(4)安装依赖包
4.2 换成telnet登录服务器
其换成telnet登录服务器,更新过程ssh连接会断,导致无法连接
4.3 安装Openssl步骤
(1)替换会被备份的文件
(2)解压软件包并且进入目录进行编译
(3)创建软连接
(4)验证文件
(5)修改配置文件
5.2 安装步骤
(1)解压压缩包
(2)修改目录权限
(3)备份会替换的文件
(4)执行编译安装
(5)修改配置文件
(6)文件替换
(7)添加开机自启动
(8)重启ssh
注意:在运行这个脚本的时候备份文件必须要是/back_up/backup.tgz,如果备份的时候叫其他名称,请自行修改脚本。还有脚本不能运行为前台且跟终端相关进程,因为经测试发现在还原的时候ip会被冲掉。所以远程连接会断掉
最后需要注意的是执行脚本会重启机器
OpenSSH漏洞修复——Ubuntu系统
OpenSSH 升级加固实例
(一) 升级条件准备
² 关闭防火墙
# ufw disable
² 安装与启用telnet
开启telnet server,以防止升级OpenSSH时导致远程连接异常,具体Telnet服务安装与开启命令操作如下。
# apt-get install -y openbsd-inetd
# apt-get install -y telnetd
# service openbsd-inetd start
² 下载相关升级包
# 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
# apt安装libpam0g-dev
# apt-get install libpam0g-dev # 缺少libpam0g-dev会报错
# 删除原ssh中的相关配置文件
# rm -rf /etc/ssh /usr/bin/scp /usr/bin/sftp /usr/bin/ssh* /usr/sbin/sshd
# rm -rf /lib/x86_64-linux-gnu/libssl.so.1.0.0
# rm -rf /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
# cp /usr/local/ssl/lib/libssl.so.1.0.0 /lib/x86_64-linux-gnu/
# cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/
# 解压新版openssh并编译安装
# tar zxvf openssh-7.4p1.tar.gz
# cd openssh-7.4p1
# ./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/lib --with-privsep-path=/var/empty --with-privsep-user=sshd --with-ssl-engine
# make && make install
如果遇到这个错误,说明pam没装,需要装下:apt-get install pam
# 创建新版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
#配置允许root远程使用ssh登录(建议使用普通账号作为远程运维登录使用,不要开启root远程登录)
# vi /etc/ssh/sshd_config
去除“#PermitRootLogin prohibit-password”中注释,并修改“prohibit-password”为“yes”,最后保存退出;
# service sshd start
如果出错按照提示操作
# ssh -V
以上是关于Openssh升级漏洞修复的主要内容,如果未能解决你的问题,请参考以下文章