阿里云SLB场景使用Nginx封用户真实IP

摘要

当我们使用slb代理tomcat的时候,如果出现了攻击,我们使用iptables是无法将用户真实IP进行…….





阿里云SLB场景使用Nginx封用户真实IP


阿里云SLB场景使用Nginx封用户真实IP

Nginx

场景: 前端SLB--->nginx---->proxy
image_1bc7do4022b11j7fqq5t3k9e99.png-79.4kB

1.首先需要配置SLB(阿里云负载均衡)让slb记录用户真实IP功能
image_1bc7e8as51be61ts8lcsg212com.png-49.7kB
此处勾选即可

创建SLB-官方文档

2.tomcat开启X-Forwarded-For日志功能
开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中,修改AccessLogValve日志纪录功能为如下内容:

  1. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  2. prefix="localhost_access_log." suffix=".txt"
  3. pattern="%{X-Forwarded-For}i %h %l %u %t %r %s %b" />

提示:修改完重启生效!!

下午被攻击的日志:
image_1bc7fhqo7igb1kqi15071cj1fv313.png-25.1kB

3.Nginx配置(安装不解释了)
在Server标签下添加如下几行

  1. set $allow true;
  2. if ($http_x_forwarded_for ~ "106.121.*.*|106.121.71.120|106.121.77.28|106.121.74.130|218.109.235.254"){
  3. set $allow false;
  4. }
  5. if ($allow = false){
  6. return 404;
  7. }
  8. #提示:IP添加在上面!

小结: 因为无法禁止用户进行访问,我们设置404可以让IP无法进行访问数据库。不然数据库会被查询语句进行刷爆

原文章: Nginx 相关内容 [持续补充2017.3.27更]


  • 2
  • 2,839 views
    A+
发布日期:2017年05月03日  所属分类:NGINX
标签:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

  1. avatar biglinux 1
    这个貌似不是攻击,而是阿里的SLB负载均衡检测,我上次也是看了一下access.log发现最多的ip访问有3万多次,后来询问阿里云才知道是阿里云的SLB检测ip
    • avatar 新闻联播老司机
      不是的,这些IP都是别的ecs,如果是正常的slb探测ip应该是100.109.238.* 这种IP进行探测的