1.
准备与资产梳理
列出服务器信息(IP、OS、服务、开放端口)。
操作:运行 uname -a、cat /etc/os-release、ss -tunlp、iptables -L 来确认版本和端口。
2.
及时升级与补丁
确保系统和关键软件最新。
Debian/Ubuntu:sudo apt update && sudo apt upgrade -y。CentOS:sudo yum update -y。设置自动安全更新:apt install unattended-upgrades 并配置 /etc/apt/apt.conf.d/50unattended-upgrades。
3.
SSH 强化(核心步骤)
编辑 /etc/ssh/sshd_config,做以下修改并重启 sshd(sudo systemctl restart sshd)。
- 禁止密码登录:PasswordAuthentication no
- 禁用 root:PermitRootLogin no
- 改变默认端口(如 2222):Port 2222
- 仅允许指定用户:AllowUsers admin
同时上传公钥到 ~/.ssh/authorized_keys 并设置权限 chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys。
4.
防火墙规则(iptables/ufw)
只开放必要端口并加入限速。
ufw 示例:sudo ufw default deny incoming; sudo ufw allow 80/tcp; sudo ufw allow 443/tcp; sudo ufw allow 2222/tcp; sudo ufw enable。
iptables 限速示例:iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name SSH; iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 6 --rttl --name SSH -j DROP。
5.
安装并配置 fail2ban
阻止暴力破解。
安装:sudo apt install fail2ban。创建 /etc/fail2ban/jail.d/ssh.local:[sshd] enabled = true; port = 2222; maxretry = 5; bantime = 3600。重载:sudo systemctl restart fail2ban。
6.
限制服务与关闭不必要端口
关闭不使用的服务,减少攻击面。
查看:systemctl list-unit-files --type=service | grep enabled。停用:sudo systemctl disable --now service-name。
7.
DDoS 与流量保护
结合 CDN 与 Nginx 限速规则。
使用 Cloudflare 或腾讯云 CDN 将流量先过 CDN。Nginx 配置示例:limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 10; limit_req_zone $binary_remote_addr zone=req:10m rate=5r/s。
8.
入侵检测与审计
安装 AIDE 或 OSSEC 监控文件篡改与告警。
AIDE 安装:sudo apt install aide; sudo aideinit; sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db。配置集中日志与定期检查。
9.
备份与恢复策略
建立自动备份并验证可用性。
使用 rsync/duplicity 到异地或对象存储,写 cron:0 3 * * * /usr/bin/rsync -a /var/www/ s3://bucket/backup/。定期演练恢复流程。
10.
监控、告警与合规
部署 Prometheus + Grafana 或 Zabbix,监控流量、CPU、登录异常并设置告警。
日志集中:安装 Filebeat 发送到 ELK,设置阈值报警邮件或钉钉/Slack 通知。
11.
额外建议:地域策略与访问控制
如果不需全球访问,可限制只有特定国家或管理 IP。
使用 ipset + iptables 或 cloud provider 的安全组做 GeoIP 阻断/白名单(注意误封风险)。
12.
常用检查命令清单
便于日常巡检。
检查登录:lastlog; 检查异常进程:ps aux --sort=-%mem | head; 网络连接:ss -tunapl; fail2ban 状态:sudo fail2ban-client status。
13.
问:为泰国IP的服务器特别需要注意什么?
答:重点关注本地法规与出口带宽、DDoS 风险。建议启用 CDN 保护入口、配置流量限速并监测异常流量峰值;同时确认托管商提供的抗 DDoS 服务与日志保留策略。
14.
问:如果被攻击如何快速响应?
答:立即开启流量丢弃(黑洞)或切换到 CDN 的“I'm under attack”模式,临时封禁来源 IP,收集 pcap/logs 提供给运营商并按照应急预案恢复服务。
15.
问:如何长期维持服务器安全?
答:建立周期性打补丁、漏洞扫描、备份与演练机制;持续监控与告警;并把安全配置写成自动化脚本(Ansible/Chef)以保证一致性。
来源:安全配置 为泰国ip服务器加固防护降低被攻击风险的实用方法