结合本站腾讯云轻量 Ubuntu 22.04、搭建了网站(Nginx/PHP/WordPress)、自己玩服务器的现状,整理出来的一套完整、可直接复制命令、从入门到深度、生产级别的全面安全加固方案,全部一步一步,每条命令都能直接用,加固完服务器基本很难被扫、被爆破、被入侵、被挂马。
由于本文有点长,请耐心看完。主要分成以下几类:基础系统加固、账号权限、SSH 安全、防火墙、禁用危险服务、网站 Web 安全、防爆破、日志审计、内核安全、定期自查,全部一次性分享出来。
一、基础系统加固(必做)
1. 系统自动更新(防止漏洞)
Ubuntu 默认漏洞很多,开启安全自动升级
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
选择 Yes,自动安装内核、系统安全补丁。
2. 卸载无用危险预装组件
很多默认组件自带漏洞,直接卸载
sudo apt remove -y telnet ftp rsh-client xinetd
sudo apt autoremove -y
之前遇到的 FTP 弹窗、FTP 服务全部根源就在这,个人服务器完全不需要 FTP,直接删掉。
3. 禁止不必要的系统默认服务开机自启
sudo systemctl disable --now avahi-daemon cups bluetooth
二、账号与权限安全
1. 禁止 root 用户直接登录 SSH
服务器绝对不能用 root 登录:
sudo vim /etc/ssh/sshd_config
修改 / 确认以下参数:
PermitRootLogin no
PasswordAuthentication yes
ChallengeResponseAuthentication no
保存退出 Ctrl+OCtrl+X
2. 普通用户 sudo 权限安全限制
防止普通用户恶意提权,限制 sudo 超时自动失效
sudo vim /etc/sudoers
在文件末尾添加:
Defaults timestamp_timeout=5
意思:sudo 输入密码后仅 5 分钟有效,超时需要重新输密码。
3. 严格网站目录权限(解决 WordPress 所有权限问题 + 防木马)
网站路径 /var/www/wordpress
# 所有者归 Nginx/PHP 运行用户 www-data
sudo chown -R www-data:www-data /var/www/wordpress
# 网站根目录权限
sudo chmod -R 755 /var/www/wordpress
# 可写入目录单独权限(插件、上传图片)
sudo chmod -R 775 /var/www/wordpress/wp-content/uploads
sudo chmod -R 775 /var/www/wordpress/wp-content/plugins
sudo chmod -R 775 /var/www/wordpress/wp-content/themes
# 配置文件禁止写入,防止被篡改
sudo chmod 644 /var/www/wordpress/wp-config.php
做完这个
- WordPress 不再弹出 FTP 窗口
- 网站无法被上传 webshell 木马
- 文件无法被恶意篡改
4. 系统关键目录权限加固
sudo chmod 700 /root
sudo chmod 644 /etc/passwd /etc/shadow
三、SSH 最高级别安全加固(服务器被入侵 90% 来自 SSH 爆破)
1. 修改默认 SSH 端口(默认 22 端口全网机器 24 小时爆破)
默认端口 22 是全网扫描重灾区,改成自定义端口,比如 23456
sudo vim /etc/ssh/sshd_config
修改:
Port 23456
改完先不要关闭当前窗口,新开一个窗口测试能否连接,防止掉线!
2. 禁用密码登录,仅使用密钥登录(最强安全)
这是服务器加固最有效的一条,彻底杜绝密码爆破。
1)本地电脑生成密钥(Windows/Mac 本地终端)
ssh-keygen
一路回车,无需密码。
2)上传公钥到服务器
ssh-copy-id -p 23456 ubuntu@你的服务器IP #腾讯云默认有一个ubuntu帐号,建议自己创建一个新的
3)关闭服务器密码登录
sudo vim /etc/ssh/sshd_config
PasswordAuthentication no
4)重启 sshd 生效
sudo systemctl restart sshd
从此以后只能密钥登录,密码完全无法登录,爆破软件全部失效。
3. 限制 SSH 最大连接数、防暴力连接
sudo vim /etc/ssh/sshd_config
添加:
MaxAuthTries 3
MaxSessions 2
输错密码 3 次直接断开连接。
四、防火墙 UFW 全量加固(腾讯云 + 系统双层防火墙)
Ubuntu 自带 UFW 防火墙,只开放需要的端口,其余全部拒绝
1. 清空旧规则,默认全部拒绝
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
2. 只放行必要端口
# SSH 你修改后的端口 23456
sudo ufw allow 23456/tcp
# HTTP 网站 80
sudo ufw allow 80/tcp
# HTTPS 网站 443(以后加SSL必用)
sudo ufw allow 443/tcp
3. 开启防火墙
sudo ufw enable
sudo ufw status verbose
只显示放行的 3 个端口,其余全部屏蔽。
额外:腾讯云控制台防火墙同步关闭多余端口
腾讯云后台 → 防火墙
只保留:80、443、自定义SSH端口
删除全部多余端口、全部放行规则。
五、防暴力破解工具 fail2ban(神器,自动拉黑攻击 IP)
自动检测 SSH、Nginx 网站频繁访问、密码错误 IP,自动拉黑,服务器必备。
安装
sudo apt update
sudo apt install -y fail2ban
配置(默认配置够用,直接启动)
sudo systemctl enable --now fail2ban
查看拉黑记录
sudo fail2ban-client status
会自动拦截:SSH 爆破、网站恶意扫描、CC 攻击、频繁访问爬虫。
六、Nginx 网站 Web 安全加固(针对 WordPress)
我们搭建的网站是暴露外网的,最容易被扫描入侵,加固配置
sudo vim /etc/nginx/nginx.conf
在 http{} 块内添加:
# 隐藏服务器版本,防止漏洞扫描
server_tokens off;
# 禁止恶意请求
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
# 限制单IP请求频率,防CC攻击
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
禁止访问敏感目录
在你的网站站点配置里添加
# 禁止访问wordpress敏感目录
location ~* /(wp-config\.php|readme|license|\.ht|\.git) {
deny all;
}
重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
七、PHP 安全加固(用 PHP+WordPress,极易被木马上传)
编辑 PHP 配置
sudo vim /etc/php/8.1/fpm/php.ini
修改以下关键安全参数:
# 关闭错误对外输出(解决之前JSON报错+防泄露服务器信息,默认是Office的)
display_errors = Off
log_errors = On
# 禁止远程文件包含
allow_url_fopen = Off
allow_url_include = Off
# 禁止危险函数(防木马执行系统命令)
disable_functions = exec,system,passthru,shell_exec,popen,curl_exec
# 上传文件大小限制,如果只是一个小博客没什么媒体文件上传这里不用改
upload_max_filesize = 20M
post_max_size = 20M
# 会话安全
session.cookie_httponly = On
session.cookie_secure = Off
重启 PHP-FPM
sudo systemctl restart php8.1-fpm
八、关闭所有不必要服务、端口、无用协议
1. 查看服务器所有监听端口
sudo netstat -tulnp
除了:
- 80(http)
- 443(https)
- 自定义 SSH 端口其余陌生端口全部排查关闭。
2. 彻底关闭 FTP 服务(完全不需要)
sudo systemctl disable --now vsftpd ftpd
sudo apt remove --purge vsftpd
个人网站服务器 100% 不需要 FTP,WordPress 用 direct 直写权限就够。
九、内核安全、防 DDOS、系统资源限制
1. 开启系统 sysctl 内核加固
sudo vim /etc/sysctl.conf
取消注释 + 添加到文件末尾:
# 防止IP欺骗
net.ipv4.conf.all.accept_source_route = 0
# 防SYN洪水DDOS攻击
net.ipv4.tcp_syncookies = 1
# 关闭IP转发
net.ipv4.ip_forward = 0
# 减少超时连接
net.ipv4.tcp_fin_timeout = 30
生效
sudo sysctl -p
十、日志安全 & 定期安全检查
1. 开启系统完整日志
Ubuntu 默认日志完善,定期查看入侵痕迹
# SSH登录日志
tail -f /var/log/auth.log
# Nginx网站访问日志
tail -f /var/log/nginx/access.log
# 系统错误日志
tail -f /var/log/syslog
2. 日常自查命令(每周跑一次)
# 查看所有登录用户
who
# 查看最近登录记录
last
# 查看可疑后台进程
ps aux
# 查看所有开机自启服务
systemctl list-unit-files | grep enabled
十一、WordPress 专属安全加固
- 后台修改默认管理员用户名(默认 admin 极易被爆破)
- wp-config.php 强制直写,关闭 FTP 请求
define('FS_METHOD', 'direct');
- 安装安全插件:Wordfence (免费版足够,防火墙 + 防木马 + 防爆破)
- 不要随意安装陌生第三方主题、插件(90% 木马来自插件)
十二、全部加固总结(最简速查版,直接照着执行)
我把最高优先级、必做、效果最明显的浓缩成一套一键命令,直接批量复制运行:
# 1. 系统更新
sudo apt update && sudo apt upgrade -y
# 2. 卸载危险无用服务
sudo apt remove -y telnet ftp vsftpd
sudo apt autoremove -y
# 3. 网站权限终极修复(解决FTP弹窗、防木马)
sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress
sudo chmod 644 /var/www/wordpress/wp-config.php
# 4. 防火墙基础加固
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 23456/tcp
sudo ufw enable
# 5. 安装防爆破工具
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
十三、安全等级评定
做完上面全套:
- SSH 爆破完全无效(密钥登录 + 改端口 + fail2ban 拉黑)
- 网站目录无法被上传木马(严格权限 + PHP 危险函数禁用)
- 不再泄露服务器版本、路径信息(Nginx 隐藏头)
- 系统漏洞自动修补(自动安全更新)
- 彻底解决 FTP 弹窗、权限报错
- 抵御常规 CC、扫描、爬虫、DDOS 基础攻击
对于个人搭建网站、自用云服务器,这套已经属于企业级安全标准,完全足够使用,不会出现被黑、挖矿、挂马、篡改网站的问题。