上一篇 下一篇 分享链接 返回 返回顶部

IDC互联网安全从零加固:新手必看的服务器安全配置步骤

发布人:tafei 发布时间:2026-06-25 10:55 阅读量:168

IDC互联网安全是每个服务器拥有者都不能忽视的课题。
很多新手买完服务器第一件事就是直接安装环境跑业务,却忽略了最基础的安全配置,导致被扫描、被入侵甚至被挂马。
本文从零开始,带你逐步完成IDC服务器的基础安全加固,让你在几分钟内降低90%以上的常见风险。

一、先搞清楚你需要保护什么

在动手之前,先明确两个核心目标:

  • 减少攻击面:关闭不需要的端口和服务,让黑客找不到入口。
  • 增加入侵成本:通过强密码、密钥认证、失败访问限制等方式让攻击者知难而退。

无论你用的是阿里云、腾讯云还是其他IDC厂商,云平台一般提供安全组功能,这是第一道防线;
系统自带的防火墙是第二道;
额外的入侵防护工具是第三道。
我们按顺序配置。

二、第一步:配置云平台安全组(以默认做法为例)

登录你的IDC管理后台,找到安全组防火墙规则(不同厂商叫法可能不同)。
新建一个安全组,只放行业务必须的端口:

  • 22(SSH):限制来源IP为你自己的固定IP或内网IP段。
  • 80/443(Web服务):放行0.0.0.0/0。
  • 3306(数据库):只允许本机或特定应用服务器IP,绝不开公网。

示例规则

入方向:
协议    端口    来源IP         说明
TCP     22      你的办公IP/32    SSH管理
TCP     80      0.0.0.0/0       HTTP
TCP     443     0.0.0.0/0       HTTPS
所有协议  -1     0.0.0.0/0       拒绝(默认拒绝其他)

配置完成后立即应用,并删除旧的“允许全部端口”规则。

三、第二步:配置系统防火墙(以CentOS/Ubuntu为例)

安全组只防外部流量,系统防火墙能控制本机内部的包过滤。

CentOS 7/8 使用firewalld

# 查看当前状态
systemctl status firewalld
# 启动并设置开机自启
systemctl start firewalld
systemctl enable firewalld
# 放行业务端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重载配置
firewall-cmd --reload
# 验证规则
firewall-cmd --zone=public --list-ports

Ubuntu 20.04 使用ufw

# 启用
ufw enable
# 放行SSH(必须先做,否则你可能会被踢掉)
ufw allow 22/tcp
# 放行Web
ufw allow 80/tcp
ufw allow 443/tcp
# 查看状态
ufw status verbose
避坑:如果你通过SSH管理,一定要先放行22端口再启用ufw,否则会断开连接。建议在配置前先开一个备用会话窗口。

四、第三步:修改SSH默认端口并禁止root登录

黑客大量扫描22端口,换一个不常用的端口能大幅减少爆破尝试。

编辑SSH配置文件 /etc/ssh/sshd_config,修改或添加:

Port 1234                  # 将22改为你自定的端口(范围1024-65535)
PermitRootLogin no         # 禁止root直接SSH登录
PasswordAuthentication no   # 关闭密码认证(改用密钥更安全)

注意:关闭密码认证前,务必先配置好SSH密钥登录
生成密钥对并将公钥上传到服务器,确认能正常登录后再执行上述操作。

重启SSH服务:

systemctl restart sshd

同时别忘了在云平台安全组中放行新端口。

五、第四步:安装入侵防护工具Fail2ban

Fail2ban能监控日志,对连续失败尝试的IP进行临时封禁。

安装(CentOS/Ubuntu通用)

# CentOS
yum install fail2ban -y
# Ubuntu
apt install fail2ban -y

创建本地配置文件 /etc/fail2ban/jail.local,写入以下基础内容:

[DEFAULT]
bantime = 3600          # 封禁1小时
findtime = 600          # 检测窗口10分钟
maxretry = 3            # 失败3次即封

[sshd]
enabled = true
port = 1234             # 修改为你实际的SSH端口
logpath = /var/log/auth.log

Ubuntu下SSH日志路径为/var/log/auth.log
CentOS下为/var/log/secure,记得根据系统修改。

启动服务:

systemctl start fail2ban
systemctl enable fail2ban

验证:

fail2ban-client status sshd

如果看到Status信息且包含Currently banned,说明运行正常。

六、验证加固效果并持续监控

  1. 端口扫描:在本地使用nmap或在线端口扫描工具,检测公网IP是否只开放了需要的端口(22改为新端口、80、443)。
  2. 模拟爆破:无需实际测试,登录SSH连续输错三次密码,再用fail2ban-client status sshd查看是否有封禁IP。
  3. 检查日志:查看安全日志确认异常连接。
tail -f /var/log/auth.log | grep Failed   # Ubuntu
tail -f /var/log/secure | grep Failed      # CentOS

如果出现大量失败记录,说明你的防护已生效,Fail2ban会在封禁列表里看到这些IP。

常见问题解答

Q:我修改SSH端口后连不上了怎么办?
A:如果还能通过云厂商的VNC控制台进入服务器,可以修改回原端口重启sshd。如果没有VNC,只能通过工单联系技术支持重置。所以一定要先测试新端口能连接再保存配置。

Q:安全组和系统防火墙规则冲突了怎么办?
A:一般先通过安全组放行,再在系统防火墙内放行。若同时设置,流量需要通过两个关卡。建议统一在安全组层面做最严格的限制,系统防火墙作为补充。

Q:Fail2ban误封了我自己的IP怎么办?
A:临时解封命令:fail2ban-client set sshd unbanip 你的IP。然后在jail.local中将你的IP加入白名单:ignoreip = 你的IP

总结

IDC互联网安全并非高深莫测,通过合理配置安全组、系统防火墙、修改SSH默认端口以及部署Fail2ban,普通站长也能在几分钟内将服务器安全性提升到一个较高水准。
完成以上四步后,90%以上的自动扫描和暴力破解都会被挡在门外。
后续你还可以关注定期更新系统补丁、使用密钥登录、部署WAF等进阶措施。
只要养成随手检查配置的习惯,你的服务器就能一直保持健康安全。

目录结构
全文
QQ客服 QQ客服
QQ交流群 QQ交流群
电子邮箱: 277771490@qq.com