Shodan以24/7运行,收集了大约5亿个信息每个月都可以连接设备和服务。
在Shodan上进行简单的搜索就可以发现令人惊叹的内容。互联网上连接了无数交通信号灯,监控摄像头,家庭自动化设备和供暖系统,而且很容易发现。
搜索者们发现水上乐园,加油站,酒店酒柜和火葬场的控制系统。网络安全研究人员甚至已经通过使用Shodan定位了核电厂和加速粒子加速回旋加速器的命令和控制系统。
Shodan能够找到所有这些的能力确实值得一提-而且让Shodan如此恐怖-是因为这些设备中几乎没有内置任何类型的安全性。 [...]
快速搜索“默认密码”会发现无数的打印机,服务器和系统控制设备,它们使用“ admin”作为用户名,使用“ 1234”作为密码。连接的更多系统根本不需要凭据-您只需要一个Web浏览器即可连接到它们。
在我看来,其中一些设备表面上已经受到保护,但实际上并不安全因为密码等在默认设置下是显而易见的和/或未更改的。
我(作为“正常”人员还是专业人士)如何采取措施来防止我的设备被Shodan等爬网程序访问?还有其他方法可以减轻像Shodan这样的发现风险吗?
#1 楼
Shodan引用了公开的机器,它们的工作方式如下:不要这样做。
编辑:类比很重要! Shodan连接到机器并询问其“ banner”,这是一个公开可用的文本,其中可能会简单地说:“输入,请使用此默认密码:1234”。您可能希望通过在门前安装一个巨型乌贼作为防护装置(即防火墙)的简单方便方法来避免人们敲门,但是,实际上,配置非默认密码会更安全。 br />
评论
我无法确定这是否值得+1作为LOTR参考...。
–阿提
2013年4月9日15:43
@Aarthi + 1-ed ..
–user10211
13年4月9日在15:55
如果需要的话,我们还可以添加一些System Shock参考。现在我无法忘记“ L-L-L-Look at your,h-h-hacker ...”。
–vsz
2013年10月10日下午3:19
#2 楼
Shodan项目非常酷,但其核心不过是一个大型honkin nmap数据库。该项目的扫描仪会定期扫描Internet,并将发现的结果发布到数据库中。该数据库就是您要搜索的数据库。由于它们使用的是标准检测例程,因此您在此处进行常规扫描的保护措施应该可以在这里为您提供保护。适当配置防火墙。 -这意味着对于您提供的任何服务,请尽可能限制它们。如果您只有5个市场营销人员使用您的Web应用程序,那么整个世界都无需使用它。找出市场营销使用的地址空间,并仅向他们开放。 (您可能还希望允许使用远程访问解决方案,但这取决于您)。
清理横幅。 -默认情况下,许多横幅会提供大量信息。例如,默认情况下,Apache httpd会告诉您它的版本,运行的操作系统,启用的模块等。这实际上是不必要的。 Apache httpd的配置设置提供的信息较少,但是具体取决于您托管的服务。
让防火墙静默阻止。默认情况下,许多防火墙在丢弃数据包时都会发出“ ICMP目标在管理上被禁止”的信息。这将使扫描程序知道该端口上存在某些东西,只是不允许它碰到它。通过打开隐形,静音或任何模式,连接将在扫描仪的一端超时。对他们而言,这似乎甚至不存在主机。
评论
您已经提到他们的项目具有定期扫描Internet的扫描仪。只是对他们有权扫描互联网上公开连接的设备的权限感到好奇吗?
– Shankar Damodaran
18年1月2日在11:28
#3 楼
对于大多数家庭用户来说,唯一面向互联网的设备是他们的路由器。那么,如何保护路由器免受Shodan之类的损害呢?
首先,更改默认密码。配备IP扫描工具(愤怒的IP扫描仪是我尝试过的工具)的任何人都可以找到您,如果他们输入了相关的IP范围并闯入了标准的
admin/admin
登录。如果他们拥有此访问权限,他们该怎么办?他们可以获得宽带连接的密码(在某些情况下开始窃取您的带宽)
他们可以设置端口转发并转到您的计算机/设备。
他们可以更改您的DNS服务器,并将您的浏览重定向到其恶意网站克隆。除非站点使用SSL,否则您将无法知道这种情况的发生。请注意,网站上的SSL可能不够用-大多数人不会注意到他们是否收到了自己喜欢的https网站的HTTP版本。
它们可能会弄乱您的路由器
要做的另一件事是禁用远程管理(例如Linksys路由器)。这会将路由器的配置页面隐藏在外面,因此即使尝试蛮力攻击,人们也无法进入。 (此外,除非具有端口转发功能,否则您不会显示在IP扫描中)。请注意,在某些情况下,您可能希望启用此选项-在测试内容时,我将其保留了很短的时间。但是通常,将其保留没有什么害处。
检查您的端口转发规则。即使修复了以上两个问题,转发的端口也将转换为与计算机的直接连接。在大多数情况下,您不应有任何转发的端口。如果您是游戏玩家,则可能有一些特定于游戏的端口。 (通常选择端口以免干扰其他服务)确保没有任何内容转发到端口21、22、3389。如果是这样,请确保您的ssh / ftp /远程桌面密码是安全的(或ssh / ftp / rdp被禁用)。可能还有其他一些端口可以轻松接管机器,但我想不出任何OTOH。
在计算机上,检查防火墙。使它尽可能不受限制。
请注意,要专门针对家庭系统停止Shodan,您只需要第1点或第2点。但是,我列出了其余的内容,因为Shodan可以轻松地进行自我改进以进一步分析路由器连接。 >
评论
superevr.com/blog/2013/dont-use-linksys-routers与您的Linksys信息页面特别相关
–马修
13年4月9日在16:47
@Matt,或者至少不要使用库存固件。安全问题与固件有关。
– Zoredache
2013年4月9日23:41
多数家用路由器不是配置为只能通过ssh / telnet / http /从本地子网访问吗?我知道我的几个人甚至都不允许本地子网上的无线用户访问。
–naught101
13年4月10日在1:16
@ naught101:不确定。我在家中的一个(我认为是linksys)具有远程管理功能。 (是的,您还可以在大多数路由器上将管理功能限制为以太网。)
– Manishearth
13年4月10日在1:19
当他们可以登录到您的路由器时,可以将DNS服务器从标准服务器(从您的isp)更改为自己的DNS服务器。您的计算机可能会将路由器用作dns服务器。然后,可以很容易地将恶意软件和病毒提供给您的网络,或者侦听密码,网上银行登录信息和其他内容。您可以在计算机上安装opendns来避免这种情况,但这不能保护路由器。
– SPRBRN
13年4月10日在11:53
#4 楼
因此简短的答案是,如果您要提供公开可用的服务(例如,到通用Internet),则您的服务必须是可访问的,因此shodan之类的搜索引擎可以找到它,而所有shodan都可以通过它来索引公开的信息。您可以做的是,通过从可访问的服务中删除标语,并确保已删除默认凭据之类的东西,将shodan找到的信息最小化(标准的安全性良好做法)。
同样,如果您正在运行的服务不需要整个Internet都可以访问(即,仅某些人需要能够访问它),则使用防火墙限制哪些源IP地址可以访问该服务也是一种有效的保护措施
另外一种理论上的保护(我会说这是一种不好的方法,但是为了完整性起见,我会提到)是,如果您可以找到shodan使用的IP地址范围,您可以尝试专门阻止它。
使shodan显得“恐怖”的风险是,互联网上已经有大量系统采用默认设置,并且很少考虑安全性。不幸的是,在这种状态下将系统放置在Internet上的人们不太可能具有足够的安全意识,无法采取诸如专门阻止shodan之类的操作。可以帮助您抵御去年发生的Internet Census项目之类的事情。这使用了大量的受损系统来扫描整个Internet。该项目的输出以torrent形式提供,我敢打赌,许多研究人员和攻击者目前正在通过数据查找要攻击的事物(他们很可能会发现)
评论
当我读到大普查时,我的第一个念头是“我想知道从该数据集的分析中可以得出多少硕士论文。”
–斯科特包
13年4月10日在0:54
#5 楼
一个可以找到并允许访问不安全的互联网连接设备的搜索引擎。
Shodan的真正问题是,为什么这些设备首先要面向互联网。这样做并不需要更改默认配置信息,但是让您的打印机在世界范围内访问只是愚蠢的事情。
有一种安全措施可用于防止这种情况-VPN for remote工人和防火墙。这是公司资产,因此要求用户实际使用暗示的所有限制连接到公司网络。不这样做意味着您不知道谁在登录网络上的设备。将设备放在防火墙后面,并让用户登录。大多数组织对资产都有某种管理策略,其中应包括管理对它们的登录凭据,尤其是当它们将要在网络上时。应该安全地配置设备。
如果由于制造商引入的某些错误而无法安全地配置设备,则引擎会通过公开它对我们有所帮助-这将使迫使这些公司解决问题。
最后,您可以(并且我认为应该)从服务器隐藏信息,例如Apache版本字符串。这不会成为借口或替换适当的安全配置和勤奋地更新软件,但是也没有理由告诉攻击者有关您系统的所有信息。
#6 楼
如果您有一些要在公共IP上公开但又对其他地方隐藏的服务,则可以使用端口敲除功能将设备从常规端口扫描中隐藏起来,同时仍使它们无需VPN连接即可访问给知道如何敲门的人。我有几个家庭网络摄像头,有时我希望能够从工作场所访问,但是工作中的防火墙不会让我向我的家庭防火墙发起VPN。所以,我“敲门” 3我的家庭防火墙上的端口,它允许从敲除IP到摄像机的连接。
敲除端口对于坚决入侵您的网络的人来说是很弱的安全性,因为敲除很容易被嗅到(敲除很有效一个以明文形式发送的密码),但是即使攻击者知道正在使用端口敲门,也几乎不可能强行强制端口-3个随机端口提供了大约48位的密码熵,因此对于随机黑客而言,这是相当安全的。 VPN会加密所有内容,因此会更加安全。
此外,由于它可以在IP级别工作,所以一旦我从工作IP地址解锁端口后,每个人都可以访问它们,因为它们共享相同的IP地址。 (它们通常是在DMZ中用于检查狗的室外摄像机,因此我不太担心工作中的人看到它们,但我真的不希望全世界看到它们)。
这里有很多有关端口敲门的优缺点的信息:
端口敲门-这是一个好主意吗? [Stackexchange]
一位评论者指出,熵的48位并不多,对于密码之类的东西而言,这是正确的,如果攻击者可以获取哈希,他就可以执行离线攻击并每秒测试数百万或数万亿个组合。但是,由于任何敲响蛮力攻击的端口都受到网络延迟和带宽限制的限制,因此48位仍然是很大的熵。要成功强行破解密码,平均而言,您需要进行N / 2次猜测,在这种情况下,N = 2 ^ 48,因此N / 2 = 2 ^ 47
每次猜测都意味着发送3 syn数据包会敲打3个端口,因此假设SYN数据包为60字节,则需要发送2 ^ 47 * 3 * 60 = 2.5 x 10 ^ 16字节或22 PB。
使用我的15兆位家庭互联网连接,发送这么多数据将花费510年的时间。
如果您可以发送敲门声并立即进行测试,则可以忽略网络延迟。延迟为1毫秒的敲击声(从我的家庭网络到ISP网络的第一跳的典型真实世界ping延迟为13毫秒),将需要2 ^ 47毫秒或4,000年的时间才能实现。
当然,所有这些都假定您可以在端口敲门守护程序忽略您之前或在我发现某些东西占用了我的所有入站带宽之前(我的ISP一定会注意到并会扼杀我)进行无限制的猜测。
它也忽略了一个问题,那就是如果您不知道要检查哪个端口,那么知道是否成功敲门会自行增加熵-我的相机会侦听一些非显而易见的端口,从而再投放16位广告大约是熵。
所以,正如我所说的,爆震是很弱的安全措施,因为它很容易被嗅探,但不容易被蛮力攻击d。
评论
48位的密码熵并不是那么多。毕竟,“ abcdefghij”的价值约为50。
–斯科特包
13年4月9日在20:38
“ abcdefghij”值50或0或其他值,具体取决于上下文。熵是密码生成方式的属性,而不是密码本身的属性。
–托马斯·波宁(Thomas Pornin)
13年4月9日在21:21
#7 楼
只需确保您的设备是安全的,并且在不需要时不要宣传它们的存在。您可以使用Gibson Research的ShieldsUp之类的服务轻松检查网络连接上是否有端口正在响应来自公共Internet的服务。如果有任何不需要的显示,禁用服务并阻止路由器上的端口。如果确实需要该服务,请确保已正确保护该服务,以免轻易滥用它。关于需要响应请求的面向公众的服务将可以通过端口扫描发现的事实,它没有什么可做的。尝试避免这种情况类似于设法避免有人知道他们何时可以简单地沿着街道驶过并查看标牌的地方。
您可以尝试取下标牌(移除标语,更改默认端口等),以尝试使某人更难辨认商店的功能(服务是什么),但您无法真正掩盖一个事实:仓库中有建筑物(商店中的服务)端口)。
评论
提议将吉布森的东西用于嘲笑以外的其他事情,这是一种射击行为。
–托马斯·波宁(Thomas Pornin)
2013年4月9日19:49
ShieldsUp工作得不错,不过我不会碰他的任何其他东西。
– AJ亨德森
2013年4月9日20:07
@AJHenderson ShieldsUp有问题,并且结果不准确。
–森林
18 Mar 16 '18在6:55
@forest不是我不相信您,但是您对此有任何其他信息吗?我从来没有注意到它的任何问题,并且很好奇它有什么问题。您对替代品有什么建议吗?我确实提到过,这只是在线端口扫描程序的一个可能示例。
– AJ亨德森
18 Mar 16 '18在12:03
@AJHenderson我在Sec.SE的几篇文章中都读到了有关它的内容。我自己没有使用过它,因为GRC是一位蛇油推销员。
–森林
18 Mar 17 '18 at 0:26
#8 楼
防止shodan扫描的最佳防御措施与任何其他扫描相同。正确配置软件,HIPS和防火墙
构建服务器可以在容器中运行(例如bsd jails / linux容器/ windows sandboxie)。
确保服务器上没有运行任何易受攻击的软件版本。在一个小窗口内增加尖峰)
消除软件提供的任何服务器横幅广告
最后,将所有滥用IP地址设为空。即shodan和RBL上列出的其他产品。
显而易见的答案是第一个,最新的安全套件和运行最新安全补丁的配置良好的软件。尽管这是如今的普遍规范,但与将系统扔给火炬手一样,没有什么不同。所有安全性(在现实世界和虚拟世界中的所有历史记录)都建立在层上。
如果您将系统构建为在类似环境的沙箱中运行,那么如果出现任何问题,则可以回滚到工作版本在问题发生之前,先分析一下问题出在哪里。这还具有作为敏捷服务器的额外好处,在该服务器中,如果由于某种原因(无论是否出于恶意)引入了错误,那么您可以在短时间内将其推回工作版本,而无需停机。
仅通过限制速率并消除标语和任何其他识别特性,就很难枚举服务器或收集intel的第一步。
最后,RBL的无效路由和使用有助于解决众所周知的恶意IP地址(例如已知的恶意软件/僵尸网络节点,恶意/恶意用户)和“黑客即服务”站点(例如shodan)。
如果您遵守这些规则,那么互联网就不会一个可怕的地方,因为您已经击败了“野蛮人”,甚至没有在您的服务器上设置站点。
评论
我敢肯定,这个问题可能会更好-请自由编辑!“如何阻止Shodan访问我的设备?” <-防止任何人访问它们。 (您真的认为Shodan是那里唯一的爬虫吗?如果有人在没有搜索引擎帮助的情况下偶然发现了您的设备怎么办?)