Ubuntu Linux 云服务器常见安全漏洞修复方法汇总 Apache/OpenSSH/DNS

news/2025/9/17 21:00:14/文章来源:https://www.cnblogs.com/kaiye/p/19097534

 

安全漏洞名称/CVE修复方案
1. Apache HTTP Server 缓冲区错误漏洞(CVE-2023-31122)
2. Apache HTTP Server 资源管理错误漏洞(CVE-2023-43622)
3. Apache httpd 资源管理错误漏洞(CVE-2024-27316)
4. Apache HTTP Server 代码问题漏洞(CVE-2024-38477)
5. Apache HTTP Server 安全漏洞(CVE-2024-38476)
6. Apache HTTP Server 安全漏洞(CVE-2024-38475)
7. Apache HTTP Server 安全漏洞(CVE-2024-38474)
8. Apache HTTP Server 安全漏洞(CVE-2024-47252)
9. Apache HTTP Server 资源管理错误漏洞(CVE-2023-45802)
10. Apache HTTP Server 安全漏洞(CVE-2024-24795)
11. Apache HTTP Server 输入验证错误漏洞(CVE-2024-39573)
12. Apache HTTP Server 安全漏洞(CVE-2024-38473)
13. Apache HTTP Server 安全漏洞(CVE-2024-38472)
14. Apache HTTP Server 代码问题漏洞(CVE-2024-36387)
15. Apache HTTP Server 安全漏洞(CVE-2025-53020)
16. Apache HTTP Server 输入验证错误漏洞(CVE-2024-42516)
17. Apache HTTP Server 访问控制错误漏洞(CVE-2025-23048)
18. Apache HTTP Server 安全漏洞(CVE-2025-49630)
19. Apache HTTP Server 授权问题漏洞(CVE-2025-49812)
升级 Apache 至 2.4.64 以上版本
1. OpenSSH 安全漏洞(CVE-2023-28531)
2. OpenSSH 安全漏洞(CVE-2023-38408)
3. OpenSSH 竞争条件问题漏洞(CVE-2024-6387)
4. OpenSSH 安全漏洞(CVE-2023-51384)
5. OpenSSH 安全漏洞(CVE-2023-51385)
6. OpenSSH 安全漏洞(CVE-2023-48795)
7. OpenSSH 安全漏洞(CVE-2025-26465)
升级 OpenSSH 至 9.9 以上版本
1. Diffie-Hellman Key Agreement Protocol 资源管理错误漏洞(CVE-2002-20001) 禁用 SSH DHE 加密
1. ISC BIND伪来源IP地址DNS远程攻击漏洞(CVE-2006-0987) 禁用 DNS 递归查询

 

1、升级 Apache 至 2.4.64 以上版本

# 备份配置
sudo cp -r /etc/apache2 /etc/apache2.backup# 更新包列表并升级
sudo apt update
sudo apt upgrade apache2# 一路 ok 下去,不确定的问 AI# 检查升级后版本
apache2 -v

 

2、升级 OpenSSH 至 9.9 以上版本

⚠️ 提醒:升级 ssh 服务可能意外导致无法再次连接至云服务器,因此建议先打开 23 端口的 telnet 备用通道以防万一

2.1、安装配置 telnet 服务(可选)

# 更新软件包列表
sudo apt update# 安装telnet服务器
sudo apt install -y telnetd xinetd# 创建xinetd配置文件
sudo tee /etc/xinetd.d/telnet > /dev/null <<'EOF'
service telnet
{disable         = noflags           = REUSEsocket_type     = streamwait            = nouser            = rootserver          = /usr/sbin/in.telnetdlog_on_failure  += USERIDbind            = 0.0.0.0port            = 23
}
EOF# 启动xinetd服务
sudo systemctl enable xinetd
sudo systemctl start xinetd# 验证telnet服务
sudo systemctl status xinetd
sudo netstat -tlnp | grep :23

提示:

1. 阿里云、腾讯云等需要去网络安全组中新增一条规则,确保 TCP 23 端口允许外部访问。

2. telnet 登录需要用户名和密码,如果你当前的 root (同等权限)账户没有密码或忘记密码,可以使用 passwd 命令重置密码

sudo passwd your_username 

3. 服务设置成功后,请从本地电脑 telnet 到目标 IP(替换下面的 1.2.3.4),按提示输入用户名和密码(密码上屏不显示)

telnet 1.2.3.4 23

 

2.2、升级 OpenSSH

# 创建工作目录
mkdir -p /tmp/openssh_upgrade
cd /tmp/openssh_upgrade# 下载和解压
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz
tar -xzf openssh-9.9p1.tar.gz
cd openssh-9.9p1# 配置
./configure \--prefix=/usr \--sysconfdir=/etc/ssh \--libexecdir=/usr/libexec \--datadir=/usr/share \--mandir=/usr/share/man \--with-pid-dir=/run \--with-systemd \--with-pam \--with-ssl-engine \--with-selinux \--with-kerberos5 \--with-tcp-wrappers \--with-audit=linux \--with-ldns# 编译
make -j$(nproc)# 设置 dpkg-divert 需要将编译安装的文件标记为不被包管理器管理
sudo dpkg-divert --add --rename --divert /usr/sbin/sshd.orig /usr/sbin/sshd 2>/dev/null || true
sudo dpkg-divert --add --rename --divert /usr/bin/ssh.orig /usr/bin/ssh 2>/dev/null || true# 停止SSH服务
sudo systemctl stop ssh# 安装新版本(只执行一次)
sudo make install# 检查配置和启动
sudo /usr/sbin/sshd -t
sudo systemctl start ssh# 验证
/usr/sbin/sshd -V
sudo systemctl status ssh --no-pager

 

2.3、关闭 telnet 服务(可选)

# 停止并禁用xinetd服务
sudo systemctl stop xinetd
sudo systemctl disable xinetd# 检查23端口
sudo netstat -tlnp | grep :23

 

3、禁用 SSH DHE 加密

sudo tee /etc/ssh/sshd_config.d/99-cve-2002-20001-fix.conf > /dev/null <<'EOF'
# 修复CVE-2002-20001: 禁用DHE密钥交换
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512
HostKeyAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
PubkeyAcceptedAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
EOF# 验证配置是否正确
sudo /usr/sbin/sshd -t# 重启 ssh 服务
sudo systemctl restart ssh# 验证 DHE 算法是否已移除
sudo sshd -T | grep kexalgorithms

 

4、禁用 DNS 递归查询

sudo cp /etc/systemd/resolved.conf /etc/systemd/resolved.conf.backupsudo tee /etc/systemd/resolved.conf > /dev/null <<EOF
[Resolve]
DNS=8.8.8.8 1.1.1.1
Domains=~.
DNSSEC=no
DNSOverTLS=no
MulticastDNS=no
LLMNR=no
Cache=yes
DNSStubListener=no
EOFsudo systemctl restart systemd-resolved
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf# 确认53端口不再监听
sudo ss -ulnp | grep :53

# 确认DNS解析正常 nslookup google.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript学习笔记(1)

JavaScript学习笔记(1)引用外部文件中的js文件:<script src="Path"></script> 和html文件相同,路径从index.html所在的根目录起。 输出window.alert() 弹出警告框,警告框的样式由浏览器决定…

多个 root 用户记录,而且有些记录的密码是空的,导致认证混乱。

多个 root 用户记录,而且有些记录的密码是空的,导致认证混乱。 留言:之前再讲mysql时候,经常有人可以远程登录的时候,结果发现没办法本地登录了,具体体现方式是这样的(看问题体现):现在我可以明确的告诉你们,是…

Min-Max 容斥小记

Min-Max 容斥小记 Min-Max 容斥 对于集合 \(S\),定义 \(\max(S)=\max_{x\in S} x\),同理可以定义 \(\min(S)\)。Min-Max 容斥给出了以下结论: \[\max(S)=\sum _{T\subseteq S} (-1)^{|T|-1}\min(T) \]对 \(\min\) 也…

【POJ1737】Connected Graph - Harvey

题意 求有标号联通无向图的个数。 思路 不妨设 \(f_{n}\) 表示有 \(n\) 个点时有标号联通无向图的个数。 考虑用总情况减去不连通情况。 总情况 总情况显然是 \(2^{\binom{n}{2}}\)(每两个点的边选或不选)。 不连通 …

详细介绍:VirtualBox 免费轻量的全能虚拟机,跨平台系统随心装

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AI智能体开发实战:从提示工程转向上下文工程的完整指南

还记得去年各大公司给提示工程师开出30万美元年薪的疯狂时期吗?现在这些招聘信息基本销声匿迹了。从技术角度看,提示工程确实有些"投机取巧"的意味——本质上就是让人们相信自己在做"工程"工作的…

解码C语言九条语句

选择结构 if 一、基本语法 if (条件表达式) { // 条件为真时执行的代码块 } else { // 条件为假时执行的代码块(可选) }二、条件表达式的本质条件表达式可以是任何返回整型值的表达式:0 表示假(false)。 非0 表示…

django登录注册案例(上) - 详解

django登录注册案例(上) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

实用指南:C++ 类型衰变(Type Decay)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

从C++开始的编程生活(10)——string类核心语法和auto自动推导类型

从C++开始的编程生活(10)——string类核心语法和auto自动推导类型pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

深入解析:Python的输出缓冲区机制

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

某交互题选讲的补题记录

CF750F New Year and Finding Roots 考虑第一步只能随机找点,找完点之后除非找到叶子或者根,不然完全等于啥都不知道。 于是找叶子节点,从这个点的两个邻边往下一直走一定能走到叶子,那么此时这条链的中点的父亲就…

openwrt ipv6 NAT6配置

在诸如校园网或者其他需要认证的网络条件下,由于实名制上网的要求,通常不支持DHCP6-PD,因此要使用IPV6需要使用NAT6目前最新版本的官方openwrt(23.05)已经自动支持NAT6了(firewall.xxx.masq6),因此,如果需要开启…

奶龙抽象语录

奶龙の无上恩情!!!开坑于 $ 2025-9-15 $ 最后更新于 $ 2025-9-17 $上课 班会 我们为什么要规范普通话,不就跟当年秦始皇车同文,书同轨一样吗? —— 25-9-16 其他 我们班五十几号人,我也不要求别的,声音比\(11\…

解题报告-P11670 [USACO25JAN] Cow Checkups S

P11670 [USACO25JAN] Cow Checkups S 题目描述 Farmer John 的 \(N\)(\(1 \leq N \leq 5 \cdot 10^5\))头奶牛站成一行,奶牛 \(1\) 在队伍的最前面,奶牛 \(N\) 在队伍的最后面。FJ 的奶牛也有许多不同的品种。他用从 \(1\) 到 \(N\) 的整数来表示每一品种。队伍从前到后第 …

word vba 对 带编号格式的PO单 段落下添加对应的图片

Attribute VB_Name = "APO_PathStaging" Option Explicit Configuration Constants Private Const BASE_FOLDER As String = "\\10.0.0.10\部门共享\PO\" Private Const START_PARA As Long = 582 Private Const PATH_TAG As String = "[IMG] " …

解题报告-P11671 [USACO25JAN] Farmer Johns Favorite Operation S

P11671 [USACO25JAN] Farmer Johns Favorite Operation S 题目描述 又是 Farmer John 的农场上寒冷而无聊的一天。为了打发时间,Farmer John 发明了一种关于在整数数组上进行操作的有趣的休闲活动。 Farmer John 有一…

详细介绍:javascript文本长度检测与自动截取,用于标题长度检测

详细介绍:javascript文本长度检测与自动截取,用于标题长度检测2025-09-17 20:27 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !imp…

解码C语言运算符

算术运算符运算符 描述 示例 结果+ 加法 5 + 3 8- 减法 5 - 3 2* 乘法 5 * 3 15/ 除法 5 / 2 2% 取模 5 % 2 1++ 自增 a++ a+1-- 自减 a-- a-1注意:整数除法会截断小数部分 取模运算只能用于整数类型关系运算符运算符…

完整教程:一篇读懂Pormise!!【前端ES6】

完整教程:一篇读懂Pormise!!【前端ES6】2025-09-17 20:13 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: blo…