我已经在Digital Ocean上建立了一个没有域的站点,所以只有IP。
尽管没有告诉任何人其存在或进行广告宣传,但我从fail2ban收到了数百条关于各种IP正在尝试的通知。入侵我的SSL端口或正在寻找PHP文件。

但是他们怎么知道我确实存在?他们从哪里获得IP?

评论

欢迎使用互联网!它们对整个公共IPv4地址空间进行全天候扫描。虽然不会称呼他们为小子。

您会注意到这种情况发生的速度非常快,基本上是在几分钟之内即可完成。情况只会变得更糟,尤其是当您承载高价值目标时。您可以通过安装xtables geoip插件并使用否定匹配项在一定程度上缓解这种情况,只允许特定国家/地区使用(最高流量来自中国,巴西,俄罗斯等)。请注意,尽管如此,所有这些操作都减少了漫游器流量,并减少了CPU必须禁止这些扫描/自动攻击的工作。仅此一点根本无法确保您的安全。

@Carcigenicate你甚至可达吗?也就是说,公共ip,端口转发等?

randint(1,255):randint(1:255):randint(1:255):randint(1:255)最终会击中您。

这就像问,邮递员是如何找到您的房子的,以便他能够将传单扔到您邮箱中,然后又扔到您附近的每个邮箱中。

#1 楼

您无法在互联网上隐藏IP地址。它们不是秘密。

@DeerHunter所说的差不多。扫描整个互联网很简单。如果他们愿意,他们可以针对在线的所有已知数字海洋飞沫。

他们可以在计时器上执行此操作,因此当您离线或在线时,它只会继续尝试,因为那些可能很快就会变得容易受到攻击的高价值目标。

让我给您一个非常粗糙的编码示例。假设您的IP地址是104.16.25.255。让我们获取www.digitalocean.com的IP地址,以便我们轻松检查相关的IP地址。 www.digitalocean.com返回104.16.25.4。让我们扫描所有内容:104.16.25。*


从编程的角度来看,扫描非常容易

假设我们想尝试查找附近所有相关的IP地址。假设程序可以很好地处理数字和模式。这是一个整数递增的示例:

i++;

这会将i的当前值增加1。假设i1开始。在i++之后,您将得到2。看看这个痛苦的简单循环:

for (int i = 1; i < 256; i++)
{
    scanIpAddress("104.16.25." + i);
}


另一种单行bash变体如下: br />您刚刚扫描104.16.25.1,并将i0更改为1。随着整个循环的继续,它将从104.16.25.0变为104.16.25.255。我现在没有时间扫描和查看,但是,这个小块可能不仅仅属于digitalocean。

要在DigitalOcean上查找更多目标,程序员可以进一步更改数字。例如,引入另一个将上述循环嵌套在内部的循环,并添加jscanIpAddress("104.16." + j + "." + i);。这将使他们能够扫描104.16.1-255.1-255

从那里开始,他们可以继续前进并嵌套循环,直到获得整个互联网为止。还有其他更有效的方法来执行此操作,例如masscan,但这是最基本的方法。

同样,也可以在命令行中使用以下一行来完成此操作:

for ip in `seq 1 255`; do scan_thingy_command 192.168.0.$ip --options -oG lol.txt; done



其他方法

上面的示例是一个非常粗糙的示例。他们可能会做更多的事情,他们的代码可能会有所不同,并且他们可能会使用完全不同的方法和/或程序。但是,概念几乎相同。

有问题的程序也有可能只是针对所有人。


那么,如何在线隐藏我的东西?

如果在线,无论您隐藏什么,他们都会找到...或尝试找到它。

但是,根据您的Web服务器,您可以尝试使用诸如.htaccess之类的http访问控件。如果您要使用访问控制-同样,这取决于您的Web服务器-那么您很可能将能够阻止其他人查看/访问页面。

但这不能保护您免受非网站登录尝试的侵害。而且,如果您拒绝他们访问不存在的网页,那么他们现在知道您确实在线,并且可以更轻松地集中他们的攻击!但是,这仍然是一种好习惯。

以下是.htaccess拒绝Apache(2.4及更高版本)的示例:

for oct1 in `seq 1 255`; do for oct2 in `seq 1 255`; do for oct3 in `seq 1 255`; do for oct4 in `seq 1 255`; do scan $oct1.$oct2.$oct3.$oct4 --stuff; done; done; done; done 


在上面的示例中,您拒绝所有人访问该文件夹,除了您的IP地址。请记住,192.168.1.100是本地IP地址。您必须将其替换为公用IP地址。

另外,请记住,如果攻击者在计算机上运行代理/ VPN,他们仍然可以访问这些页面。如果您的攻击者已经可以访问该网站,则他们可以编辑.htaccess或将其删除。没有100%。

如果您还没有准备好进行扫描,那就不要在线放置任何内容。每个人都有一个计划,直到他们在嘴里进行端口扫描。

评论


@TechnikEmpire Buffalo溢出攻击。

–马克·布法罗(Mark Buffalo)
16年2月12日在14:01

@MarkBuffalo我以为布法罗溢出攻击是“布法罗水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛水牛布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗布法罗

– corsiKa
16年2月12日在17:13

@corsiKa请将此主题讨论带到BuffaloOverflow.stackexchange.com。

–David Richerby
16年2月12日在18:30

没有人想到过“ Buffaloverflow”吗?编辑:我现在已经获得了该名称的商标权。付清!

–德鲁·乔丹
16-2-12在19:54



要查找所有Digital Ocean IP,您只需要查看AS编号列表。您想看一下AS14061 Digital Ocean,Inc.。

–́Riking
16年2月12日在22:58

#2 楼

IPv4地址空间仅限于4,294,967,296个地址。[注1]如果有足够的带宽,那么扫描那里的每个IP地址就变得微不足道,尤其是如果您是由成千上万个被黑客入侵的设备组成的僵尸网络的所有者。 />
使用IPv6 [注2],事情变得有些棘手:拥有300,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000个地址,枚举所有地址变得不切实际。但是,仍然可以通过多种方法来发现地址。例如,在最近的一个案例中,物联网搜索引擎Shodan被NTP服务器用来在同步时钟时发现新的IPv6主机。

要点:如果您还没有准备好被调查,您不应该上网。扫描整个IPv4 Internet可以在几天之内完成,并且您的IPv6地址也将被发现–除非您根本不使用它。

注1:其中一些不可用注2:IPv6仅在数字海洋用户启用后可用。

评论


+1表示“如果您还没有准备好被调查,那么您不应该上网”

– Liilienthal
16年2月12日在17:17

@Mason是的,我可能应该澄清一下,您的服务器(或非常大的僵尸网络)需要大量带宽。编辑:将其更改为“天”,并在该帖子中添加了指向示例的链接。

–user2428118
16-2-12在22:00



从技术上讲,您可以租用大型钻机进行当天的扫描。

–升职
16年2月13日在3:52

@MasonWheeler waitaminute,如果您按顺序执行每个请求,则需要200天,这有点麻烦。只需使用后台进程或其他方法,我认为您可以同时进行至少200个请求,而不会大大降低延迟,因此,完整的ipv4扫描将需要1台计算机1天,而不是200天。甚至比现在要好得多,目前尚不确定确切的数字。

–唐·哈奇
16年2月13日在4:53

@MasonWheeler让自己成为具有1Gbit / s连接性的服务器并不难。大多数网络路径的PMTU为1500字节或比其少一点。为了能够使用带宽,这意味着设备必须能够每秒至少处理83333个数据包。 IPv4中大约有37亿个全球单播地址。以这种速度向每个发送一个数据包需要12个小时20分钟。

–卡巴斯德
16年2月13日在11:21

#3 楼


但是他们怎么知道我确实存在?


他们不知道你存在。他们不知道他们在跟您聊天:他们只是知道他们正在与具有特定IP地址的计算机聊天。 IP地址很像电话号码。如果您拨打合法的区号,然后拨打带有正确数字位数的随机数,则您很有可能会与某人讲话,尤其​​是在区号有很多订户的情况下。这并不意味着您“知道该人存在”:只是意味着您发现他们的电话号码已连接。


他们从哪里获得IP的? >

他们无法从任何地方获得它。它只是一个32位数字,实际上并没有那么多。 134.183.96.2那里是IP地址。我通过捣毁键盘(并删除了无效的数字)得到了它。它可能属于某个人,因为几乎所有IP地址都可以。坏人只是系统地扫描地址空间。他们会找到任何IP地址,因为“查找”仅表示“生成足够的有效数字”。

#4 楼


但是他们怎么知道我确实存在?


他们知道该IP地址上存在某些内容,因为他们的扫描程序告诉他们。很可能他们没有来找您,他们只是通过扫描大块或整个互联网偶然发现了该IP地址。

http://blog.erratasec.com/2013/09/masscan-entire-internet-in-3-minutes.html

#5 楼


IP地址是有限的。
IP地址是按块分配的。

,尽管ISP可能会注意到并询问您要拉的内容,但您可以在大约一年的时间内扫描家用PC上的所有IP。一些区块更有可能包含受保护不佳的服务器,特别是分配给托管服务提供商的区块。仅扫描这些块非常便宜,快速且容易,并且成功的可能性也较高。

从单个IP进行扫描是有问题的,因为您的IP将很快被阻塞,因此这些人使用僵尸网络,或等同于商业用途的云服务。您不需要构建自己的僵尸网络。相反,您可以租用僵尸网络。

评论


许多安全专家只是将所有扫描都忽略为“背景噪声”,因此不一定会阻止它们。

–马克·布法罗(Mark Buffalo)
16-2-14在14:14



#6 楼

他们很可能不知道给定的IP特别属于您。但是他们确实知道属于您的托管公司的IP池,并且他们使用该信息来扫描活动主机。您可以使用iptables来提高盒子的安全性,或限制连接和连接类型的数量,但除此之外,您无能为力。互联网是用来共享信息的。如果您不想共享,只需断开盒子(开发盒子)。如果它是开发箱,则最好将其移动到本地,并且不能在LAN之外访问它。

评论


他们几乎肯定不知道该地址块特别属于任何人,因为这些信息几乎肯定对他们没有用。这很可能不是针对性攻击。

–David Richerby
16年11月20日在11:13

攻击始终是针对性的。唯一的问题是关于谁或什么。

–user100251
16年11月21日在11:34

#7 楼

因为扫描开放端口的IP地址是一项容易的任务。
如果连接良好,ZMAP等许多工具(比NMAP快1300倍)
可以在几小时内扫描整个Internet。

如果您想在端口80上扫描整个Internet,则(您的ISP可能会询问):

sudo zmap -p 80 0.0.0.0/0


并且ZMAP不会扫描私有IP地址(因为它们在blacklist.conf文件中)