nginx配置不当容易产生的安全问题

nginx一般用于做外网代理,配置也比较方便,但是配置不当的时候会产生一些安全问题。其中包括各个大厂也都出现过。

 

intra server ->  proxy -> nginx 

一般正常的流程是这样的

内网的集群或机器不直接连接外部,nginx做个proxy代理透出传递互联网。

 

如果nginx配置不当,或者nignx default_server没有配置或者配置内网,那么小心内网业务将被透传出去。

nginx 的 default_server 指令可以定义默认的 server 去处理一些没有匹配到 server_name 的请求,如果没有显式定义,则会选取第一个定义的 server 作为 default_server

也就是说nginx如果没配置default_server,那么nginx会默认找一个a-z的域名进行匹配的,这个是nginx的默认规则,如配置default_server为内网的业务,那么nginx也会默认使用。

nginx 批量载入配置 conf 时会按 ascii 排序载入,这就会以 server_a.conf server_b.conf server_c.conf 的顺序载入,如果没有声明 default_server 的话,那 server_a 会作为默认的 server 去处理 未绑定域名/ip 的请求

 

之前fofa沙龙中的分享也提到了,比如办公网透传host绑定外网即可漫游的情况。

引用图片:

 

 

参考链接:

http://r3start.net/wp-content/uploads/2019/08/2019080916135087.pdf 议题PPT

https://github.com/baimaohui-net/Hosts_scan host碰撞脚本

https://segmentfault.com/a/1190000015681272 关于nginx default_server问题

posted @ 2019-09-10 16:34  sevck  阅读(2431)  评论(0编辑  收藏  举报