ubuntu 系统安全加固最全面有效的方法,亲测使用

结合本站腾讯云轻量 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

做完这个

  1. WordPress 不再弹出 FTP 窗口
  2. 网站无法被上传 webshell 木马
  3. 文件无法被恶意篡改

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 专属安全加固

  1. 后台修改默认管理员用户名(默认 admin 极易被爆破)
  2. wp-config.php 强制直写,关闭 FTP 请求

define('FS_METHOD', 'direct');
  1. 安装安全插件:Wordfence (免费版足够,防火墙 + 防木马 + 防爆破)
  2. 不要随意安装陌生第三方主题、插件(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

十三、安全等级评定

做完上面全套:

  1. SSH 爆破完全无效(密钥登录 + 改端口 + fail2ban 拉黑)
  2. 网站目录无法被上传木马(严格权限 + PHP 危险函数禁用)
  3. 不再泄露服务器版本、路径信息(Nginx 隐藏头)
  4. 系统漏洞自动修补(自动安全更新)
  5. 彻底解决 FTP 弹窗、权限报错
  6. 抵御常规 CC、扫描、爬虫、DDOS 基础攻击

对于个人搭建网站、自用云服务器,这套已经属于企业级安全标准,完全足够使用,不会出现被黑、挖矿、挂马、篡改网站的问题。

将本页面加入收藏夹

      如果觉得本文对您有用。建议按下 Ctrl+D (Windows) 或 Cmd+D (Mac) 收藏本页,以便在下次需要时快速查阅解决方案。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress