VPS服务器安全加固全套方案(Linux为主,通用防入侵)
核心思路:最小权限 + 关闭不必要服务 + 限制登录 + 日志审计 + 定期备份,VPS绝大多数入侵都是弱密码、开放多余端口、漏洞未更新导致。
一、系统基础加固
1. 更新系统与软件包
定期打补丁,修复已知漏洞
# Debian/Ubuntu
apt update && apt upgrade -y
# CentOS/RHEL
yum update -y
建议配置自动安全更新(只更安全补丁,不升级大版本)。
2. 禁用root直接登录(最重要)
黑客爆破首选root账号
- 新建普通用户,给sudo权限
adduser admin
usermod -aG sudo admin
- 编辑ssh配置
/etc/ssh/sshd_config
PermitRootLogin no # 禁止rootssh登录
PasswordAuthentication no # 关闭密码登录(推荐只使用密钥)
ChallengeResponseAuthentication no
- 重启ssh服务
# Debian/Ubuntu
systemctl restart sshd
# CentOS
systemctl restart sshd
3. SSH密钥登录(替代密码,防暴力破解)
本地生成密钥对,把公钥上传VPS,私钥保存在本地电脑,不用复杂密码。
- 本地:
ssh-keygen生成密钥 - 上传公钥:
ssh-copy-id admin@你的IP
开启密钥登录后,关闭密码登录,暴力破解直接失效。
二、防火墙配置(只放行需要端口)
使用ufw(Ubuntu/Debian) 或firewalld(CentOS),默认拒绝所有,只开放业务端口
示例 ufw:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # ssh端口,建议改成非默认端口降低扫描
ufw allow 80/tcp # http
ufw allow 443/tcp # https
ufw enable
ufw status
不要全开端口!不需要的端口一律封禁。
可选:修改SSH默认22端口为其他端口(仅减少自动化扫描,不能替代密钥)
三、防暴力破解(SSH/网站)
- fail2ban:自动拉黑多次密码尝试的IP
# 安装
apt install fail2ban
systemctl enable --now fail2ban
配置:监控sshd,连续失败5次,封禁IP一段时间。
- 限制IP访问(可选):如果你的办公IP固定,防火墙只允许固定IP连SSH。
四、账号与权限管控
- 清理无用账号:删除不用的用户,禁止空密码账号
cat /etc/passwd 查看所有用户
userdel 用户名
- sudo最小权限:不要给普通用户完整sudo,只分配需要执行的命令
- 禁止空密码:
passwd -l锁定闲置账号 - 检查定时任务(黑客经常留后门crontab)
crontab -l
ls /etc/cron.*
五、关闭无用服务与端口
# 查看监听端口,找出不必要对外开放的服务
ss -tulnp
- 关闭不需要:FTP、Telnet、rpc、samba等高危老旧服务
- 数据库(MySQL/PostgreSQL)禁止监听0.0.0.0,只监听127.0.0.1,需要外部连接用ssh隧道或白名单IP
❌ 高危错误:数据库直接对公网开放
六、Web服务安全(如果跑网站/PHP/程序)
- Nginx/Apache:关闭版本号泄露,隐藏服务信息
- PHP:禁用危险函数
system,exec,passthru,shell_exec - 网站程序:及时更新源码(WordPress、各类CMS),这是WebShell入侵重灾区
- 目录权限:网站目录不要给777权限;上传目录禁止执行php
- 安装WAF:modsecurity、Nginx WAF,拦截SQL注入、XSS、上传木马
七、恶意文件、后门检测
- 安装rootkit查杀工具
apt install rkhunter chkrootkit
rkhunter --check
chkrootkit
- 定期检查异常进程:
top
ps aux
netstat -antp
陌生高占用进程、不明监听端口重点排查。
八、日志与监控
- 查看SSH登录日志:
/var/log/auth.log(Debian)/var/log/secure(CentOS) - 监控异常登录:多次失败登录、陌生IP登录告警
- 开启审计auditd,记录文件修改、系统调用
九、备份!安全最后一道防线
- 业务数据定时异地备份(不要备份在同一台VPS,服务器被黑会连带删除)
- 备份后测试恢复,只备份不验证等于没有备份
- 数据库定时导出,压缩加密存放
十、其他强化建议
- 不要在VPS上随意执行网上陌生脚本、curl | bash 这种高危命令
- 限制文件最大上传,限制进程资源,防止挖矿木马
- 设置主机时间同步
chrony,日志时间准确 - 禁止使用弱密码,即使临时账号也要高强度密码
- 关闭IPv6(如果业务不用)减少攻击面
- 购买云厂商基础安全:DDoS防护,按需开启
Windows VPS简要加固(如果你用Windows)
- 关闭远程桌面默认3389端口,白名单IP访问
- 禁用管理员账户直接远程登录,新建管理员账号
- 开启系统防火墙,只放行必要端口
- 开启Windows Defender,定期全盘扫描
- 安装系统补丁,禁止简单密码,开启账户锁定策略
- 关闭不必要服务,禁用IIS多余组件
安全自查清单(做完逐项核对)
root不能ssh登录
SSH使用密钥登录,关闭密码认证
防火墙默认拒绝,端口最小开放
安装fail2ban防爆破
数据库不对外网开放
系统持续更新安全补丁
网站程序和插件最新版本
无闲置账号、无用服务
未经允许不得转载:87VPS » VPS 服务器安全加固方法,防止被入侵

微信关注,获取更多