未授权访问搭建方法

极客

一个安全研究者的私下笔记

大家好呀,今天想跟你们聊聊一个挺敏感、但又不得不正视的话题——未授权访问搭建方法,说实话,写这个的时候我犹豫了好久,因为这东西吧,说深了容易被人拿去干坏事,说浅了又显得我在水文章,但后来我想通了:与其让那些脚本小子在网上瞎搜一通被割韭菜,不如我用大白话把原理讲清楚,让真正做安全的人能拿去防。

未授权访问搭建方法

先声明啊,本文纯属技术交流,请勿用于非法用途,你要是拿去搞人家服务器,那跟我没半毛钱关系,警察叔叔找的也是你,懂吧?

啥是未授权访问?别被名词吓到了

说白了,未授权访问搭建方法的核心就一句话:系统本来该让你登录才能看的东西,结果因为配置疏忽,你直接就能摸到,就像你家大门装了锁,但窗户忘了关,风一吹就开了。

我刚开始学安全那会儿,也觉得这词儿高大上,后来自己搭环境一测,好家伙,Redis、MongoDB、Elasticsearch……一堆服务默认监听0.0.0.0还不带密码,你说这是不是离谱?但现实就是这样,很多开发图省事,内网测试完直接扔公网,密码?不存在的。

常见的未授权访问搭建方法(原理篇)

注意啊,我这里讲的是搭建测试环境的方法,不是教你入侵别人,你想练手,自己开虚拟机,爱怎么折腾怎么折腾。

Redis未授权

你装完Redis,默认配置文件里bind 127.0.0.1是被注释掉的,protected-mode也是关的,这时候你只要把端口往公网一丢,别人连上来就能CONFIG SET dir /root/.ssh/,然后写个公钥进去,这未授权访问搭建方法简直不要太经典。

我当年在靶场练的时候,第一次成功写入SSH公钥,激动得差点把键盘拍碎,但转头一想,这要是生产环境,运维老哥怕是要连夜跑路。

MongoDB未授权

MongoDB更绝,老版本默认不开启认证,你装完直接mongo连上去,show dbs一看,好家伙,用户数据全在,这未授权访问搭建方法的搭建过程简单到令人发指——下载、解压、运行,完事。

Elasticsearch未授权

ES的9200端口,默认谁都能访问,你浏览器一开,http://ip:9200/_cat/indices,数据全给你列出来,我见过最离谱的,某公司ES里存着几百万条用户信息,连个basic auth都没加,你说这未授权访问搭建方法,是不是等于把保险柜放马路边?

怎么防?别光顾着搭,忘了修

聊完搭建,咱得说点正事儿,你学会这些未授权访问搭建方法是为了防,不是为了攻。

  • 绑定本地回环:别偷懒,bind 127.0.0.1写上,能省一堆事。
  • 开认证:Redis设密码,MongoDB开auth,ES上X-Pack,麻烦是麻烦,但安全啊。
  • 防火墙限制:只允许特定IP访问,别让0.0.0.0满天飞。
  • 定期扫描:用Nmap或者专门的工具扫自己资产,看看有没有裸奔的服务。

我之前帮朋友看服务器,一扫描,三个未授权服务,他脸都绿了,说“我明明记得设密码了”,结果一看,配置文件改完没重启,你说这气不气人?

最后叨叨几句

未授权访问搭建方法这东西,说难不难,说简单也不简单,关键在于你有没有安全意识,我写这篇,不是让你去搞破坏,是让你知道坑在哪,然后绕过去。

你要是真想学,自己搭个虚拟机,用Docker跑几个服务,慢慢玩,别手贱去扫公网,真的,进去了就是三年起步,不值当。

好了,今天就唠到这儿,如果你觉得有用,记得把这篇未授权访问搭建方法收藏一下,顺便转发给身边做运维的朋友,咱们下期见,拜拜!

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]