许多黑客入侵并不依赖高超的技术,而是利用“开放端口+弱口令”这种最低门槛的漏洞。例如,一个刚开通的香港云服务器,若保持默认的 22 号端口开放,并且没有更改初始密码,很可能在几分钟内就被扫描到,并遭遇暴力破解。由此可见,防火墙和 SSH 安全配置,是服务器运维必须迈出的第一步。
首先来看防火墙配置。香港云服务器常见的操作系统是 CentOS、Ubuntu 和 Debian,这些系统通常内置防火墙工具。CentOS 7/8 默认使用 firewalld,Ubuntu 和 Debian 多使用 ufw。虽然功能类似,但操作方式稍有不同。以 firewalld 为例,它基于区域和服务的概念来管理规则,常用的命令包括:
# 安装 firewalld
yum install -y firewalld
# 启动并设置开机自启
systemctl start firewalld
systemctl enable firewalld
# 查看状态
firewall-cmd --state
# 开放 22 端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
# 重新加载规则
firewall-cmd --reload
如果使用 Ubuntu,可以启用 ufw:
# 安装并启用
apt install ufw -y
ufw enable
# 允许 SSH 登录
ufw allow 22/tcp
# 查看状态
ufw status
但仅仅开放 SSH 端口是不够的。防火墙的核心思想是“默认拒绝,按需放行”。正确做法是关闭所有不必要的端口,只为业务所需开放。例如 Web 服务只需开放 80 与 443,数据库应仅允许内网访问。可以执行:
# 允许 HTTP/HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 关闭其他端口
firewall-cmd --reload
在 ufw 下则是:
ufw default deny incoming
ufw default allow outgoing
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
完成这些操作后,外部攻击者无法随意探测到数据库、Redis 等敏感端口,大大降低了被入侵的风险。
接下来是 SSH 安全登录配置。很多用户一开始图方便,直接用 root 账户和密码远程登录。这种方式风险极高,因为一旦密码被暴力破解,攻击者就能获得完全控制权。正确的做法是 禁止 root 直接登录,改用普通用户 + SSH 密钥。
首先,新建一个普通用户:
adduser admin
passwd admin
usermod -aG wheel admin # CentOS
usermod -aG sudo admin # Ubuntu/Debian
接着,为该用户配置 SSH 密钥认证。可以在本地生成密钥:
ssh-keygen -t rsa -b 4096
这会生成 id_rsa
和 id_rsa.pub
,其中私钥保存在本地,公钥复制到服务器用户的 ~/.ssh/authorized_keys
文件中。例如:
mkdir -p /home/admin/.ssh
echo "你的公钥内容" >> /home/admin/.ssh/authorized_keys
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh
随后,编辑 /etc/ssh/sshd_config
文件,做以下修改:
Port 22222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
其中,Port
可以改为任意未被占用的端口(例如 22222),这样能降低遭遇自动化暴力破解的概率。PermitRootLogin no
禁止 root 登录,PasswordAuthentication no
禁止密码登录,只允许密钥认证。修改完成后重启服务:
systemctl restart sshd
此时,你只能通过配置好密钥的客户端才能成功登录服务器,即便攻击者掌握了用户名和密码,也无法突破密钥限制。
如果担心误操作导致无法登录,可以提前在云服务商的管理控制台上测试 VNC 控制台功能,以便在 SSH 断开时进行修复。
为了进一步增强 SSH 的防护,可以安装 fail2ban 工具。它能够实时监控 SSH 登录日志,一旦检测到同一 IP 的多次失败尝试,便会自动拉黑该 IP。安装步骤如下:
yum install fail2ban -y # CentOS
apt install fail2ban -y # Ubuntu/Debian
配置文件位于 /etc/fail2ban/jail.local
,常见配置示例:
[sshd]
enabled = true
port = 22222
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 600
这表示同一 IP 连续 5 次登录失败,就会被封禁 10 分钟。fail2ban 的存在,使得暴力破解几乎不可能成功。
除了防火墙和 SSH,运维中还应注意定期更新系统和服务,保持补丁最新,防止因已知漏洞被攻击。还应设置日志监控,例如启用 logwatch 或 journalctl,定期查看异常登录情况。对于业务较重要的用户,可以结合云厂商的安全组功能,实现多层防护。
通过上述步骤,香港云服务器就能具备较强的安全基础:防火墙确保端口最小化暴露,SSH 密钥保证远程登录不可被暴力破解,fail2ban 提供额外防御。即便面对自动化扫描与黑客攻击,服务器也能处于一个相对安全的状态。