# nginx
# 高可用参考链接
https://blog.csdn.net/zcxey2911/article/details/105593005/
ps -ef | grep nginx
vim /etc/nginx/nginx.conf /usr/sbin/nginx -t /usr/sbin/nginx -s reload
#重启nginx cd /usr/local/docker/dnmp docker-compose restart s1
# 拦截策略
# 1.ip策略(推荐)
优点: 配置简单, 效果最好 ,防扫描器 ,防CC ,防接口刷子,可以防止90%的互联网攻击 缺点: 可能误伤
limit_req_zone $binary_remote_addr zone=api_limit:20m rate=10r/s; 参数解释: limit_req_zone 定义限流规则 $binary_remote_addr 以客户端IP为维度统计 zone=api_limit 限流规则名称:api_limit 20m 分配20MB内存存储IP统计数据 rate=10r/s 每个IP每秒最多10个请求
启用限流 limit_req zone=api_limit burst=20 nodelay; 参数解释: limit_req 启用限流规则 zone=api_limit 限流规则名称:api_limit burst=20 允许突发20个请求 nodelay 立即处理
#
http {
limit_req_zone $binary_remote_addr zone=api_limit:20m rate=10r/s;
server {
location / {
# 启用限流
limit_req zone=api_limit burst=20 nodelay;
proxy_pass http://yh-api;
}
}
}
# 公司ip限流
# 放在 server 外面
limit_req_zone $binary_remote_addr zone=api_limit:20m rate=20r/s;
server {
listen 80;
server_name api.test.com;
location / {
# 启用限流
limit_req zone=api_limit burst=50 nodelay;
proxy_pass http://yh-api;
}
}
# 2.攻击特征拦截(推荐)
优点:设置简单,CPU消耗极低,无误伤
# 拦截数据库备份、压缩包扫描
location ~* ^/api/(v1|v3)/.*\.(sql|sql\.gz|sql\.bz2|tar|tgz|gz|zip|rar|7z|bak)$ {
access_log off;
return 444;
}
# 拦截常见敏感文件扫描
location ~* (pg_dump|backup|dump|database|db_backup|seeds|tls|env) {
access_log off;
return 444;
}
# 3.连接数限制
优点: 防大量长连接,防连接耗尽 缺点: 对普通扫描器效果一般
limit_conn_zone $binary_remote_addr zone=addr:20m; 参数解释: limit_conn_zone 创建一个连接统计池 $binary_remote_addr 名称:addr zone=addr:20m; 大小:20MB
limit_conn addr 20; 参数解释: limit_conn 启用限流规则 addr 名称:addr 20 大小:20MB
http {
limit_conn_zone $binary_remote_addr zone=addr:20m;
server {
location / {
limit_conn addr 20;
proxy_pass http://yh-api;
}
}
}
# 4.Gateway层限流(推荐)
通过Sentinel做限流
优点: 细粒度, 按接口限流 ,按用户限流 缺点: 请求已经到Gateway了 已经消耗资源
# 5.自动封禁恶意IP(推荐) 未测试
连续访问10次,自动拉黑1小时 优点: 自动化 ,长期有效 缺点: 需要维护规则
安装 Fail2Ban:
yum install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
# 6.黑名单 User-Agent
优点: 简单 ,见效快 缺点: 很容易伪造
if ($http_user_agent ~* "(sqlmap|masscan|zgrab|python)") {
return 444;
}
# 7.阿里云安全组限制
可以限制固定IP,对于互联网扫描器效果一般。