1.
环境准备与清点
步骤:a) 列出所有站群服务器IP、操作系统版本与角色(Web、DB、缓存)。
b) 记录管理入口(SSH端口、控制面板)、应急联系人和备份策略。
c) 在测试环境复现生产拓扑,先在测试机器验证所有变更再推生产。
2.
基础系统更新与包管理
步骤:a) 使用apt/yum执行sudo apt update && sudo apt full-upgrade 或 sudo yum update -y。
b) 安装必备安全工具:ufw/iptables/nftables、fail2ban、auditd、AIDE、rsync。
c) 配置 unattended-upgrades(Debian/Ubuntu)或 yum-cron,设置自动安全更新并记录变更。
3.
SSH安全加固
步骤:a) 修改 /etc/ssh/sshd_config:PermitRootLogin no,PasswordAuthentication no,UsePAM yes,PermitEmptyPasswords no。
b) 改变默认端口(例如从22改为2222),配置AllowUsers或Match Address限制登录用户和来源。
c) 部署公钥认证(authorized_keys),配置ssh-agent与key passphrase,禁用弱算法(KexAlgorithms、Ciphers)。重启sshd并通过另一个会话验证。
4.
防火墙基础与策略设计
步骤:a) 规划最小权限原则:只开放必需端口(HTTP/HTTPS、SSH特定端口及内部DB端口仅内网可达)。
b) 选择防火墙工具:简单建议使用ufw;复杂场景用iptables或nftables并写入脚本持久化(iptables-save /etc/iptables/rules.v4)。
c) 编写白名单策略,优先允许管理IP、CDN与监控节点,默认DROP/REJECT其它入站流量。
5.
iptables/nftables 实战规则
步骤(iptables示例):a) 清理规则:iptables -F && iptables -X。
b) 默认策略:iptables -P INPUT DROP; iptables -P FORWARD DROP; iptables -P OUTPUT ACCEPT。
c) 允许本地回环与已建立连接:iptables -A INPUT -i lo -j ACCEPT; iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT。
d) 开放Web与SSH:iptables -A INPUT -p tcp --dport 80 -j ACCEPT; iptables -A INPUT -p tcp --dport 443 -j ACCEPT; iptables -A INPUT -p tcp --dport 2222 -s 管理IP -j ACCEPT。
e) 限速防爆破:iptables -A INPUT -p tcp --dport 2222 -m connlimit --connlimit-above 3 -j REJECT 或使用 hashlimit 限制每秒连接数。
6.
Fail2Ban 与登录保护
步骤:a) 安装并配置 /etc/fail2ban/jail.local,针对sshd、nginx-auth、apache-auth设置 bantime、findtime、maxretry。
b) 配置邮件报警动作并把被封IP同步到全局黑名单或防火墙脚本中。
c) 对异地登录、连续失败触发自动封禁并记录到SIEM。
7.
Web应用层防护与WAF
步骤:a) 部署ModSecurity或云WAF(如Cloudflare、AWS WAF),启用OWASP核心规则集。
b) 针对站群常见漏洞设置URL白名单、文件上传限制、请求体大小限制与异常速率限制。
c) 在Nginx/Apache层启用限流、IP黑白名单与强化头部(X-Frame-Options、X-Content-Type-Options)。
8.
检测、审计与备份策略
步骤:a) 启用auditd与AIDE做文件完整性检测,定期比对并上报异常。
b) 配置集中化日志(rsyslog/Fluentd -> ELK/Cloud service),并写报警规则(登录异常、流量激增、规则击中)。
c) 自动化备份:每天全量或增量到异地(S3/对象存储),实现版本管理与恢复演练。
9.
运维自动化与应急预案
步骤:a) 将防火墙规则、部署脚本与监控配置纳入配置管理(Ansible/Git)。
b) 编写回退脚本与“哑弹程序”:在推送防火墙规则前自动在若干分钟后回滚,防止误封导致不可达。
c) 定期演练故障恢复、证书更新、密钥轮换与应急联系人流程。
10.
问:在日本站群对公网访问量大时如何避免防火墙误拦?
问:在日本站群对公网访问量大时如何避免防火墙误拦? 答:先在测试环境按流量模型压测,使用分层防护(CDN+WAF+源站防火墙),设置合理的阈值与白名单,启用状态检测(ESTABLISHED)与速率限制代替粗暴的DROP规则,并在部署后监控请求日志 24-48 小时及时调整。
11.
问:怎样保证规则在多台站群服务器上统一生效?
问:怎样保证规则在多台站群服务器上统一生效? 答:使用Ansible/Chef等配置管理工具将iptables/nftables规则、fail2ban与监控配置模板化并托管于Git,所有变更通过CI流程自动下发;同时设置健康检测与告警,发现不同步立即回滚并人工确认。
12.
问:急性被DDOS或入侵时的第一步应对措施是什么?
问:急性被DDOS或入侵时的第一步应对措施是什么? 答:立即启用流量清洗(CDN或云清洗)、临时提高防火墙严格等级(黑洞/限流/封禁攻击源段)、切断非必要入口端口并触发应急通讯,保存快照与日志供取证,随后在隔离环境进行分析与恢复。
来源:日本站群服务器安全加固与防火墙规则实践指南