开放的网络端口是网络最简单的入口点。有时,可能会在从 Inte.NET 外部可见的端口上运行不需要的服务。如果这些服务容易受到攻击,您的网络将持续受到攻击的威胁,因为每天都会对整个互联网进行大规模扫描,以查找开放端口上的易受攻击的服务。
了解如何扫描和查看 linux 系统上的开放端口,以便保护您的网络免受威胁。
网络端口是系统的逻辑访问点,可用作托管多个服务的通道。端口由 16 位整数表示,因此最大端口号为 65535。
您可以将端口想象为房屋的门窗,基本上是房屋或计算机的所有不同入口点。端口分为三种类型:系统端口 (1-1023)、注册端口 (1024-49151) 和临时或动态端口 (49152-65535)。
当您启动需要连接到互联网的应用程序时,它会使用动态端口通过网络传输和接收数据。但是,当您启动 Web 服务器或 SSH 服务器时,它通常会绑定到系统端口或注册端口。
对于 HTTP 服务 Web 服务器,默认系统端口是 80,对于 SSH,默认系统端口是 22。端口范围等这些规定是由互联网号码分配机构 (IANA) 制定的。您可以浏览有关端口的 RFC,以获得所有端口及其功能的完整列表。
了解最常见的易受攻击的端口非常重要,这样您就可以确保它们被关闭或受到保护。
netstat 是一个流行的实用程序,您可以使用它来查看 Linux 系统的网络统计信息。它是 net-tools 包的一部分。
由于开发人员缺乏适当的维护,net-tools 软件包现已贬值。这也是为什么在 Linux 上运行流行的 ifconfig 命令时可能会遇到“ifconfig:找不到命令”错误的原因。
因此,在现代系统上,您可能必须首先安装 net-tools 软件包,然后才能运行 netstat 命令。以下是使用 netstat 检查开放端口的方法:
netstat -tuln
命令解释:
ss 是 netstat 工具的现代版本。您会发现它已预安装在所有现代 Linux 发行版中。使用 ss 检查开放端口的语法与 netstat 相同。
以下是使用 ss 检查开放端口的方法:
ss -tuln
命令解释:
Nmap 是网络安全和网络领域最流行的工具之一。当涉及到网络安全渗透测试时,它是一个主要名称。它的主要用例是端口扫描,因此您不仅可以获得有关系统中打开的端口的信息,还可以获得它们是否易受攻击和可利用的信息。
此外,如果您希望检查已设置 IDS/IPS 和防火墙的远程系统中的开放端口,请不要担心,因为 Nmap 还可以使用正确的交换机绕过防火墙和 IDS/IPS。
以下是使用 Nmap 检查开放端口的命令:
nmap -sTU -sV <ip-address> -T 5 --min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n --script vuln,exploit,auth -v -oX <filename>
命令解释:
Linux 中的 lsof 命令用于列出打开的文件。但是,如果您向其中添加一些交换机,您将能够看到本地计算机上开放的互联网连接和端口。以下是使用 lsof 检查开放端口的方法:
lsof -i -n
命令解释:
netcat 是一个命令行实用程序,可让您从 TCP/UDP 连接读取和写入。请注意,这只是 netcat 的一项功能。您可以使用man netcat命令查看其手册页,以探索其所有功能以及如何使用它们。
以下是使用 netcat 扫描开放端口的方法:
nc -zv <ip-address> <start_port-end_port> | grep -v "refused"
命令解释:
了解哪些端口是开放的以及系统上正在运行哪些服务是防御潜在外部攻击的重要一步。这使您可以搜索并关闭不必要的服务,查找过时的服务,还可以检测系统上是否运行任何恶意文件。
如果您认真对待网络安全,则应考虑安装和设置 IDS 解决方案来监视网络上的所有活动并实施规则集以防止未经请求的连接。