
作为站长,最头疼的问题估计就是服务器被黑了,如果频繁被黑,那真的是头疼无比。
云服务器被攻击的手段其实也就那几种,厉害的黑客也不会攻击你,所以只要提防住弱密码攻击、默认配置漏洞攻击、SSH暴力攻击等就可以了。
一、强化SSH登录安全
SSH是服务器的入口,相当于你家的大门,这也是黑客攻击的主要目标,所以我们的安全加固第一步就是要禁用不安全的密码以及不要直接root登录。
创建一个具有sudo权限的普通用户(在禁用root前一定要完成此步,不然你后期咋进入):
# 创建新用户
sudo useradd -m -s /bin/bash your_username
# 设置密码
sudo passwd your_username
# 将用户加入wheel组(CentOS/RHEL)或sudo组(Ubuntu/Debian)
sudo usermod -aG wheel your_username
配置SSH使用密钥认证并禁用危险选项:
# 备份原始配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 编辑配置文件
sudo vim /etc/ssh/sshd_config
在配置文件中修改或添加以下内容:
Port 22222 # 修改默认端口(可选,但推荐)
PermitRootLogin no # 禁止root用户远程登录
PasswordAuthentication no # 禁用密码认证
PubkeyAuthentication yes # 启用公钥认证
AllowUsers your_username # 仅允许指定用户登录
ClientAliveInterval 300 # 自动断开闲置连接
ClientAliveCountMax 2
保存之后,咱就重启SSH服务,就可以让配置开始运行:
sudo systemctl restart sshd
二、部署Fail2ban自动封禁攻击者
Fail2ban相信不少人都知道,可以监控系统日志,并且能自动识别和禁用恶意ip,可以称得上是防止暴力破解的关键工具。
安装Fail2ban:
# CentOS/RHEL/Fedora
sudo dnf install fail2ban
# Ubuntu/Debian
sudo apt update && sudo apt install fail2ban
创建本地配置文件(避免直接修改主配置):
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vim /etc/fail2ban/jail.local
在[sshd]部分进行如下配置:
[sshd]
enabled = true
port = 22222 # 与你修改后的SSH端口一致
filter = sshd
logpath = /var/log/secure # CentOS/RHEL的日志路径,Ubuntu/Debian为 /var/log/auth.log
maxretry = 3 # 允许失败次数
bantime = 86400 # 封禁时长(秒),此处为24小时
findtime = 600 # 在此时间段内(秒)达到maxretry则触发封禁
启动并启用Fail2ban服务:
sudo systemctl enable --now fail2ban
# 查看状态
sudo fail2ban-client status sshd
三、配置Firewalld防火墙
云服务器的端口没必要开放全部,也没必要留着太多,只开放你用的那几个,这样能够减少攻击面。
确保firewalld已启动并开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
开放必需的端口(如修改后的SSH端口、Web服务端口):
# 永久开放自定义SSH端口(例如22222)
sudo firewall-cmd --permanent --add-port=22222/tcp
# 开放HTTP和HTTPS端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 重载防火墙配置使更改生效
sudo firewall-cmd --reload
# 查看已开放的端口和服务
sudo firewall-cmd --list-all
以上步骤做完,加固SSH+部署Fail2ban+配置防火墙,你就没必要太过于担心,你的服务器安全直接大幅度提升。
对于服务器的安全,以预防为主,不然真的等到被黑了,影响用户体验,也影响业务,也影响SEO。
