centos7.6云服务器安全高危漏洞之Openssh

Linux OpenSSH-9.0p1最新版升级步骤详细(附脚本)

一、OpenSSH 介绍

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。

二、为什么要升级?

由于OpenSSH低版本中存在高危漏洞,导致安全技术漏洞扫描报告中提示高危漏洞,所以本人把十几台云服务器全部升级,做了以下笔记,供大家一起指导使用。注意:升级前一定要给服务器做个快照,防止升级失败恢复。

三、开始升级

1.开启 telnet 服务,临时关闭防火墙
由于一般登录方式为ssh,所以需要安装其他登录方式,比如Telnet服务,也可以防止升级失败。

#安装telnet
yum install xinetd telnet-server telnet -y

#备份文件securetty
mv /etc/securetty.bak
#配置telnet登录的终端类型,增加一些pts终端
pts=$'pts/0\npts/1\npts/2\npts/3' && echo "$pts" >> /etc/securetty

#开启服务
systemctl start telnet.socket
service xinetd start

#关闭防火墙(或者开启23端口)
systemctl stop firewalld.service 
systemctl disable firewalld.service

2.下载所有需要的包
将前三个工具包上传到/usr/local目录,以下是下载地址和安装脚本

1. ## ssl ##
https://www.openssl.org/source/openssl-3.0.5.tar.gz
2. ## ssh ##
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
3. ## zlib ##
http://zlib.net/zlib-1.2.12.tar.gz
4. ## 其他工具 ##
yum install -y perl-CPAN
yum -y install pam-devel
5. ## perl-CPAN ##
yum install distro-sync rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel xmkmf libXt-devel gtk2-devel make -y
6. ## perl-CPAN     ##
perl -MCPAN -e shell
7. ## install IPC/Cmd.pm ##
install IPC/Cmd.pm
8. ##  ##

配置zlib

1. ## 解压 ##
tar -xvf zlib-1.2.12.tar.gz
2. ## 进入目录 ##
cd zlib-1.2.12
3. ## 编译前环境配置 ##
./configure 
4. ## make编译 ##
make
5. ## make install编译安装 ##
make install

配置openSSL

1. ## 解压 ##
tar -xvf openssl-3.0.5.tar.gz
2. ## 进入目录 ##
cd openssl-3.0.5
3. ## 编译前环境配置 ##
./config --prefix=/usr/local/openssl
./config -t
4. ## make编译 ##
make
5. ## make install编译安装 ##
make install
6. ## 检查函数库 ##
ldd /usr/local/openssl/bin/openssl
7. ## 添加所缺函数库 ##
echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
8. ## 更新函数库 ##
ldconfig -v
9. ## 将旧版本openssl移除 ##
mv /usr/bin/openssl /usr/bin/openssl_old_bak
10. ## 将新版本openssl软链接到/usr/bin/目录下 ##
ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl
11. ## 将libssl.so.3软链接到/usr/bin/目录下 ##
ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib/libssl.so.3
12. ## 将libcrypto.so3软链接到/usr/bin/目录下 ## 
ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3
13. ## 查看openssl所在路径 ##
which openssl
14. ## 检查版本 ##
openssl version -a

配置openSSH

1. ## 解压 ##
tar -xvf openssh-9.0p1.tar.gz
2. ## 进入目录 ##
cd openssh-9.0p1
3. ## 备份旧版本 ##
mv /etc/ssh /etc/ssh_bak
4. ## 编译前环境配置 ##
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
5. ## make编译 ##
make
6. ## make install编译安装 ##
make install
7. ## 修改/etc/ssh/sshd_config配置,允许root用户SSH登录,因为openssh-8.2p1配置中无此选项 ##
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
8. ## 备份旧版本sshd ##
mv /usr/sbin/sshd /usr/sbin/sshd_bak
9. ## 拷贝新版本sshd到/usr/sbin/ ##
cp -arf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
10. ## 卸载原有openssh ##
for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps ;done
11. ## 卸载后openssh配置文件会变成rpmsave后缀,还原到原来目录下 ##
mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config
mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli
12. ## 替换新版本openssh相关命令 ##
cp -arf /usr/local/openssh/bin/* /usr/bin/
cp -arf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
13. ## 拷贝启动脚本 ##
cp /opt/openssh-9.0p1/contrib/redhat/sshd.init  /etc/init.d/sshd
14. ## 给启动脚本添加执行权限 ##
chmod +x /etc/init.d/sshd
15. ## 拷贝sshd.pam ##
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
16. ## 重启sshd服务并设为开机自启动 ##
systemctl daemon-reload
service sshd restart
chkconfig --add sshd
chkconfig --level 2345 sshd on
chkconfig --list
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lcaus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值