UNIX 服务器:不使用任何开放侦听套接字的可能入侵或攻击

信息安全 网络 攻击 入侵 Unix
2021-08-17 03:42:06

有哪些类型的攻击不使用开放的 TCP 或开放的 UDP 端口?

假设没有开放端口意味着没有远程访问是否安全?

(排除机器上已经存在恶意软件的可能性,该恶意软件可以进行传出连接以发送/接收数据/指令)

编辑:看起来我们还必须禁用 ICMP 以(帮助)防止拒绝服务类型的攻击以及缓冲区溢出或其他未被发现的攻击的可能性。此外,服务器可能会收到欺骗性 ping,然后将响应发送给拒绝服务的第三方受害者

编辑:看起来人们也应该看看好的-ware“建立传出连接以发送/接收数据/指令”,例如DNS。DNS 服务器指示 UNIX 机器连接到哪些其他机器并发送/接收数据。必须确保 DNS 服务器没有被黑客入侵,并且途中的路由器没有被黑客入侵。

编辑:我在这个问题中特别指的是网络攻击。至于客户端攻击(cookies、社会工程、XSS 等),这不是这个问题。

编辑:我正在尝试(希望完全)保护服务器,以便它们(理论上)不需要防火墙。防火墙是有意的,但不是这个问题的一部分。

相关:IP 欺骗会带来哪些安全风险?

4个回答

不管这是否应该专门适用于 Unix,我想说仅仅因为没有开放端口就假设没有访问权限是不安全的

也就是说,即使没有可用的 TCP 或 UDP 端口,通常也会监听ICMP 。
在你说,“但 ICMP 只是一个简单的Ping!用它来攻击是无关紧要的!” 检查这些:

虽然这些都是历史性的(最后一个除外),但我不排除未来的其他攻击。

此外,还有间接攻击,例如那些攻击封闭系统本身可以访问的基础设施的攻击——例如 DNS 中毒......

有哪些类型的攻击不使用开放的 TCP 或开放的 UDP 端口?

这个问题太笼统了。我是从字面上回答这个问题,不是混蛋,而是因为在安全方面最好什么都不假设。以下是一些不使用开放 TCP 或 UDP 端口的攻击类别:

  • 社会工程:让某人从机器出站连接到攻击站点(或连接拇指驱动器或坏媒体)
  • 物理访问、键盘记录器等
  • IP 级别的攻击(IP 堆栈漏洞)
  • NTP:通常默认打开,可能不是没有错误的
  • DHCP:dhcp 是否关闭?本地网络上的攻击者可以将 PXE 引导映像推送到您的以太网卡并加载他们的操作系统。

假设没有开放端口意味着没有远程访问是否安全?

  • 执行的路过式下载可能会调用(包括 ping 出界和通过 ping 回复获取 ctrl 数据)
  • 包管理器可以拉下设置调用恶意软件的特洛伊木马软件
  • 蓝牙接入

我认为您真正的问题应该是:“如果我的机器没有开放的 TCP 或 UDP 端口,可以使用哪些类型的远程漏洞来根植我的机器?”

对包括 Van Eck Phreaking 在内的人来说,攻击可能意味着很多事情。

这类攻击的根本问题不在于 TCP 或 UDP 协议本身,而在于应用程序需要处理来自不受信任(或不太受信任)来源的数据,以及所述应用程序中的错误设计和/或 QA。

如果您的服务器运行的任何应用程序处理来自与您的服务器不具有相同信任级别的来源的输入,并且您没有为所述应用程序设置强大的 QA 流程,那么您很容易受到攻击。

例如,虽然有几个缓冲区溢出通过与碰巧侦听 TCP 和 UDP 端口的应用程序进行预身份验证通信而出现,但它们可以很容易地出现在从不涉及侦听连接的网络资源读取数据的例程中,甚至在从本地资源(如文件和数据库)读取的函数中,在许多情况下,程序员对他们使用套接字编程所做的数据并不怀有敌意。根据我的经验,这是可以找到低垂果实的地方。

在我看来,您正在寻找独角兽,而您最终获得当前所需结果的唯一方法是将您的服务器放在一个干净且上锁的房间中,根本没有网络连接。服务器的主要目标是功能,而不是安全性,并且必须对不可信的输入做出妥协。在提供功能的同时,降低这种风险的方法是仅启用所需的功能,并通过代码审查和渗透测试等 QA/审计流程、监控和事件响应等运营流程以及基础设施来补偿所需的服务防止或检测不需要的输入和连接。

即使您的操作系统是完全安全的,您的硬件也可能容易受到攻击。许多网卡响应各种远程管理协议(Wake-on-LANAlert-on-LANASF等)。

在实践中,一个实际的漏洞有很多要求:

  • 必须至少支持其中一项功能;
  • 该功能必须至少在某个级别启用(通常在出厂时已关闭);
  • 操作系统不能在启动时禁用该功能(这是计算机在关闭时更容易受到攻击的一种情况);
  • 攻击者必须位于任何自尊防火墙的右侧(这些功能大部分使用 UDP);
  • 当然,固件必须是易受攻击的(例如:CVEFAQ)。