套缈
2025-9-22 00:08:00
本次漏洞扫描,扫描到的高危漏洞涉及Grafana和Openssh,其中Grafana发现漏洞有(CVE-2023-3128、CVE-2022-23498、CVE-2023-4822、CVE-2024-1442),Openssh的漏洞有(CVE-2023-38408、CVE-2020-15778、CVE-2020-12062、CVE-2021-28041、CVE-2021-41617、CVE-2023-51767)像这种应用层面的漏洞,我们的解决方法就是去官网去查看有没有补丁包或者更新应用至漏洞修复版本。
以grafana为例,我们可以在官网直接检索到相应的漏洞,官方会列有这个漏洞的是安全隐患和受漏洞影响的版本范围,以及相的漏洞修复版本,我们可以以此判断进而选择合适的版本去更新应用修复该漏洞。综合检索了grafana的四项漏洞,发现10.4.0版本已包含以上漏洞的修复,所以我们只需下载适合我们的镜像进行应用升级即可。
关于Openssh 的漏洞修复:
OpenSSH
The premier connectivity tool for remote login...
https://www.openssh.com/ GitHub
Open-source analytics & monitoring solution
https://github.com/openssh/openssh-portable
经查阅发现,Openssh的版本需要升级至9.5版本及以上可解决该问题:- # 目前使用的openssh版本
- [root@worker01 ~]# ssh -V
- OpenSSH_8.2p1, OpenSSL 1.1.1f 31 Mar 2020
复制代码 我的系统是Kylin V10 Sp3 arm的机器,发现官方麒麟的安装源中无新版本的Openssh安装包,只能下载源码包进行编译安装:
整个过程如下:(仔细梳理步骤,切勿直接编译安装)- # 版本信息备份:
- # 备份当前版本信息,方便异常后恢复原ssh版本。
- rpm -qa | grep openssh > /tmp/openssh-old-version.txt
- rpm -ql openssh-server > /tmp/openssh-old-files.txt
- cp /usr/sbin/sshd /tmp/sshd.backup
复制代码- # 应急方案准备:
- # 安装telnet,开启服务端,保证可以在其他机器通过23端口登录后,再进行编译安装,避免ssh升级过程异常无法登录
- yum -y install xinetd telnet
- systemctl list-unit-files | grep telnet
- ystemctl enable telnet.socket --now
- ss -tnlp | grep :23
复制代码- # 回退方案准备:
- # 恢复原版 sshd 二进制:
- cp /root/sshd.backup /usr/sbin/sshd
- systemctl restart sshd
- 或用 rpm 根据备份的版本信息强制重装旧版:
- yum reinstall openssh openssh-server -y
复制代码- # 编译安装步骤:
- # (1) 解压源码
- cd /usr/local/src
- tar zxvf openssh-portable-V_9_9_P2.tar.gz
- cd openssh-portable-V_9_9_P2
- # (2) 配置编译选项
- ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd --with-pam
- # (3) 编译 & 安装
- make -j$(nproc)
- make install
复制代码- # 先进行配置检测:(因为有些配置在新版本中已经弃用,需要删除或者注释掉)
- /usr/sbin/sshd -t
- # 进入配置文件注释相关配置
- vim /etc/ssh/sshd_config # (x86架构配置信息一般全部存放在这个配置文件中)
- #GSSAPIAuthentication yes
- #GSSAPICleanupCredentials no
- #RSAAuthentication yes
- #RhostsRSAAuthentication no
- #GSSAPIKexAlgorithms ...
- vi /etc/crypto-policies/back-ends/openssh.config # (arm架构)
- #GSSAPIKexAlgorithms ...
- vi /etc/ssh/ssh_config.d/05-redhat.conf # (arm架构)
- #GSSAPIAuthentication yes
- /usr/sbin/sshd -t # 如果有输出,即为异常,有坏的参数不兼容,需进入相关配置文件注释
复制代码- # sshd连接测试:
- # 在本机指定一个2222端口用于测试ssh连接
- /usr/sbin/sshd -D -p 2222 -f /etc/ssh/sshd_config &
- # 在另一服务器上测试连接,必须确认连接没有问题
- ssh -p 2222 root@<服务器IP>
复制代码- # 检查系统的 systemd 里 sshd 服务文件是否还在 /usr/lib/systemd/system/sshd.service,一般不需要改,如果不在需要手动恢复
- # 配置参考:
- [Unit]
- Description=OpenSSH server daemon
- After=network.target sshd-keygen.service
- Wants=sshd-keygen.service
- [Service]
- ExecStart=/usr/sbin/sshd -D $OPTIONS
- ExecReload=/bin/kill -HUP $MAINPID
- KillMode=process
- Restart=on-failure
- [Install]
- WantedBy=multi-user.target
复制代码- # 重启sshd服务,测试ssh连接是否正常
- [root@master01 ~]# systemctl restart sshd
- [root@master01 ~]# ssh -V
- OpenSSH_9.9p2, OpenSSL 1.1.1f 31 Mar 2020
复制代码 注意:当你确认Openssh升级成功后,确保ssh连接等无问题之后需关闭Telnet服务,Telnet服务使用明文传输,在使用过程中相当于你的信息在网络传输中进行裸奔!!!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|
|
|
相关推荐
|
|