我正在阅读有关加强Linux服务器安全性的文章,在第23点中,文章说:


#23:关闭IPv6

Internet协议版本6(IPv6)提供了TCP / IP协议套件的新Internet层,它代替了Internet协议版本4(IPv4)并提供了许多好处。如果您不使用IPv6 disable
,请:


然后,本文提供了指向不同网站的链接,这些链接告诉您如何禁用IPv6。但是,无论是本文还是任何链接,似乎都没有说明为什么如果不使用IPv6,应该禁用它。

由于本文是关于加强Linux服务器上的安全性的,因此禁用IPv6将如何使服务器成为任何服务器更安全吗?

评论

“如果不使用IPv6,请禁用它” –通常:安装的软件越多,启用的功能越多,系统的受攻击面就越大。因此,不要安装不需要的软件,不要启用不需要的功能。

我猜想,OP引用的许多网站也是过时的。长期以来,与IPv4相比,许多产品中的IPv6安全功能“不足”。一般来说,这不再是正确的。如果您想与某些Internet主机进行通信而不使用某种中间6to4隧道/网关,则今天需要IPv6。此外,许多运营商现在经常通过CGN / LSN运行IPv4,而IPv6却没有。除非您确实有必要,否则今天禁用IPv6可能不是一个好主意。

如果您可以通过IPv6进行足够好的通信以受到远程攻击,那么根据定义,您正在“使用IPv6”。

@vakus实现IPv6的代码与实现IPv4的代码不同。因此,前者中有可能不存在后者中的漏洞。禁用有可能引入额外漏洞的功能会使系统更加安全。或者,将其翻转。禁用后,是否可以增强/降低安全性以启用它?布鲁斯·施耐尔(Bruce Schneier)曾经解释过为什么他的安全性安全设备根据简单的规则排除了bash shell:如果我们不需要某些东西,我们就不希望它被攻击者使用。

当我看到问题时,我的第一个念头是:“为什么还要使用IPv4?”最近几年我连接的每个ISP都有IPv6寻址。我认为,更紧迫的问题是“绝大多数用户甚至不再需要IPv4吗?”

#1 楼

从防火墙的角度来看,重要的是要认识到在系统上同时配置了IPv4和IPv6(如果已启用),但并非总是如此。

根据我的经验,我能够绕过(内部)防火墙。在一种情况下,在Linux机器上配置了iptables,但是没有配置iptables,因为ip6tables暴露了(脆弱的)服务,这些服务在IPv4上不可用。

由于大多数服务都绑定到0.0.0.0和[: :]:[端口](每个接口),这些服务也可以通过IPv6获得。

因此,是的,如果不使用IPv6,请考虑禁用IPv6,这一点很重要。如果您确实使用过它,则通常应该使您或管理员知道(至少在Linux服务器上)需要额外的防火墙配置。

在开始之前,管理员应该意识到这一点。是完全正确的。但是,根据经验,系统管理员中缺乏很多IPv6知识。

评论


请注意,绑定到0.0.0.0并不是侦听IPv6所需要的全部。应用程序必须明确将其设置为使用IPv6套接字。

– multithr3at3d
18年3月20日在23:27

@ multithr3at3d:当然,这取决于平台,即使如此,从内核的角度来看也是如此。许多网络库将完成启用IPv6的工作,而无需应用程序程序员采取明确的行动。

– Ben Voigt
18年3月21日在4:18

ip6tables,而不是iptables6

–user541686
18年3月21日在5:55

@BenVoigt:我相信通常是相反的:绑定到[::]的IPv6(AF_INET6)套接字可以接受IPv4连接,但不能接受。 (如果IPv4套接字接受了IPv6连接,那么操作系统将如何在4字节字段中存储对等方的IPv6地址?)

–user1686
18-3-21在7:35



@grawity:我的意思是,即使应用程序不必要求IPv6支持,该库也可能提供了一个足以容纳AF_ANY地址的字段。

– Ben Voigt
18-3-22的1:31

#2 楼

禁用IPv6没有特别的优势。特别是,IPv6并不比IPv4更容易受到攻击,而是说它更安全(例如:IPv6建议支持IPSec)。

重点是,在强化操作系统的同时,哲学建议删除所有未使用的服务/工具。这样可以更好地控制您的操作系统,提高性能(以通用方式),并降低攻击者利用可能的软件错误或错误配置并获得(部分)对系统的控制/访问的可能性。因此,删除未使用的IPv6只是完成加固的一般建议措施。

评论


就像在其他答案中一样,禁用IPv6的特定优势在于,在配置系统时,要少忘记一点。它不比IPv4更容易受到攻击,但它是另一个必须正确配置的入口点。如果您没有使用它,那么您可能也没有正确配置它,因此在这种情况下禁用它是一个好主意...

–阴影
18-3-21在0:07



+1重申ipv6实际上更安全,这是有道理的,但我怀疑许多人除了ISP之外还需要ipv6

– FreeSoftwareServers
18年3月22日在9:07

除了在独立代码中缺少防火墙规则和漏洞的明显可能性外,还有一个事实是,IPv6在野外进行beta和渗透测试的时间比IPv4少了40年。考虑到IPv4的使用寿命长,几乎可以保证不存在未知问题。 IPv6的未知问题不仅可能而且很可能。

–达蒙
18 Mar 24 '18 at 12:18

#3 楼

该建议很有意义,但是过时了。

IPv6专门设计为非常易于设置和管理,比IPv4容易得多。它具有许多功能,可以使主机和整个网络自动配置或轻松地进行集中配置。在许多情况下,整个网络一进入网络边缘就可能突然获得与Internet的IPv6连接,这可能会使某些人感到惊讶。

从历史上看,该建议旨在保护管理员双方免受设备本身-由于他们可能不熟悉IPv6功能-以及来自恶意行为者-当设备最终获得Internet的IPv6连接时,设备将尝试自动配置,有时会成功。此外,某些版本的Windows尝试开箱即用地建立到Internet的IPv6隧道,这再次使某些用户和管理员感到惊讶。 (顺便说一句,除非特别需要,否则禁用这些隧道几乎总是一个好主意。)

正如其他人所提到的,一些5到10年前或更早的古老防火墙无法正常使用除了IPv4之外,还将其配置为防火墙IPv6。今天,这已不再是一个大问题,因为这种古老的设备日新月异地变得越来越罕见。

如今,即使没有全球IPv6连接,大多数人实际上仍在使用IPv6。 Windows 8和更高版本在家庭网络上广泛使用IPv6,并且某些Windows功能绝对需要IPv6。

从兼顾功能和安全性的角度出发,建议人们确保对IPv6进行相应的防火墙防护会更好。到IPv4,即使它们没有全局IPv6连接。这将保留已经存在的IPv6功能,同时在用户最终获得全局IPv6连接时保护用户。

评论


这是Security.SE;确保IPv6比IPv4具有更多的自动功能,但是从安全角度来看,这将是一场噩梦。我知道有很多兼职运维人员在这里和那里配置一些网络,这些网络根本不会与IPv6世界有任何联系。而且我希望他们对IPv6所做的一件事是禁用它,而不是使用可能具有的任何默认设置打开它-在某些设备上,可能只是使用默认设置打开仓门。 。显然,最好正确配置/防火墙,但不要将其保留为默认设置。

– AnoE
18-3-21在10:07



@AnoE这是一个好点。如果您不熟悉某项技术,那么从安全角度来看,您应该在不熟悉该技术之前才启用它。当然,不启用IP会使使用Internet变得困难,并且将来,不启用IPv6可能会使许多事情变得困难。我们可以一直回到埋在混凝土中的安全计算机。

–迈克尔·汉普顿
18 Mar 21 '18 at 14:41

一点也不。我不是在讨论禁用“非活动”组件,而是在禁用可能是(在非常可能的情况下)广泛的默认配置的组件。 IMO与流行路由器中的默认密码“ admin”处于同一级别。我从没说过禁用IP。如果需要IPv6,管理员显然会注意到这一点,然后决定正确配置IPv6。

– AnoE
18年3月21日在15:41

如果需要IPv6,管理员显然会注意到这一点,然后决定正确配置IPv6。这是一个相当慷慨的假设。我想它在这个问题/答案方面变化不大,但是更有可能的情况是管理员(他也是Wordpress的“开发人员”和IT主管)刚刚打开它,被黑了,并告诉所有PHB同事关于IPv6如何如此不安全。

–HopelessN00b
18 Mar 22 '18 at 14:41

@ HopelessN00b我认为您对管理员的功劳太多。当需要IPv6时,我认为大多数管理员不会注意到并继续照常进行。

–卡巴斯德
18/12/17在10:55

#4 楼

简短的答案:是的,但是为了获得最佳效果,您还应该禁用IPv4。

严重的答案:如果您不主动使用协议而是接受数据包,则可能增加风险。最明显的是网络堆栈,因为即使没有使用IPv6也必须处理数据包。

但是实际的风险是,您确实在使用IPv6,只是没有积极地使用。您可能没有使用IPv6,但是您的某些程序会在IPv6(以及IPv4)上打开侦听套接字并处理进入的数据包。同样,您还具有额外的复杂性(它们处理v6数据包是否像v4数据包一样小心?),并且您可能拥有良好的IPv4防火墙,但是因为您认为自己仍未使用v6而忘记了v6的适当规则。

另外一个“您确定不使用它”:您可能没有积极使用它,但是像浏览器这样的程序将在可用的情况下使用它。例如,当您现在在IP级别上阻止了某些跟踪网站时,它们可能是从其IPv6地址加载的,并且您的防火墙在添加相应的v6规则之前不会保护您免受此攻击。

具有此说法,则不应禁用IPv6。越来越多的互联网正在使用它,并将其禁用会首先使您的网络变慢,迟早会使您无法访问某些服务。添加IPv4规则时,只需确保为IPv6调整防火墙即可。

评论


简短评论:禁用IPv6将使您的系统更加安全,就像将其与Internet断开连接一样:从技术上讲,但对于大多数目的而言,这可能并不是一个合理的成本,从而使系统更加安全。

–威廉·托特兰
18年3月21日在22:28

关于不知道使用IPv6的好点,有些程序会在您不知情的情况下使用它并要求使用它,让我想到Windows的xbox live

– FreeSoftwareServers
18年3月22日在9:11

#5 楼

即使不使用IPv6,许多应用程序也依赖于IPv6支持。例如,它们使用IPv6套接字。通过删除ipv6内核模块完全关闭IPv6将会破坏工作。

考虑到IPv6始终存在于本地链接中,即使没有其他方式,最好确保对IPv6进行适当的防火墙保护。已配置IPv6地址。默认情况下,最新的Linux发行版默认启用了体面的防火墙(通常为ufw或firewalld),该防火墙将同时过滤IPv4和IPv6。

简而言之:承认IPv6的存在并对其进行管理/过滤要比尝试忽略或摆脱它并导致其他问题要好。

评论


我不确定“破坏”服务是否一定会使它们更安全。您能证明这一说法合理吗? (或者您实际上回答的是与被问到的问题不同的问题?)

– Toby Speight
18年3月21日在18:06

我的意思是:禁用未使用的协议可能会提高安全性,但以破坏其他功能为代价。因此禁用可能不是一个好主意...

–桑德·斯特凡(Sander Steffann)
18-3-22的2:17

我刚刚意识到标题中的问题与问题的最后一行中的问题不同-您回答的问题与我阅读的问题不同。我真的希望提问者不会那样做...

– Toby Speight
18年3月22日在8:05

我不知道说“许多”应用程序的情况,数量正在增长,但ATM却不多。另外,当我设置服务器时,它们通常是用于特定目的的,因此我的2美分将被禁用,并测试服务器的功能,如果有麻烦,请重新启用。

– FreeSoftwareServers
18-3-22在9:15



#6 楼

如果您没有合法需要,IPv6只会充当漏洞进入您的网络以及使数据未被检测到泄漏的另一个渠道。安全性的一般规则是禁用不需要的任何内容。

即使您在外围防火墙处将其阻止,攻击者也可能会通过IPv4危害一台主机(也许是DMZ?)并通过IPv6传播从内部开始。

现在大多数防火墙和IDS产品都具有不错的IPv6支持,因此最初对不良IPv6监视的担忧已过时。

最好拒绝通过禁用机会来对抗机会。如果无法禁用它,请在本地防火墙上限制IPv6,以便仅允许需要IPv6套接字的应用程序进行本地/环回通信。

#7 楼

禁用任何未使用的功能是一般安全原则。另外,请考虑将IPv6内置IPSec,并且默认情况下它可能比IPv4更好。

#8 楼

这基本上与之前所说的相同,但是让我们这样说:

选项1:使用IPv6,并像配置IPv4一样努力配置和保护它。

选项2:不要使用它,并将其禁用。

两者都是完全合理的,并且比方法3:不要使用IPv6更好,但是在防火墙规则和服务配置中忽略它,并使其完全打开。换句话说,建议是好的,如果您特别想使用IPv6,建议不要使用IPv6。 ,但这是警告那些不使用它的人,以免被忽视,并且不要像您对IPv4配置那样进行同样的审查。那些人最好禁用它。

#9 楼

从安全的角度来看,在软件和应用程序方面,越少越好。除非您当前正在部署IPv6网络,否则应禁用IPV6。请记住,据我所知,已经分发了所有IPv4地址,并且即将出现IPv6,其他人则建议您保持启用IPv6协议的状态。我不同意!需要协议时将其启用。应用程序和端口也是如此。

评论


世界正在朝着IPv6迈进,尽管进展缓慢。我认为更好的策略是正确部署IPv6,而不是关闭IPv6。禁用IPv6无异于关闭手机上的LTE,以便恶意软件加载更慢:)

– Jim MacKenzie
18年3月22日在17:18

感谢您的评论,但我必须同时同意和不同意您的意见。确实,世界的技术基础设施最终需要迁移和部署iPv6协议。但是,您的示例有缺陷。我从门的角度看情况更多。 IPv4在前,而IPv6在后门使用较少。锁定它们都是最有意义的。

– SecurityDoctor
18年5月9日在17:32

恰恰。正确部署IPv6,请勿禁用它。很快将需要它。

– Jim MacKenzie
18年5月9日在17:35

我仍然说激活您现在需要的协议,仅此而已。部署新服务器时,只有我当前需要的应用程序处于活动状态,而IPv6尚未处于活动状态。许多ISP甚至不提供对该协议的支持。为什么通过使不需要的协议处于活动状态来给攻击者以优势。

– SecurityDoctor
18年5月9日在17:43



如果您可以进行测试并100%确信当需要IPv6连接但不存在IPv6连接时一切都会正常地失败,那么有一个论点需要提出。但是...需要确定性。

– Jim MacKenzie
18年5月9日在17:50

#10 楼

这有不同的方面。

首先,从纯粹的统计角度来看,打开的访问点/门越多,系统就越容易受到攻击。但是,对于大多数服务而言,这都是正确的。

但是,更具体地说,IPv6尚未实现到足够大的规模,以至于尚不能完全理解其漏洞并对其进行修补。
甚至最好的IP专家在IPv6方面几乎没有具体的现场经验。

最重要的是,IPv6以与IPv4完全不同的方式处理某些操作,这为攻击者创造了新的机遇。 ...例如,一个众所周知的漏洞来自路由器发送IPv6广告的不同方式,这使LAN成为非常容易的IPv6 DOS目标,请参阅IPv6路由器广告DOS。

整个旨在利用IPv6漏洞的工具套件可在整个Internet上轻松获得。

我始终确保在所有设备上都禁用IPv6。为什么要冒不必要的风险,因为基本上没有人使用/支持这些东西?