Anonim

“我是Linux的新手,被告知要检查Linux机器上的开放端口以检查安全性。 这是什么意思,我应该这样做吗? 这是我们本周从TechJunkie读者那里收到的一个问题,我认为它很有趣,因此更多的人可能想知道。

另请参阅我们的文章如何使用VirtualBox设置Linux虚拟机

由于端口是计算机连接Internet必不可少的部分,因此这是一个极好的主题。

什么是港口?

端口是物理端口或虚拟端口。 物理端口是计算机上的以太网端口或路由器上的LAN或WAN端口。 在问题的上下文中,我们正在谈论的是计算机上与这些物理端口不同的虚拟端口。

从最基本的角度来看,端口是进入计算机的虚拟通道,可供特定服务使用。 有很多Web服务,例如电子邮件,Web访问,流,FTP或文件传输,远程访问等。 它们都被分配了不同的端口,因此您的操作系统和任何启用Web的应用程序都可以识别正在发生的情况。

例如,操作系统知道到达端口80的所有内容将是HTTP或Web流量,端口443用于HTTPS或安全的Web流量。 到达端口25的所有端口将是SMTP或电子邮件流量等。 即使没有那么多的Web服务,实际上也有超过一千个端口分配。

例如,您的浏览器通过端口443连接到TechJunkie,因此Web服务器知道您正在请求页面的HTTPS副本。 如果我想将文件上传到服务器,则可以使用FTP端口989或990作为安全FTP。 当请求到达该端口时,服务器会自动知道它是哪种流量,并将其路由到正确的服务。

路由器也有端口,但是它们是不同的,不在本文的讨论范围之内。

打开和关闭端口

术语开放端口和封闭端口实际上是错误的。 端口既不打开也不关闭。 它已过滤或未过滤。 防火墙可以通过不允许应用程序通过端口进行通信或允许所有流量通过设置来“阻止”端口。 该端口仍处于打开状态,应用程序可能仍在侦听流量,但防火墙会评估发往其知道的端口的流量未经授权并阻止该流量。

许多常见端口会自动被防火墙过滤。 防火墙将被编程为接受来自公共Web端口的通信,直到您另行通知为止。 因此,当您选择使用防火墙阻止Internet访问时,是在告诉它阻止并丢弃所有发往端口80和端口443的流量。

在Linux中检查端口

您可以在Linux中使用大量工具来查看发生了什么。 检查端口很简单,但是像往常一样,您可以使事情保持简单,也可以随心所欲地深入研究Linux设备在做什么。

Netstat命令是我们用来检查端口和其他网络服务的命令。

  • 在终端中输入“ netstat -atu”,然后按Enter。 这将显示Linux中当前活动的所有套接字,TCP和UDP连接。
  • 键入“ netstat –listen”或“ netstat -l”,然后按Enter键仅列出计算机上的侦听端口。
  • 键入“ netstat -vatn”,然后按Enter键以列出计算机中的现有TCP连接。
  • 键入“ netstat -vaun”,然后按Enter列出现有的UDP连接。
  • 键入“ netstat -ltup”以显示所有连接以及监听每个端口的程序。
  • 键入“ netstat -lntup”,然后按Enter键以显示IP地址和端口号。

这些命令实际上执行相同的操作,但是根据您的需要提供不同的信息。 每个人都会回答原始问题。

关闭口

即使我们知道您实际上并没有“关闭”端口,但过滤端口仍然是常见的说法。 当有人说您应该关闭端口时,您实际上并没有在Linux计算机上这样做。 您只能从正在侦听端口的程序中关闭端口,或在防火墙上对其进行过滤。

高级用户可以在某些Linux发行版中使用IPTables,但这对我来说太复杂了。 本指南将引导您完成整个过程。

您需要检查端口吗?

如果您使用防火墙和良好的Internet卫生习惯,则您实际上根本不需要检查Linux计算机上的端口。 如果要管理Linux服务器,Web服务器或路由器,则端口变得更为重要,但对于台式机而言,端口的重要性就不那么重要了。 一个好的防火墙将为您做好一切准备。

如何在Linux中检查开放端口