在部署个人博客或测试环境时,许多开发者习惯于购买一台基础的 Linux 虚拟专用服务器 (VPS)。然而,新开通的 VPS 往往只具备最基础的系统镜像,直接暴露在公网中存在极大的安全隐患。本文将记录我在初始化一台全新 Debian/Ubuntu 服务器时的标准安全加固流程。

一、 禁用 Root 密码登录,启用密钥认证

默认的 Root 账号加密码登录是暴力破解(Brute-force attack)的重灾区。第一步必须是配置 SSH 密钥对登录。

在本地机器生成密钥对后,将公钥写入服务器的 ~/.ssh/authorized_keys 文件中。随后,我们需要修改 SSH 配置文件:

Bash

sudo nano /etc/ssh/sshd_config
找到以下两项并修改为:

Plaintext

PermitRootLogin prohibit-password
PasswordAuthentication no
保存后重启 SSH 服务 sudo systemctl restart ssh。这样,你的服务器就免疫了绝大多数的密码穷举攻击。

二、 更改默认 SSH 端口

虽然密钥登录已经很安全,但默认的 22 端口依然会引来大量的端口扫描脚本,消耗系统日志和带宽资源。
同样在 sshd_config 文件中,找到 #Port 22,取消注释并修改为一个高位端口,例如 Port 45678。

三、 配置基础防火墙 (UFW)

Uncomplicated Firewall (UFW) 是一个非常易用的 iptables 前端配置工具。在暴露 Web 服务之前,我们应该只放行必要的端口。

Bash

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing

放行刚刚修改的 SSH 端口

sudo ufw allow 45678/tcp

放行 HTTP 和 HTTPS 端口

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
总结
完成以上三步后,一台 VPS 的基础安全防线就建立起来了。在此基础上,无论是后续通过命令行部署 Nginx + PHP 环境,还是使用 Docker 容器化部署应用,都能在一个相对稳定安全的环境中运行。

标签: vps

评论已关闭