openssh漏洞升级方案
Linux下OpenSSH版本升级

Linux下OpenSSH版本升级在运营商对各个系统的安全扫描的过程中,经常会遇到如下OpenSSH安全漏洞:这一安全漏洞通常需要到ftp:///pub/OpenBSD/OpenSSH/portable/下载openssh-5.0p1以上的版本,然后进行软件升级才能解决这一问题。
一、OpenSSH升级前需要准备的工作如下:(1)开启telnet的服务,关闭SSH服务,详见《Linux下telnet开启和关闭服务》文档;如果是在本机上直接操作就不需要开启。
(2)将下载好的OpenSSH包上传到需要升级的服务器上。
(3)检查OpenSSL和Zlib版本,openssh-5.0p1要求在OpenSSL版本在0.9.6以上,Zlib滴版本在1.2.1.2以上;SUSE10下查看相关命令如下:RedHat AS下查看相关命令如下:如果OpenSSL和Zlib版本无法满足OpenSSH升级需求,则需要进行相应的版本升级。
二、OpenSSH升级(1)备份好之前SSH的相关配置文件,也可以cd /etc,直接tar整个ssh目录。
(2)service sshd stop或者/etc/init.d/sshd stop关闭ssh服务(3)tar zxvf openssh-5.0p1.tar.gz(4)cd openssh-5.0p1./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check指定安装目录,同时不检查zlib版本。
注:在配置的过程中一定要确保没有错误提示,这样才能进行后续的编译。
(5)make //编译(6)make install //安装(7)使用命令ssh –V验证升级是否成功。
OpenSSH_5.0p1, OpenSSL 0.9.8a 11 Oct 2005(8)vi /etc/ssh/sshd_config指定Protocol 2,指定PermitRootLogin no(9)service sshd start或者/etc/init.d/sshd start开启ssh服务(10)关闭telnet服务,详见《Linux下telnet开启和关闭服务》文档。
Linux下OpenSSH版本升级

CentOS使用yum update更新时不升级内核cp /etc/yum.conf /etc/yum.confbak方法一、修改yum的配置文件vi /etc/yum.conf 在[main]的最后添加exclude=kernel* 方法二、直接在yum的命令后面加上如下的参数:yum --exclude=kernel* update系统运维 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接查看系统版本cat /etc/issue查看内核版本uname -a/view/7c047e4b647d27284b7351f5.htmlLinux下OpenSSH版本升级一、OpenSSH升级前需要准备的工作如下:(1)下载最新版本的OpenSSH安装包(当前最新版本为2014年3月15日更新的openssh-6.6p1.tar.gz),下载地址:ftp:///pub/OpenBSD/OpenSSH/portable/ (2)如果是在本机上操作,请直接关闭SSH服务;如果是远程操作,请先开启Telnet的服务,再关闭SSH服务;SSH服务的开启和关闭方法:#service sshd start或者#/etc/init.d/sshd start 开启ssh服务; #service sshd stop或者#/etc/init.d/sshd stop 开启ssh服务; Telnet服务的开启和关闭方法:(3)将下载好的OpenSSH包上传到需要升级的服务器上。
(4)检查OpenSSL和Zlib版本,openssh-6.6p1要求在OpenSSL的版本在1.0.1 以上,Zlib的版本在1.2.5以上。
查看相关命令如下:#rpm -qa|grep openssl 查看OpenSSL的版本 #rpm -qa|grep zlib 查看Zlib的版本(5)如果OpenSSL和Zlib版本无法满足OpenSSH升级需求,则需要进行相应的版本升级,升级步骤如下:下载OpenSSL和Zlib:/source/openssl-1.0.1i.tar.gz //下载OpenSSL /distfiles/zlib-1.2.5.tar.bz2 //下载Zlib 将OpenSSL和Zlib安装包上传到需要升级的服务器上;安装Zlib:#tar -jxvf zlib-1.2.5.tar.bz2 //首先安装zlib库,否则会报zlib.c错误无法进行#cd zlib-1.2.5#./configure#make#make install安装OpenSSL:#tar -zxvf openssl-1.0.1i.tar.gz#cd openssl-1.0.1i#./config shared zlib#make#make test#make installmv /usr/bin/openssl /usr/bin/openssl.OFFmv /usr/include/openssl /usr/include/openssl.OFFln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/openssl//移走原先系统自带的openssl,将自己编译产生的新文件进行链接配置库文件搜索路径# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf# /sbin/ldconfig -v# openssl version -a(6)安装完成后再参考上面的步骤检查OpenSSL和Zlib的版本。
总结-OpenSSH升级-Ubuntu

出现以下错误:
configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***
解决方式如下:
添加参数,重新安装OpenSSL,之后正常安装OpenSSH即可。具体如下:
/zlib-1.2.8# make#编译
/zlib-1.2.8# makeinstall#编译安装
3.5.2
# tar -xvzf openssl-1.0.1h.tar.gz#解压缩
# cd openssl-1.0.1h#进入目录
/openssl-1.0.1h# ./config --prefix=/usr/local/openssl#检查配置
...done.
3.7
# /usr/local/bin/ssh -V
OpenSSH_6.5p1, OpenSSL 1.0.1h 5 Jun 2014
3.8
确保OpenSSH升级可用之后,为了保障系统的安全,建议将telnet删除,以免造成安全漏洞,删除telnet只需要将其对应的deb包删除即可,如下:
登陆ssh后进行以下操作。
# vi /etc/init.d/sshd#修改sshd的路径
:%s#/usr/sbin#/usr/local/sbin#g#执行修改命令
:wq#保存配置文件
#update-rc.d sshd defaults#开机启动设置
# service sshd restart
* Restarting OpenBSD Secure Shell server sshd
Suse Linux11升级Openssh6.7笔记

OpenSuse Linux11升级Openssh6.7笔记(作者:爱在深秋于2014年10月26日)本实验的目的是将OpenSuse Linux11自带的Openssh从5.1版本升级到最新的6.7版,以解决低版本存在的漏洞。
升级采用远程telnet登录服务器的方法。
因此需要停止系统的SSH服务,只能先安装Telnet服务来进行远程操作,升级结束后应停止Telnet服务。
一、安装Telnet服务1.下载安装telnet先不停止SSH,远程登录后,检查系统是否安装Telnet服务。
表示系统只安装了客户端,没有安装服务器端。
因此需要我们安装服务器端。
先检查系统版本,好到网站上下载相应的安装包。
此时我们到:/linux/rpm2html/search.php?query=telnet-server 下载telnet-server安装包。
我下载的是专门针对OpenSuseLinux64的telnet-server-1.2-149.1.x86_64.rpm。
下载完成后,上传到服务器。
执行:显示100%表示安装完成,再次用chkconfig命令检查发现telnet已经安装成功,只是服务没有启动。
2.配置telnet服务Telnet服务一般是通过xinetd服务进行启动和停止的。
先检查/etc/xinetd.d/telnet 文件。
#vi /etc/xinetd.d/telnet显示为:我们主要关注disable=yes这一句。
为yes的时候,说明telnet服务不通过xinetd 服务启动和停止;为no或者没有disable配置项目的时候,说明telnet服务通过xinetd 服务启停。
因为我们要通过xinetd服务管理,所以设置为disable=no,然后保存退出。
修改后的内容为:另外,由于telnet监听的23端口被网管中心限制,但FTP使用的21端口是开放的。
刚好我的服务器不使用FTP服务,因此将telnet的监听端口修改为21。
OpenSSH 拒绝服务漏洞修复简易操作手册

1.1漏洞扫描(漏洞详情可查看扫描报告)1.1.1问题描述1.2解决方案目前centos的系统版本是7.2,OpenSSH版本是6.6。
按照漏洞的影响平台范围,可升级OpenSSH到7.4p1版本可修复OpenSSH的漏洞。
1.2.1资源准备●安装包和依赖包准备:o p enssh-7.4p1.t ar.g z o p enssl-1.0.2k.t ar.g z zl i b-1.2.8.t ar.g z g cc.zi p p am.zi pp erl.zi p1.2.2操作指引●确保selinux是关闭的# getenforce如果返回Enforcing执行命令# setenforce 0vi /etc/sysconfig/selinux找到SELINUX=项,将其改为SELINUX=disabled如果返回Permissivevi /etc/sysconfig/selinux找到SELINUX=项,将其改为SELINUX=disabled如果返回Disabled直接进行下一步。
●检查gcc是否安装gcc -v如果有信息,进行下一步,如果没有,安装gcc将gcc目录下的安装包上传到/usr/src/ssh/gcc目录下cd /usr/src/ssh/gccchmod 777 *rpm -Uvh *.rpm执行gcc -v 命令,有信息即表示安装成功。
●安装telnet将telnet目录下的安装包上传到/usr/src/ssh/telnet目录下cd /usr/src/ssh/telnetchmod 777 *rpm -ivh xinetd-2.3.14-40.el6.x86_64.rpmrpm -ivh telnet-server-0.17-48.el6.x86_64.rpmvi /etc/xinetd.d/telnet将”disable= yes”改成” disable=no”vi /etc/securetty增加pts/0pts/1pts/2执行命令:/etc/init.d/xinetd restart查看防火墙是否开启:service iptables status如果未开启,直接进行下一步,如果已经开启,需要开放端口iptables -I INPUT -p tcp --dport 23 -jACCEPTiptables -I INPUT -p udp --dport 23 -jACCEPTservice iptables save //保存service iptables restart //重启防火墙找一台可以连接此机器的电脑,telnet ip //ip用此机器的ip地址替换使用root用户登录成功即可。
关于Linux系统升级至OpenSSH-6.6p1的解决办法(可解决OpenSSH相关漏洞)

OpenSSH相关漏洞解决本文主要针对绿盟对Linux服务器扫出OpenSSH相关漏洞总结出的解决方案,漏洞更新时间为2014年重要漏洞,本文将服务器更新至OpenSSH-6.6p1版本,可解决2014之前的OpenSSH重要漏洞,帮助通过验收。
OpenSSH-6.6p1具体更新步骤:1、修改设置文件/etc/xinetd.d/telnet 中disable字段改为no;2、打开telnet服务;#service xinetd start3、新建一个用户useradd swroot,passwd swroot;4、用telnet连接测试通过;5、停止sshd服务;#service sshd stop6、卸载原openssl和openssh的RPM包;#rpm -e openssl --nodeps#rpm -e openssl-devel –nodeps#rpm -e openssh --nodeps#rpm -e openssh-server --nodeps#rpm -e openssh-clients --nodeps#rpm -e openssh-askpass –nodeps7、安装openssl-1.0.1g和openssh-6.6p1;#rpm -ivh openssl-1.0.1g-1.el6.x86_64.rpm --nodeps#rpm -ivh openssl-devel-1.0.1-1.el6.x86_64.rpm --nodeps#rpm -ivh openssh-6.6p1-1.x86_64.rpm#rpm -ivh openssh-clients-6.6p1-1.x86_64.rpm#rpm -ivh openssh-server-6.6p1-1.x86_64.rpm#rpm -ivh openssh-askpass-gnome-6.6p1-1.x86_64.rpm8、启动sshd服务;#service sshd start9、停止telnet服务并恢复相关配置,不然telnet相关漏洞又会被发现;10、最后,上述安装步骤中提及的OpenSSL-1.0.1g及OpenSSH-6.6p1的相关RPM软件下载地址:/s/1qWx4CxA。
升级ssh修复CVE-2023-48795漏洞

升级ssh修复CVE-2023-48795漏洞一、升级openssl1、卸载opensshyum -y remove opensshyum -y remove openssl2、安装相关依赖包yum -y install pam pam-devel zlib zlib-devel openssl-devel3、将文件放到/usr/local并解压tar -zxvf openssl-1.1.1w.tar.gz4、编译安装#进入Openssl目录cd /usr/local/openssl-1.1.1w#编译安装./config shared --prefix=/usr/local/opensslmake -j 4make install5、做软连接echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf#加载配置文件ldconfig#做软链接ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl6、查看openssl版本openssl version#若为OpenSSL 1.1.1w 11 Sep 2023 则证明升级成功二、升级openssh1、查看当前OpenSSH包rpm -qa | grep openssh2、查看当前OpenSSH版本ssh -V3、上传OpenSSH并解压到/usr/local下tar -zxvf openssh-9.6p1.tar.gz#进入OpenSSH目录cd /usr/local/openssh-9.6p1#编译安装./configure --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/openssl make -j 4make install4、授权chmod 600 /etc/ssh/*5、复制配置文件#执行以下命令时,必须全部执行成功,否则影响最终结果cp -rf /usr/local/sbin/sshd /usr/sbin/sshdcp -rf /usr/local/bin/ssh /usr/bin/sshcp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygencp -ar /usr/local/openssh-9.6p1/contrib/redhat/sshd.init /etc/init.d/sshdcp -ar /usr/local/openssh-9.6p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam6、配置sshd自动启动,生成服务配置文件,并重启服务#启用sshd自动启动systemctl enable sshd#重启服务systemctl restart sshd#查看状态systemctl status sshd7、验证结果ssh -VOpenSSH_9.6p1, OpenSSL 1.1.1w 11 Sep 20238、如果ssh登录不上去修改/etc/ssh/sshd_configPermitRootLogin yesPubkeyAuthentication yes。
Linux openssh升级方案

Openssh升级方案一、准备安装包1、确定操作系统uname -acat /etc/redhat-release2、将安装包和系统ISO镜像上传服务器zlib-1.2.8.tar.gzopenssl-1.0.1p.tar.gzopenssh-7.1p1.tar.gzrhel-server-6.5-x86_64-dvd.iso修改yum配置文件vi /etc/yum.repos.d/local.repo粘贴以下内容并保存[Server]name=Serverbaseurl=file:///xxxx/iso/Server (xxxx/iso为新建的iso目录来存放挂载后的操作系统镜像) enabled=1gpgcheck=0挂载redhat6.5的iso安装包(在xxxx目录下新建iso文件夹)mount –t iso9660 /dev/cdrom /xxxx/iso安装必要的软件包gcc、telnet、xinetd、make、pam-devel、zlib等yum –y install *gcc*yum –y install *telnet*yum –y install *xinetd*yum –y install *make*yum –y install *pam-devel*yum –y install *zlib*3、准备其他远程方式telnet或者vnc修改telnet配置文件vi /etc/xinetd.d/telnetdisable = yes改成noservice xinetd restart重启服务创建telnet远程用户userdel weihupasswd weihucqep1234或者修改配置保证root用户可以telnet,保证后续远程配置正常进行vi /etc/pam.d/login文件注释掉:#auth [user_unknown=ignore success=ok ignore=ignore#auth_err=die default=bad] pam_securetty.so测试telnet正常登录后进行下一步4、拷贝安装包至/usr/local/src目录,并解压修改权限cp zlib-1.2.8.tar.gz /usr/local/srccp openssh-6.8p1.tar.gz /usr/local/srccp openssl-1.0.2a.tar.gz /usr/local/srccd /usr/local/src/tar zxvf openssh-6.8p1.tar.gztar zxvf openssl-1.0.2a.tar.gztar zxvf zlib-1.2.8.tar.gzchmod 777 -R openssh-6.8p1chmod 777 -R openssl-1.0.2achmod 777 –R zlib-1.2.81、检查系统是否缺包rpm -qa | egrep "gcc|make|perl|pam|pam-devel"如缺包请自行设置本地Yum源进行安装yum -y install gcc* make perl pam pam-devel如果报public key for sinjdoc-0.5-9.1.el6.x86_64.rpm is not installed这样的错误,则执行如下命令:(需要导入rpm的签名信息)#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release二、程序升级1、停止ssh服务service sshd stop2、备份脚本和程序cp /etc/init.d/sshd root3、卸载原openssh# rpm -qa|grep openssh//查询系统原安装的openssh包全部卸载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档编号:
项目代号:openssh漏洞升级方案
江苏君立华域信息安全技术有限公司
2014年6月10日
文档信息表
1概述
为解决openssh版本漏洞。
2评估范围及漏洞
此次信息安全评估针对全网IP,检查手段为漏洞扫描。
本次漏洞扫描采用绿盟极光漏洞扫描器对各域生产资产进行细致深入的漏洞检测、分析。
此文档针对openssh漏洞升级进行说明。
3漏洞信息
评估时间:2014年6月7日-6月8日
openssh具体漏洞信息如下:
图一:openssh漏洞列表
经测试,linux系统上,将openssh升级到6.6版本可解决以上所有漏洞(不
包括新出现的漏洞)。
4升级步骤
说明:在升级安装过程中不要复制、黏贴文中的内容,不同版本会有些小差别,会给您带来不便,请根据提示手动操作。
1.软件下载:升级openssh前需先升级安装openssl
下载地址如下:
/source/选择下载openssl-1.0.1h.tar.gz (最新版)/pub/OpenBSD/OpenSSH/portable/
下载openssh-6.6p1.tar.gz
2.升级操作前,请先开启telnet服务,并以telnet的方式登录到服务器
3.查看原openssl相关文件,把相关信息记录下来,由于是采用源码方式安
装,后续需要手动更新部分库文件
#rpm -ql openssl
4.查找原openssl的库文件路径,注意系统版本是32位还是64位
#ll /lib64/libcrypto.so.*
# ll /lib64/libssl.so.*
#ll /usr/lib64/libcrypto.so
5.查找原openssl相关文件,包括动态连接库文件,可执行文件
#find / -name openssl
6.移动备份原头文件
#mv /usr/include/openssl /usr/include/oldssl
7.用于备份原库文件
# mkdir /lib/oldssl
8.删除原库文件,准备升级,这里只是移动了做备份并没有直接删除
# mv /lib/libssl.so.0.9.8b /lib/oldssl/ //注意标红字体文件位置
9.确定openssl软件包中包含的库文件
#rpm -ql openssl //第四步已经找到的
10.移动库文件,连接文件可以直接删除,注意标红字体文件,不同系统可
能文件名有差别
# mv /lib/libcrypto.so.1 /lib/oldssl/
# mv /lib/ibssl.so.0.9.8b /lib/oldssl/
# mv /lib/libssl.so.1 /lib/oldssl/
11.删除源文件
# ll /usr/bin/openssl
# mv /usr/bin/openssl /usr/bin/BAKopenssl
# rm -rf /usr/lib/libcrypto.so
12.解压新文件
# tar xzf openssl-1.0.1g.tar.gz
# cd penssl-1.0.1g
13.编译安装
# ./config
# make
# make install
这样默认安装在/usr/local/ssl/目录
# /usr/local/ssl/bin/openssl version
# cp /usr/local/ssl/bin/openssl /usr/bin
# openssl version //回到根目录下再执行一次
# ldd /usr/bin/openssl
14.恢复原连接文件到新的库,注意此处文件名不同,自己更正
ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /lib/libssl.so.4
ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
现在用新的来替代它了。
15.最后要刷新系统的动态连接库配置
# echo /usr/local/ssl/lib >> /etc/ld.so.conf
# ldconfig -v
16.升级openssh,同样查看相关文件,以便后续更新
# rpm -ql openssh
17.解压、编译、安装
# tar xzf openssh-4.7p1.tar.gz
# cd openssh-4.7p1
# ./configure
# make
# make install
18.记住完成后提示信息:完成安装,生成了密钥对以及安装路径等信息
19.查看版本信息等
# /usr/local/bin/ssh -V
# mv /usr/bin/ssh /usr/bin/oldssh
# cp /usr/local/bin/ssh /usr/bin/
# ssh -V
20.版本号看到都已经更新了,在make install最后可以看到提示信息
OpenSSH就被安装在/etc/local里面了,所有有关OpenSSH的配置文件都放在/usr/local/etc目录下,修改配置文件/usr/local/etc/sshd_config
#vi /usr/local/etc/sshd_config
把以下参数前面的注释#去掉
Port 22
Protocol 2,1
RhostsRSAAuthentication no
21.最后修改一下/etc/init.d/sshd 不然不能启动
以下参数是和原来不一样的,主要是路径改变了,注意安装文件路径#[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
KEYGEN=/usr/local/bin/ssh-keygen
SSHD=/usr/local/sbin/sshd
RSA1_KEY=/usr/local/etc/ssh_host_key
RSA_KEY=/usr/local/etc/ssh_host_rsa_key
DSA_KEY=/usr/local/etc/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid
22.启动ssh服务
# /etc/init.d/sshd start
23.确定启动没有问题后,重新设置其自动启动。
# ll /etc/rc.d/rc3.d/*ssh*
# rm -f /etc/rc.d/rc3.d/S55sshd
# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S55ssh。