1.
准备工作:确认服务器IP与访问需求
首先登录fanbook
日本服务器或控制面板,记录公网IP与内网IP。列出需要允许访问的客户端IP段(比如公司办公网段、代维的固定IP),以及需要对外开放的端口(通常80/443、22等)。建议把这些信息写入清单文件如 /root/allowed_ips.txt,格式每行一个IP或CIDR。
2.
云/宿主层安全组优先设置
若使用云主机(如AWS、GCP、阿里云),先在控制台的安全组/防火墙规则中只放行允许的IP到相应端口,例如在控制台规则里添加:来源=203.0.113.5/32 目标端口=22 协议=TCP。这样可以避免流量在到达实例前就被丢弃。
3.
使用ufw快速白名单(Ubuntu示例)
在服务器上执行:sudo apt update && sudo apt install ufw -y。然后导入允许IP:sudo ufw allow from 203.0.113.5 to any port 22 proto tcp,sudo ufw allow from 203.0.113.0/24 to any port 443 proto tcp。确认后启用:sudo ufw enable;查看:sudo ufw status verbose。
4.
精细控制:iptables规则示例
若需更细致控制,用iptables:sudo iptables -N ALLOW_LIST;将允许IP加入:sudo iptables -A ALLOW_LIST -s 203.0.113.5 -j ACCEPT。针对HTTP/HTTPS:sudo iptables -A INPUT -p tcp --dport 80 -j ALLOW_LIST; sudo iptables -A INPUT -p tcp --dport 80 -j DROP。保存规则:sudo apt install iptables-persistent -y && sudo netfilter-persistent save。
5.
在nginx层限制特定路径或站点IP
编辑站点配置 /etc/nginx/sites-available/fanbook.conf,在server或location中添加:location /admin { allow 203.0.113.5; allow 203.0.113.6; deny all; }。测试配置:sudo nginx -t;重载服务:sudo systemctl reload nginx。
6.
SSH硬化:key认证与来源限制
在 /etc/ssh/sshd_config 中禁用口令登录(PasswordAuthentication no),关闭root登录(PermitRootLogin no),改变默认端口(Port 2222,可选)。结合防火墙添加规则只允许管理IP访问新端口:sudo ufw allow from 203.0.113.5 to any port 2222 proto tcp。重启SSH:sudo systemctl restart sshd。
7.
自动封禁:安装并配置fail2ban
安装:sudo apt install fail2ban -y。创建 /etc/fail2ban/jail.local,示例:[sshd] enabled = true port = 2222 filter = sshd maxretry = 5 bantime = 3600 findtime = 600。启动并查看状态:sudo systemctl enable --now fail2ban;sudo fail2ban-client status sshd。
8.
日志与告警:记录与监控
启用内核日志(iptables LOG),例如:sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPT DROP: " --log-level 4。配置rsyslog或filebeat把日志推到集中日志平台,设置告警阈值(异常访问次数、封禁次数)。
9.
持久化与测试:保存并演练回滚
保存iptables规则(iptables-persistent),备份配置文件(/etc/nginx/、/etc/ssh/、/etc/ufw/),在维护窗口内先模拟允许与拒绝IP的访问,确保不会把自己锁死。制定回滚步骤:在控制台准备对实例的控制台访问或启用应急备份IP。
10.
常见场景操作步骤汇总
实操顺序建议:1) 在云端安全组白名单IP;2) 在服务器启用ufw并只放行云端未覆盖的端口;3) 在nginx做应用层限制;4) 强化SSH并启用fail2ban;5) 保存规则并测试。
11.
问:如果误封了自己,如何恢复访问?
12.
答:
先在云控制台通过控制台终端或重置网络策略回滚安全组,或者使用云提供的紧急访问密钥登录。若有控制台shell,删除或注释掉新加的iptables/ufw规则并重启服务。平时应准备系统备份与应急账号。
13.
问:如何应对分布式攻击(DDoS)?
14.
答:
DDoS需上游流量清洗(使用CDN/WAF,如Cloudflare、阿里云DDoS防护),在服务器侧配合限速(nginx limit_conn/limit_req)、增加弹性扩容与黑洞路由策略,并及时与运营商联系。
15.
问:是否需要针对fanbook做地域封禁?
16.
答:
如果业务仅面向特定国家,可在WAF或nginx使用GeoIP模块封禁其他国家的流量,但需注意误判和CDN节点地址,建议先在WAF层测试再下发到源站。
来源:安全角度看fanbook日本服务器ip的访问控制设置