Ubuntu 服务器安全加固完全指南:从小白到入门

本文适合 Linux 新手,手把手教你完成服务器安全加固。每个步骤都有详细说明,包括命令、作用和预期结果。

写在前面

如果你刚买了一台云服务器,装上了宝塔面板或者其他管理工具,可能会收到一些安全警告。这些警告看起来很专业,但其实都是在提醒你:你的服务器有安全漏洞,需要修复

本文会带你一步步解决这些问题。不需要深厚的 Linux 基础,只要会复制粘贴命令就行。

重要提醒

  • 修改配置前一定要备份
  • 不要关闭当前 SSH 窗口,先开新窗口测试
  • 如果出错,可以用备份恢复

目录

  1. 问题一:重复 UID(高危)
  2. 问题二:SSH 安全配置(高危)
    • SSH 超时设置
    • SSH 登录警告
    • 禁用危险选项
  3. 问题三:网络安全参数配置(中危)
    • ICMP 防护
    • 路由和转发防护
    • TCP 防护
  4. 系统安全加固(中危)
    • 禁止空密码 sudo
    • 限制核心转储
    • Shell 超时退出
    • /tmp 目录安全
    • SUID/SGID 文件检查
  5. 总结与建议
  6. 常见问题解答

问题一:重复 UID(高危)

什么是 UID?

UID(User ID)是 Linux 系统中每个用户的唯一标识符。其中 UID 0 是 root 用户的专属 ID,拥有系统最高权限。

为什么重复 UID 0 很危险?

如果有其他用户(比如 apache2)也有 UID 0,那它就等同于 root,可以做任何事情。这就像给了小偷一把你家的钥匙。作者亲身经历服务器被植入了挖矿程序,攻击者就是通过apache2来操作的

重复UID警告示例

检查和修复

步骤 1:检查哪些用户的 UID 为 0

grep ":0:" /etc/passwd

预期结果:正常情况下应该只有一行:

root:x:0:0:root:/root:/bin/bash

如果看到其他用户(如 apache2),说明有问题。


步骤 2:检查是否有进程在使用这个用户

ps aux | grep apache2 | head -n 5

如果没有输出,说明没有进程在使用,可以安全删除。


步骤 3:备份并删除异常用户

# 备份原文件(重要!)
sudo cp /etc/passwd /etc/passwd.backup
sudo cp /etc/shadow /etc/shadow.backup

# 删除 apache2 用户
sudo sed -i '/^apache2:/d' /etc/passwd
sudo sed -i '/^apache2:/d' /etc/shadow

解释

  • sed -i 表示直接修改文件
  • /^apache2:/d 表示删除以 apache2 开头的行

步骤 4:验证修复结果

grep ":0:" /etc/passwd

预期结果:应该只剩下 root 用户。


问题二:SSH 安全配置(高危)

SSH 是你远程登录服务器的通道,如果配置不当,就像给黑客留了一扇敞开的门。

SSH安全警告示例

2.1 SSH 超时设置

为什么要设置超时?

想象这样的场景:你 SSH 登录服务器后去喝咖啡,忘记退出。如果有人接触到你的电脑,就能直接操作你的服务器。设置超时可以自动断开空闲连接。


步骤 1:备份配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

作用:万一改错了,可以用这个备份恢复。


步骤 2:编辑 SSH 配置

sudo nano /etc/ssh/sshd_config

找到以下几行(大约在第 39 和 104 行附近),修改为:

# 原始内容(被注释掉的):
#LoginGraceTime 2m
#ClientAliveInterval 0
#ClientAliveCountMax 3

# 修改为:
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
MaxAuthTries 3

参数说明

参数 含义 实际效果
LoginGraceTime 30 登录过程最多 30 秒 输入密码超过 30 秒自动断开
ClientAliveInterval 300 每 300 秒检查一次客户端 每 5 分钟发送一次"保活"消息
ClientAliveCountMax 2 客户端 2 次不响应就断开 10 分钟无操作自动断开(300×2)
MaxAuthTries 3 密码最多尝试 3 次 防止暴力破解

保存退出(Ctrl+X → Y → Enter)。


步骤 3:测试配置语法

sudo sshd -t

预期结果:如果没有输出,说明配置正确。如果有错误提示,检查刚才的修改。


步骤 4:重启 SSH 服务

sudo systemctl restart sshd

重要:不要关闭当前窗口!先开一个新窗口测试能否正常登录。


步骤 5:验证服务状态

sudo systemctl status sshd

预期结果:应该看到 Active: active (running)


2.2 设置 SSH 登录警告

为什么要设置登录警告?

登录警告有两个作用:

  1. 法律保护:明确告知这是私人系统,未授权访问违法
  2. 威慑作用:让潜在攻击者知道他们的行为会被记录

步骤 1:创建警告文件

sudo nano /etc/ssh/sshd_banner

粘贴以下内容(可根据需要修改):

***************************************************************************
                            警告 / WARNING
***************************************************************************
本系统仅供授权用户使用。未经授权的访问或使用将被记录并可能受到法律追究。
继续登录即表示您同意接受监控。

This system is for authorized users only. Unauthorized access or use
will be logged and may result in legal action. By continuing to log in,
you agree to be monitored.
***************************************************************************

保存退出。


步骤 2:配置 SSH 使用这个警告文件

sudo nano /etc/ssh/sshd_config

找到 #Banner none 这一行,修改为:

Banner /etc/ssh/sshd_banner

注意:如果文件中有多个 Banner 配置,删除或注释掉其他的,只保留这一行。


2.3 禁用危险选项

在同一个 sshd_config 文件中,找到 #PermitUserEnvironment,修改为:

PermitUserEnvironment no

作用:防止用户通过 SSH 设置环境变量,这可能被利用来提权。

保存退出。


步骤 3:重启 SSH 服务

sudo systemctl restart sshd

步骤 4:验证配置

grep -E "Banner|PermitUserEnvironment" /etc/ssh/sshd_config | grep -v "^#"

预期结果

Banner /etc/ssh/sshd_banner
PermitUserEnvironment no

问题三:网络安全参数配置(中危)

什么是 sysctl?

sysctl 是 Linux 内核参数配置工具,可以控制网络、内存、文件系统等底层行为。我们要修改的是网络安全相关参数。

网络安全警告示例

为什么要配置这些参数?

网络攻击有很多种,比如:

  • Smurf 攻击:攻击者用你的 IP 广播 ping,让大量主机回复淹没你
  • ICMP 重定向攻击:攻击者伪装成路由器,把你的流量导向恶意服务器
  • SYN 洪水攻击:攻击者发送大量 SYN 包但不完成握手,耗尽服务器连接资源

这些参数就是用来防御这些攻击的。


配置步骤

步骤 1:创建安全配置文件

sudo nano /etc/sysctl.d/99-security.conf

步骤 2:添加配置内容

将以下内容复制粘贴到文件中:

#===== ICMP 防护配置 =====

# 忽略广播 ping 请求(防止 Smurf 攻击)
net.ipv4.icmp_echo_ignore_broadcasts = 1

# 拒绝 IPv4 ICMP 重定向消息(防止中间人攻击)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

# 拒绝 IPv6 ICMP 重定向消息
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

# 拒绝安全 ICMP 重定向(即使来自网关也不接受)
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

# 忽略伪造的 ICMP 错误响应
net.ipv4.icmp_ignore_bogus_error_responses = 1

# 记录可疑的数据包到日志
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

#===== 路由和转发防护 =====

# 禁用 IPv6 数据包转发
net.ipv6.conf.all.forwarding = 0

# 禁止发送 IPv4 重定向消息(防止你的服务器被用来攻击别人)
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# 拒绝 IPv4 源路由数据包(防止攻击者指定数据包路径)
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# 拒绝 IPv6 源路由数据包
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0

# 禁用 IPv6 路由器通告(防止伪造的路由器欺骗)
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0

#===== TCP 防护 =====

# 启用 TCP SYN Cookie 保护(防止 SYN 洪水攻击)
net.ipv4.tcp_syncookies = 1

# 启用反向路径过滤(防止 IP 欺骗)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

保存退出。


关于 IPv4 转发的说明

如果你的服务器没有安装 Docker不需要做路由器,可以添加这一行:

net.ipv4.ip_forward = 0

但如果你安装了 Docker,不要添加这一行,否则 Docker 容器无法联网。


步骤 3:应用配置

sudo sysctl -p /etc/sysctl.d/99-security.conf

预期结果:会输出所有配置项和它们的值,表示配置已生效。


配置项详解

为了帮助你理解这些配置的作用,这里列出几个重要的:

配置项 作用 防护什么
icmp_echo_ignore_broadcasts = 1 忽略广播 ping 防止 Smurf 攻击(攻击者用你的 IP 广播 ping,让大量主机回复淹没你)
accept_redirects = 0 拒绝 ICMP 重定向 防止攻击者伪装成路由器,把你的流量导向恶意服务器
tcp_syncookies = 1 启用 SYN Cookie 防止 SYN 洪水攻击(攻击者发送大量 SYN 包但不完成握手,耗尽服务器连接资源)
rp_filter = 1 反向路径过滤 检查数据包的源 IP 是否合法,防止攻击者伪造源 IP 地址
accept_source_route = 0 拒绝源路由包 源路由允许发送者指定数据包路径,攻击者可以用来绕过防火墙

系统安全加固(中危)

4.1 禁止空密码 sudo

为什么要检查这个?

如果系统允许用户不输入密码就能使用 sudo,那就等于给了他们免费的 root 权限。这是非常危险的。


步骤 1:检查当前配置

sudo grep -r "NOPASSWD" /etc/sudoers /etc/sudoers.d/

预期结果

  • 如果没有输出,说明配置安全 ✅
  • 如果有输出,需要根据具体情况处理

特殊情况:如果看到类似这样的输出:

/etc/sudoers.d/90-cloud-init-users:root ALL=(ALL) NOPASSWD:ALL

这是 root 用户的配置,是安全的。因为 root 本身就是最高权限,不需要密码是合理的。

真正的风险是普通用户(如你的登录用户)能无密码 sudo。


步骤 2:如果发现普通用户有 NOPASSWD

sudo visudo

找到包含 NOPASSWD 的行,删除或注释掉(在行首加 #)。

保存退出(Ctrl+X → Y → Enter)。


4.2 限制核心转储

什么是核心转储?

当程序崩溃时,系统会把程序的内存内容保存到一个文件(core dump),方便开发者调试。

为什么要禁用?

核心转储文件可能包含敏感信息

  • 用户密码
  • API 密钥
  • 数据库连接字符串
  • 用户的个人数据

如果攻击者获取到这些文件,就能分析出程序的内存内容,窃取敏感信息。

实际场景

假设你的网站程序崩溃了,生成了一个 core dump 文件。如果这个文件被攻击者下载,他可能从中提取出数据库密码,然后直接访问你的数据库。


配置步骤

步骤 1:限制所有用户的核心转储大小为 0

echo "* hard core 0" | sudo tee -a /etc/security/limits.conf

解释

  • * hard core 0:所有用户(*)的核心转储大小硬限制(hard)为 0
  • tee -a:追加到文件末尾

步骤 2:禁用 SUID 程序的核心转储

echo "fs.suid_dumpable = 0" | sudo tee -a /etc/sysctl.d/99-security.conf
sudo sysctl -p /etc/sysctl.d/99-security.conf

解释

  • SUID 程序权限高,更危险,必须禁止它们生成核心转储
  • sysctl -p 立即应用配置

步骤 3:验证配置

# 查看 limits.conf 中的配置
tail -5 /etc/security/limits.conf

# 查看 sysctl 配置
sysctl fs.suid_dumpable

预期结果

  • limits.conf 末尾应该有 * hard core 0
  • sysctl 应该显示 fs.suid_dumpable = 0

4.3 Shell 无操作超时退出

为什么要设置这个?

想象这样的场景:你 SSH 登录服务器后去开会,忘记退出。如果有人接触到你的电脑(或者你在咖啡厅用公共 WiFi),他们就能直接操作你的服务器。

设置超时可以自动断开空闲会话,减少会话劫持风险。


配置步骤

方法一:使用单行命令(推荐)

echo -e "TMOUT=900\nreadonly TMOUT\nexport TMOUT" | sudo tee /etc/profile.d/timeout.sh > /dev/null && sudo chmod 644 /etc/profile.d/timeout.sh

方法二:手动创建文件

sudo nano /etc/profile.d/timeout.sh

粘贴以下内容:

TMOUT=900
readonly TMOUT
export TMOUT

保存退出,然后设置权限:

sudo chmod 644 /etc/profile.d/timeout.sh

参数说明

参数 含义
TMOUT=900 设置超时时间为 900 秒(15 分钟)
readonly TMOUT 防止用户修改这个变量
export TMOUT 使变量对所有子进程生效

验证配置

cat /etc/profile.d/timeout.sh

预期结果:应该显示刚才添加的三行内容。

注意:这个设置不会影响后台运行的程序(如 screen、tmux、systemd 服务)。


4.4 禁止在 /tmp 中创建 SUID 文件

什么是 SUID?

SUID(Set User ID)是一种特殊权限,允许普通用户以文件所有者的权限执行程序。

例如/usr/bin/passwd 命令有 SUID 权限,普通用户执行时会以 root 权限运行,才能修改密码文件。


为什么要在 /tmp 禁用 SUID?

/tmp 是所有用户都可写的目录,攻击者可能在这里放置恶意的 SUID 程序。如果这个程序属于 root,执行时就能获得 root 权限。这是常见的提权攻击手段。

实际场景

攻击者通过某个漏洞上传了一个恶意程序到 /tmp 目录,并设置了 SUID 权限。当你或其他用户执行这个程序时,它就能以 root 权限运行,窃取数据或植入后门。


配置步骤

步骤 1:检查当前 /tmp 的挂载状态

mount | grep /tmp

如果没有输出,说明 /tmp 没有单独挂载,需要配置。


步骤 2:创建 systemd 配置目录

sudo mkdir -p /etc/systemd/system/tmp.mount.d

步骤 3:创建安全选项配置

echo -e "[Mount]\nOptions=mode=1777,strictatime,nosuid,nodev" | sudo tee /etc/systemd/system/tmp.mount.d/options.conf

步骤 4:创建 tmp.mount 单元文件

sudo nano /etc/systemd/system/tmp.mount

粘贴以下内容:

[Unit]
Description=Temporary Directory /tmp
ConditionPathIsSymbolicLink=!/tmp
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime,nosuid,nodev

[Install]
WantedBy=local-fs.target

保存退出。


步骤 5:重新加载 systemd 配置

sudo systemctl daemon-reload

步骤 6:启用并启动 tmp.mount

sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount

步骤 7:验证挂载状态

mount | grep /tmp

预期结果:应该看到类似这样的输出:

tmpfs on /tmp type tmpfs (rw,nosuid,nodev,...)

选项说明

选项 作用
nosuid 忽略 SUID/SGID 权限(核心安全选项)
nodev 不允许设备文件
mode=1777 所有用户可读写,但只能删除自己的文件

4.5 检查系统中的 SUID/SGID 文件

什么是 SUID/SGID 文件?

  • SUID:程序以文件所有者权限运行(通常是 root)
  • SGID:程序以文件所属组权限运行

合法示例/usr/bin/passwd/usr/bin/sudo 等系统工具需要 SUID 权限才能正常工作。


为什么要定期检查?

攻击者可能在系统中植入恶意的 SUID 程序,用于提权攻击。定期检查可以发现异常文件。


检查步骤

sudo find / -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/null | head -20

参数说明

  • -perm -4000:查找 SUID 文件
  • -perm -2000:查找 SGID 文件
  • 2>/dev/null:忽略错误信息
  • head -20:只显示前 20 个结果

如何判断是否正常?

正常的 SUID 工具(需要 root 权限才能工作):

  • /usr/bin/mount/usr/bin/umount - 挂载/卸载文件系统
  • /usr/bin/passwd/usr/bin/chfn - 修改密码和用户信息
  • /usr/bin/sudo - sudo 命令
  • /usr/lib/openssh/ssh-keysign - SSH 密钥签名

正常的 SGID 工具(需要特定组权限):

  • /usr/bin/crontab - 定时任务管理
  • /usr/sbin/unix_chkpwd - 密码验证

警惕这些情况

  1. 不认识的文件:如果发现不熟悉的 SUID 文件,需要调查
  2. 不在标准路径:如果在 /tmp/home 等目录发现 SUID 文件,高度可疑
  3. 最近修改的文件:如果发现最近才创建的 SUID 文件,需要警惕

建议:每月运行一次这个检查命令,记录结果,对比是否有新增的可疑文件。


总结与建议

配置完成检查清单

完成上述所有配置后,你的服务器安全性已经大幅提升。让我们回顾一下都做了什么:

高危问题(已解决)

  • ✅ 删除了重复的 UID 0 用户
  • ✅ 配置了 SSH 超时机制(10 分钟无操作自动断开)
  • ✅ 设置了 SSH 登录警告
  • ✅ 禁用了 SSH 危险选项

中危问题(已解决)

  • ✅ 配置了网络安全参数(防止 ICMP 攻击、SYN 洪水等)
  • ✅ 禁止了空密码 sudo
  • ✅ 限制了核心转储
  • ✅ 设置了 Shell 超时退出(15 分钟)
  • ✅ 禁止了 /tmp 中的 SUID 文件
  • ✅ 检查了系统中的 SUID/SGID 文件

后续维护建议

1. 定期检查(每月一次)

# 检查 SUID/SGID 文件
sudo find / -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/null > /root/suid_check_$(date +%Y%m%d).txt

# 检查最近修改的系统文件
sudo find /etc /usr/bin /usr/sbin -type f -mtime -30 -ls 2>/dev/null

2. 查看系统日志

# 查看 SSH 登录日志
sudo tail -100 /var/log/auth.log | grep sshd

# 查看可疑的网络数据包日志
sudo dmesg | grep martian

3. 保持系统更新

# 更新软件包列表
sudo apt update

# 升级所有软件包
sudo apt upgrade -y

# 清理旧的软件包
sudo apt autoremove -y

4. 备份重要配置

建议定期备份以下文件:

  • /etc/ssh/sshd_config
  • /etc/sysctl.d/99-security.conf
  • /etc/security/limits.conf
  • /etc/sudoers

安全加固的局限性

虽然我们做了很多配置,但需要明白:

  1. 这不是万能的:安全加固只是降低风险,不能完全消除风险
  2. 应用层安全同样重要:网站代码的漏洞(如 SQL 注入、XSS)需要单独处理
  3. 防火墙很重要:建议配置防火墙(如 ufw 或 iptables),只开放必要的端口
  4. 密码强度:使用强密码或密钥认证,禁用密码登录更安全

进一步提升安全性

如果你想进一步提升安全性,可以考虑:

1. 使用 SSH 密钥认证

# 在本地生成密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"

# 将公钥复制到服务器
ssh-copy-id user@your_server_ip

# 然后在服务器上禁用密码登录
sudo nano /etc/ssh/sshd_config
# 设置:PasswordAuthentication no

2. 安装 Fail2Ban

Fail2Ban 可以自动封禁多次登录失败的 IP:

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

3. 配置防火墙

# 安装 ufw
sudo apt install ufw -y

# 允许 SSH
sudo ufw allow 22/tcp

# 允许 HTTP 和 HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 启用防火墙
sudo ufw enable

4. 定期审计

使用工具如 Lynis 进行安全审计:

sudo apt install lynis -y
sudo lynis audit system

常见问题解答

Q1: 修改配置后无法登录怎么办?

A: 这就是为什么我们强调"不要关闭当前 SSH 窗口"。

解决方法

  1. 在原来的窗口中恢复备份:
sudo cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
sudo systemctl restart sshd
  1. 如果完全无法登录,需要通过云服务商的控制台(VNC)登录,然后恢复配置。

Q2: Docker 容器无法联网了怎么办?

A: 这是因为禁用了 IPv4 转发。

解决方法

# 编辑 sysctl 配置
sudo nano /etc/sysctl.d/99-security.conf

# 删除或注释掉这一行:
# net.ipv4.ip_forward = 0

# 或者改为:
net.ipv4.ip_forward = 1

# 应用配置
sudo sysctl -p /etc/sysctl.d/99-security.conf

# 重启 Docker
sudo systemctl restart docker

Q3: Shell 超时太短,经常被断开怎么办?

A: 可以调整超时时间。

解决方法

sudo nano /etc/profile.d/timeout.sh

# 修改 TMOUT 的值(单位:秒)
# 例如改为 30 分钟:
TMOUT=1800
readonly TMOUT
export TMOUT

Q4: 如何查看哪些 IP 在尝试登录我的服务器?

A: 查看 SSH 登录日志。

# 查看所有登录尝试
sudo grep "Failed password" /var/log/auth.log | tail -20

# 统计失败次数最多的 IP
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10

Q5: 配置完成后,宝塔面板还是显示警告怎么办?

A: 可能需要重启服务器或重新扫描。

解决方法

  1. 在宝塔面板中点击"重新检测"
  2. 如果还是显示警告,尝试重启服务器:
sudo reboot

Q6: 这些配置会影响网站性能吗?

A: 几乎不会。

这些配置主要是:

  • 限制超时时间(不影响正常使用)
  • 禁用不安全的功能(本来就不应该用)
  • 记录可疑行为(日志开销很小)

对网站性能的影响可以忽略不计。


Q7: 我需要定期重复这些配置吗?

A: 不需要。

这些配置是一次性的,配置完成后会一直生效。你只需要:

  • 定期检查 SUID 文件(每月一次)
  • 保持系统更新
  • 查看日志,发现异常及时处理

Q8: 如何验证配置是否真的生效了?

A: 可以用以下命令验证:

# 验证 SSH 配置
grep -E "ClientAliveInterval|ClientAliveCountMax|LoginGraceTime" /etc/ssh/sshd_config | grep -v "^#"

# 验证网络安全参数
sysctl net.ipv4.tcp_syncookies
sysctl net.ipv4.icmp_echo_ignore_broadcasts

# 验证核心转储限制
sysctl fs.suid_dumpable
tail -5 /etc/security/limits.conf

# 验证 Shell 超时
cat /etc/profile.d/timeout.sh

# 验证 /tmp 挂载选项
mount | grep /tmp

Q9: 我的服务器被攻击了,这些配置能防住吗?

A: 这些配置可以降低风险,但不能保证 100% 安全。

如果发现被攻击

  1. 立即断开网络连接
  2. 检查系统日志,找出入侵途径
  3. 修改所有密码
  4. 检查是否有后门程序
  5. 必要时重装系统

预防措施

  • 使用强密码或密钥认证
  • 安装 Fail2Ban
  • 配置防火墙
  • 定期备份数据

Q10: 我可以在生产环境直接使用这些配置吗?

A: 可以,但建议先在测试环境验证。

注意事项

  1. 如果有 Docker,不要禁用 IPv4 转发
  2. 如果有特殊需求(如需要 ICMP),相应调整配置
  3. 修改前做好备份
  4. 分步骤执行,每一步都验证

结语

服务器安全是一个持续的过程,不是一劳永逸的。完成这些配置后,你的服务器已经比默认配置安全很多了。

但记住:

  • 定期更新系统
  • 关注安全公告
  • 定期检查日志
  • 做好数据备份

安全无小事,希望这篇文章能帮到你!


参考资料

最后更新:2026-01-31

如果觉得有帮助,欢迎点赞收藏!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐