VPS服务器购买后必做的安全基线配置
文章分类:技术文档 /
创建时间:2026-01-28
很多用户完成[VPS](/cart/goodsList.htm)服务器购买后,往往急于部署业务服务,却忽略基础安全配置。**VPS**(虚拟专用服务器)作为独立的云端计算节点,一旦防护不到位,极易成为黑客暴力破解、漏洞利用的目标,最终引发数据泄露、服务被篡改甚至沦为肉鸡的问题。以下是一套标准化的安全基线配置模板,覆盖核心安全场景,帮你筑牢**VPS**的安全防线。
不少用户买完VPS后,直接用服务商提供的初始密码登录,甚至长期开启密码登录权限。初始凭据容易通过内部泄露、公开扫描等方式被获取,互联网上的暴力破解工具每秒可发起数十次登录请求,密码强度不足时极易被攻破。通过两项配置可彻底规避这类风险:
SSH(安全外壳协议,一种加密的网络传输协议)密钥认证是比密码登录更安全的方式,可通过以下步骤配置:
- 本地终端生成ED25519(高安全性椭圆曲线加密算法)密钥对:
一路回车默认生成即可。
- 将本地公钥(~/.ssh/id_ed25519.pub)内容复制到VPS的`/home/你的账号/.ssh/authorized_keys`文件中,确保文件权限为600,目录权限为700。
- 编辑VPS的SSH配置文件`/etc/ssh/sshd_config`,修改`PasswordAuthentication no`、`PubkeyAuthentication yes`。
- 重启SSH服务使配置生效:
测试本地用密钥登录成功后,再关闭本地密码登录的备用方式。
VPS服务器购买后的第一重防护,就是把登录方式从密码切换到密钥认证,从根源上切断暴力破解的可能。
- 编辑`/etc/ssh/sshd_config`,将默认`Port 22`修改为10000-65535之间的非知名端口,例如`Port 27891`。
- 重启SSH服务后,在系统防火墙中开放该端口,避免无法登录。
- 后续登录需指定端口:
VPS服务器购买后,账号权限管控是容易被忽略的核心安全环节。不少用户长期使用root账号直接操作VPS,或保留系统默认创建的多余账号。root账号拥有系统最高权限,一旦泄露会导致VPS完全失控。多余账号会扩大攻击面,攻击者可通过弱口令账号实现横向渗透。可通过以下方式优化:
- 执行以下命令创建名为ops的普通账号,设置强密码(包含大小写字母、数字、特殊符号,长度不少于12位):
- 为ops账号添加sudo权限,后续操作通过该账号登录,必要时用`sudo`执行高权限命令:
- 编辑`/etc/ssh/sshd_config`,添加`PermitRootLogin no`,禁用root账号直接登录,重启SSH服务生效。
- 执行以下命令查看所有可登录的系统账号:
- 对不需要的账号执行以下命令彻底删除:
对保留但无需登录的账号执行以下命令,禁用其登录权限:
VPS服务器购买后,防火墙是你必须守住的第一道网络防线,绝不能为了图方便直接关闭或开放所有端口。部分用户购买VPS后关闭防火墙,或开放所有端口以方便业务部署,这会让攻击者有更多机会尝试漏洞利用,等于放弃系统的第一道网络防护屏障。以Debian/Ubuntu系统的UFW(简单防火墙,轻量级防火墙工具)为例,配置精细化规则:
- 安装UFW:
- 设置默认拒绝所有入站请求,允许所有出站请求:
- 启用防火墙,执行以下命令确认状态为active:
- 开放SSH自定义端口:
- 开放Web服务端口(若部署网站):
- 若有数据库服务,仅允许业务服务器IP访问(替换为实际业务IP):
VPS服务器购买后,持续的系统与软件漏洞修复,是避免被黑客批量入侵的关键。多数用户部署业务后长期不更新系统和软件,忽略已知漏洞修复。全球漏洞库每月新增数百个系统和软件漏洞,未打补丁的VPS会被黑客利用公开漏洞批量入侵。可通过以下方式建立更新机制:
- Debian/Ubuntu系统:安装自动更新工具,执行命令开启自动安全更新,系统会每日检查并安装安全补丁:
- CentOS系统:安装yum-cron工具,编辑配置文件设置仅更新安全补丁,启动并设置开机自启:
编辑`/etc/yum/yum-cron.conf`设置`update_cmd = security`,再执行:
每周手动执行全量更新命令:Debian/Ubuntu用
CentOS用
修复非安全类但影响系统稳定性的补丁。
不少VPS被入侵后无法及时发现,或入侵发生后无法溯源攻击路径。缺乏日志监控和异常告警机制,攻击行为会被隐藏在海量日志中,直到业务受损才被察觉。可通过以下配置建立检测与告警体系:
Fail2ban(基于日志分析的入侵防护工具)可自动识别并封禁多次尝试暴力破解的IP。
- 安装Fail2ban:
- 复制默认配置文件:
- 编辑`jail.local`,修改[sshd]模块:`enabled = true`、`bantime = 86400`(封禁24小时)、`maxretry = 3`(3次失败登录即封禁)。
- 启动并设置开机自启,可通过命令查看封禁列表:
- 安装邮件告警工具:
- 编写监控脚本`check_login.sh`:
- 添加到crontab(定时任务调度工具),每10分钟执行一次:
当有新的SSH登录时,会收到邮件告警。
以上配置是**VPS**服务器购买后的基础安全基线。后续还需根据业务场景补充数据定期备份、Web应用防火墙等进阶安全措施。安全防护是持续迭代的过程,建议每月复查一次配置有效性,确保**VPS**长期稳定运行。
一、初始登录安全加固
不少用户买完VPS后,直接用服务商提供的初始密码登录,甚至长期开启密码登录权限。初始凭据容易通过内部泄露、公开扫描等方式被获取,互联网上的暴力破解工具每秒可发起数十次登录请求,密码强度不足时极易被攻破。通过两项配置可彻底规避这类风险:
1. 禁用密码登录,改用SSH密钥认证
SSH(安全外壳协议,一种加密的网络传输协议)密钥认证是比密码登录更安全的方式,可通过以下步骤配置:
- 本地终端生成ED25519(高安全性椭圆曲线加密算法)密钥对:
ssh-keygen -t ed25519 -C "vps-ops@your-domain.com"一路回车默认生成即可。
- 将本地公钥(~/.ssh/id_ed25519.pub)内容复制到VPS的`/home/你的账号/.ssh/authorized_keys`文件中,确保文件权限为600,目录权限为700。
- 编辑VPS的SSH配置文件`/etc/ssh/sshd_config`,修改`PasswordAuthentication no`、`PubkeyAuthentication yes`。
- 重启SSH服务使配置生效:
systemctl restart sshd测试本地用密钥登录成功后,再关闭本地密码登录的备用方式。
VPS服务器购买后的第一重防护,就是把登录方式从密码切换到密钥认证,从根源上切断暴力破解的可能。
2. 修改默认SSH端口,降低扫描暴露面
- 编辑`/etc/ssh/sshd_config`,将默认`Port 22`修改为10000-65535之间的非知名端口,例如`Port 27891`。
- 重启SSH服务后,在系统防火墙中开放该端口,避免无法登录。
- 后续登录需指定端口:
ssh -p 27891 你的账号@VPS公网IP二、系统账号权限精细化管控
VPS服务器购买后,账号权限管控是容易被忽略的核心安全环节。不少用户长期使用root账号直接操作VPS,或保留系统默认创建的多余账号。root账号拥有系统最高权限,一旦泄露会导致VPS完全失控。多余账号会扩大攻击面,攻击者可通过弱口令账号实现横向渗透。可通过以下方式优化:
1. 创建普通运维账号并赋予sudo权限
- 执行以下命令创建名为ops的普通账号,设置强密码(包含大小写字母、数字、特殊符号,长度不少于12位):
adduser ops- 为ops账号添加sudo权限,后续操作通过该账号登录,必要时用`sudo`执行高权限命令:
usermod -aG sudo ops- 编辑`/etc/ssh/sshd_config`,添加`PermitRootLogin no`,禁用root账号直接登录,重启SSH服务生效。
2. 清理或禁用多余系统账号
- 执行以下命令查看所有可登录的系统账号:
cat /etc/passwd | grep -v "/sbin/nologin"- 对不需要的账号执行以下命令彻底删除:
userdel -r 账号名对保留但无需登录的账号执行以下命令,禁用其登录权限:
usermod -s /sbin/nologin 账号名三、系统防火墙与端口策略配置
VPS服务器购买后,防火墙是你必须守住的第一道网络防线,绝不能为了图方便直接关闭或开放所有端口。部分用户购买VPS后关闭防火墙,或开放所有端口以方便业务部署,这会让攻击者有更多机会尝试漏洞利用,等于放弃系统的第一道网络防护屏障。以Debian/Ubuntu系统的UFW(简单防火墙,轻量级防火墙工具)为例,配置精细化规则:
1. 启用防火墙并设置默认策略
- 安装UFW:
apt install ufw -y- 设置默认拒绝所有入站请求,允许所有出站请求:
ufw default deny incoming
ufw default allow outgoing- 启用防火墙,执行以下命令确认状态为active:
ufw enable
ufw status2. 仅开放业务必要端口
- 开放SSH自定义端口:
ufw allow 27891/tcp- 开放Web服务端口(若部署网站):
ufw allow 80/tcp
ufw allow 443/tcp- 若有数据库服务,仅允许业务服务器IP访问(替换为实际业务IP):
ufw allow from 192.168.1.100 to any port 3306/tcp四、系统漏洞与软件更新机制
VPS服务器购买后,持续的系统与软件漏洞修复,是避免被黑客批量入侵的关键。多数用户部署业务后长期不更新系统和软件,忽略已知漏洞修复。全球漏洞库每月新增数百个系统和软件漏洞,未打补丁的VPS会被黑客利用公开漏洞批量入侵。可通过以下方式建立更新机制:
1. 配置自动安全更新
- Debian/Ubuntu系统:安装自动更新工具,执行命令开启自动安全更新,系统会每日检查并安装安全补丁:
apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgrades- CentOS系统:安装yum-cron工具,编辑配置文件设置仅更新安全补丁,启动并设置开机自启:
yum install yum-cron -y编辑`/etc/yum/yum-cron.conf`设置`update_cmd = security`,再执行:
systemctl start yum-cron && systemctl enable yum-cron2. 定期全量更新系统软件
每周手动执行全量更新命令:Debian/Ubuntu用
apt update && apt upgrade -yCentOS用
yum update -y修复非安全类但影响系统稳定性的补丁。
五、入侵检测与日志告警配置
不少VPS被入侵后无法及时发现,或入侵发生后无法溯源攻击路径。缺乏日志监控和异常告警机制,攻击行为会被隐藏在海量日志中,直到业务受损才被察觉。可通过以下配置建立检测与告警体系:
1. 部署Fail2ban封禁暴力破解IP
Fail2ban(基于日志分析的入侵防护工具)可自动识别并封禁多次尝试暴力破解的IP。
- 安装Fail2ban:
apt install fail2ban -y- 复制默认配置文件:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local- 编辑`jail.local`,修改[sshd]模块:`enabled = true`、`bantime = 86400`(封禁24小时)、`maxretry = 3`(3次失败登录即封禁)。
- 启动并设置开机自启,可通过命令查看封禁列表:
systemctl start fail2ban && systemctl enable fail2ban
fail2ban-client status sshd2. 设置异常登录告警
- 安装邮件告警工具:
apt install mailx -y- 编写监控脚本`check_login.sh`:
#!/bin/bash
LOG_FILE="/var/log/auth.log"
CHECK_TERM="10 minutes ago"
NEW_LOGINS=$(journalctl --since "$CHECK_TERM" -u sshd | grep "Accepted publickey")
if [ ! -z "$NEW_LOGINS" ]; then
echo "VPS出现新登录记录:\n$NEW_LOGINS" | mailx -s "VPS异常登录提醒" your-email@example.com
fi- 添加到crontab(定时任务调度工具),每10分钟执行一次:
*/10 * * * * /bin/bash /root/check_login.sh当有新的SSH登录时,会收到邮件告警。
以上配置是**VPS**服务器购买后的基础安全基线。后续还需根据业务场景补充数据定期备份、Web应用防火墙等进阶安全措施。安全防护是持续迭代的过程,建议每月复查一次配置有效性,确保**VPS**长期稳定运行。
工信部备案:苏ICP备2025168537号-1