50% 折扣 所有计划,时间有限。开始于 $2.48/mo
安全

安全的 Linux vps

帕尼安 R. 7 分钟阅读 更新于 2026 年 2 月 15 日

在数字时代,保护您的 Linux 虚拟专用服务器 (VPS)
对于保护您的数据和基础设施至关重要。这
综合指南探讨了保护您的 Linux VPS 免受侵害的方法
网络威胁。

保留您的系统
已更新

确保 Linux VPS 安全的最重要方面之一是
确保您的系统是最新的。过时的软件可能会
包含恶意行为者可以利用的漏洞。以下是如何操作
这样做:

使用包管理器

大多数 Linux 发行版都提供包管理器。例如,如果
如果您使用的是基于 Debian 的系统,您可以运行以下命令
更新和升级软件包:

sudo apt update
sudo apt upgrade

如果您使用的是 CentOS 系统,请使用 yum:

sudo yum update

设置自动
更新

设置自动更新并启用无人值守升级
基于 Debian 的系统:

在基于 Debian 的系统(例如 Ubuntu)上,您可以使用
无人值守升级包可自动执行更新过程。

  1. 安装无人值守升级:
sudo apt install unattended-upgrades
  1. 配置自动更新设置。编辑配置
    文件:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
  1. 启用安全相关软件包的自动更新:
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
    "${distro_id}:${distro_codename}-updates";
    "${distro_id}:${distro_codename}-proposed";
    "${distro_id}:${distro_codename}-backports";
};
  1. 启用并启动无人值守升级服务:
sudo dpkg-reconfigure -plow unattended-upgrades

该命令将提示您确认更改。选择“是”即可
启用自动更新。

打开 yum-cron 设置自动更新
CentOS:

在 CentOS 上,您可以使用 yum-cron 进行自动更新:

  1. 安装 yum-cron:
sudo yum install yum-cron
  1. 启动并启用 yum-cron 服务:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

使用
用于安全身份验证的强密码和 SSH 密钥

保护您的 Linux VPS 涉及使用强身份验证方法。
无论您是从 Linux 还是 Windows 客户端进行连接,以下是如何
有效使用强密码和 SSH 密钥:

使用强
密码

在 VPS 上创建用户帐户时,请确保密码是
复杂,由大写和小写字母、数字和特殊字符组合而成
人物。避免使用容易被猜到的密码。

使用 SSH 密钥
验证

对于 Linux 客户端:

  1. 要在 Linux 客户端上生成 SSH 密钥对,请使用 ssh-keygen
    命令:
ssh-keygen -t rsa -b 2048

默认情况下,公钥将存储在 ~/.ssh/id_rsa.pub 中。

  1. 将您的公钥复制到 VPS:
ssh-copy-id user@your_server_ip
  1. 在 SSH 服务器中的 VPS 上禁用基于密码的 SSH 登录
    配置文件(/etc/ssh/sshd_config):
PasswordAuthentication no

对于 Windows 客户端:

  1. 在 Windows 上,使用 PowerShell 实现类似功能:
ssh-keygen
  1. 使用 PowerShell 将您的公钥复制到 VPS。代替
    IP 地址或 FQDN 与远程服务器的
    地址:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@{IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
  1. 在 SSH 服务器中的 VPS 上禁用基于密码的 SSH 登录
    配置文件(/etc/ssh/sshd_config):
PasswordAuthentication no

实施防火墙

保护您的 Linux VPS 涉及设置防火墙来控制
传入和传出流量。以下是如何实施防火墙
增强安全性:

在 Debian/Ubuntu 上使用 ufw(简单防火墙)或
CentOS 上的防火墙:

  1. 如果尚未安装,请安装防火墙管理工具。

对于 Debian/Ubuntu 上的 ufw:

sudo apt install ufw

对于 CentOS 上的防火墙:

sudo yum install firewalld
  1. 在启用防火墙之前添加允许 SSH 的规则,以防止被攻击
    锁定:

对于 Debian/Ubuntu 上的 ufw:

sudo ufw allow OpenSSH

对于 CentOS 上的防火墙:

sudo firewall-cmd --permanent --add-service=ssh
  1. 启用防火墙并设置默认规则:

对于 Debian/Ubuntu 上的 ufw:

sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing

对于 CentOS 上的防火墙:

sudo systemctl start firewalld
sudo systemctl enable firewalld
  1. 重新加载防火墙以使更改生效。

对于 Debian/Ubuntu 上的 ufw:

sudo ufw reload

对于 CentOS 上的防火墙:

sudo systemctl reload firewalld

禁用根登录

保护您的 Linux VPS 涉及限制 root 访问。方法如下
禁用 root 登录以增强安全性:

  1. 创建新用户:以 root 用户身份登录您的 VPS。然后创建
    具有 sudo 权限的新用户帐户。将 newuser 替换为您的
    所需的用户名:
adduser newuser
usermod -aG sudo newuser
  1. 创建 .ssh 目录、authorized_keys 并设置权限
    新用户:
mkdir -p /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
  1. 确保生成公钥并将其复制到您的
    虚拟专用服务器。

  2. 以新用户身份登录。

  3. 断开与 VPS 的连接(如果您以 root 身份连接)并登录
    返回使用新用户帐户。这确保您可以执行
    使用 sudo 执行管理任务。

  4. 编辑 SSH 配置:

打开 VPS 上的 SSH 服务器配置文件。这个文件是
通常位于 /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

找到显示 PermitRootLogin 的行并将其设置为 no:

PermitRootLogin no

保存文件并退出文本编辑器。

  1. 重新启动 SSH 服务:

进行此更改后,您应该重新启动 SSH 服务
新设置生效:

在 Debian/Ubuntu 上:

sudo systemctl restart ssh

在 CentOS 上:

sudo systemctl restart sshd

强化 SSH
配置

保护您的 Linux VPS 涉及进一步强化 SSH
配置以增加安全性并确保 UFW 规则符合
日期。以下是强化 SSH 设置和更新 UFW 的方法
规则:

  1. 允许 UFW 中的新 SSH 端口:

如果您使用 UFW(简单防火墙),请首先允许新的 SSH
更改默认端口之前的端口:

# Allow the new SSH port (e.g., 2222)
sudo ufw allow 2222/tcp
  1. 从 UFW 规则中删除 OpenSSH:

更改 SSH 端口后,应删除旧的 OpenSSH
UFW 规则中的服务(默认端口 22)确保只有新的
允许 SSH 端口:

# Remove the old OpenSSH service (default port 22)
sudo ufw delete allow OpenSSH
  1. 更改 SSH 端口:

默认情况下,SSH 使用端口 22。更改默认端口可以添加一个
通过让自动化机器人更难发现来增加额外的安全层
你的 SSH 服务器。

打开SSH服务器配置文件:

sudo nano /etc/ssh/sshd_config

找到显示端口 22 的行并将端口号更改为
不同的、未使用的端口,例如 2222:

Port 2222
  1. 启用密钥重新验证:

您可以设置密钥重新验证的时间限制以进一步确保安全
您的 SSH 会话。这意味着如果您离开 SSH 会话
无人看管,一定时间后会自动失效。

在 SSH 服务器配置中添加或修改以下行
文件,然后保存:

ClientAliveInterval 300
ClientAliveCountMax 2
  1. 重新加载 UFW 规则和 SSH 服务:
sudo ufw reload
sudo systemctl restart ssh
  1. 进行必要的更改后,您可以建立新的 SSH
    使用以下命令连接:
ssh -p <new_port> user@your_server_ip

实施 Fail2Ban

保护您的 Linux VPS 包括防止暴力登录
尝试和其他类型的恶意活动。 Fail2Ban 很有用
用于此目的的工具。以下是实现 Fail2Ban 的方法:

  1. 安装 Fail2Ban:

首先更新您的包裹清单,以确保您拥有最新的
可用套餐:

对于基于 Debian 的系统(例如 Ubuntu):

sudo apt update

对于 CentOS:

sudo yum update

安装 Fail2Ban:

对于基于 Debian 的系统:

sudo apt install fail2ban

对于 CentOS:

sudo yum install fail2ban
  1. 配置 Fail2Ban:

Fail2Ban的主要配置文件位于
/etc/fail2ban/jail.conf。您可以创建覆盖
文件于 /etc/fail2ban/jail.local 自定义设置
无需修改默认配置。打开这个文件:

sudo nano /etc/fail2ban/jail.local

添加以下配置,禁止IP地址10分钟
(600 秒)六次登录尝试失败后。调整参数为
需要:

[sshd]
enabled = true
maxretry = 6
findtime = 600
bantime = 600

保存文件并退出文本编辑器。

  1. 启动并启用 Fail2Ban:

启动 Fail2Ban 并使其在引导时启动:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
  1. 检查 Fail2Ban 状态:

您可以检查 Fail2Ban 的状态以确保其正常工作
预期的:

sudo fail2ban-client status

您应该看到它正在监视 SSH 服务。

这里讨论的 6 种基本方法提供了强大的防御
针对潜在的漏洞。通过保持系统更新,
采用强身份验证、配置防火墙、强化 SSH、
并实施 Fail2Ban,您可以强化您的 VPS 并维持和平
在这个永远互联的世界中思考。如果您有任何疑问,请不要
犹豫是否联系我们的支持团队 提交一个
.

分享

需要其他帮助吗?

平均响应时间不到 1 小时。真正的人类,而不是机器人。