以下 IP 地址用于我的网络接口
$ nmap 192.168.0.142
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-09 11:33 EST
Nmap scan report for ocean (192.168.0.142)
Host is up (0.00047s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.97 seconds
Run Code Online (Sandbox Code Playgroud)
那些服务是否显示在下面但不高于那些对外关闭但在我的本地机器内打开的服务?
我应该担心的安全性是否正是上面列出的服务?
谢谢。
$ nmap localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-09 11:34 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00046s latency).
Other addresses for localhost (not scanned):
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
631/tcp open ipp
3306/tcp open mysql
5432/tcp open postgresql
9050/tcp open tor-socks
Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
Run Code Online (Sandbox Code Playgroud)
如果您的服务仅绑定到 localhost/127.0.0.1 地址,则它们只会在 127.0.0.1nmap
扫描中显示,而不会在其他扫描到同一主机上的 IP 地址时显示。
通常情况下,出于安全原因,绑定到 127.0.0.1、MySQL、postgresql 和 mongo 数据库仅用于本地主机、redis 和其他。
相反,您有时会在非本地主机 IP 上找到其他端口,尤其是当您将网络服务器中的虚拟主机绑定到非本地主机 IP 地址并且仅侦听这些地址时。
在您特定的 192.168.0.142 情况下,我会询问 MySQL 是否也不能绑定到 127.0.0.1。
PS 我在实习时学到的一句非常古老的格言是:“比使用工具更重要的是了解它们如何工作/我们获得的数据。”
关于@roaima 答案,作为此答案中提到的示例,广泛使用的数据库 mongodb 的默认端口不在nmap
.
TLDR 扫描同一设备的不同IP地址并不是规定,所有的扫描数据/开放端口都相同。
唉,通过网络设计,我们通常不希望它们相同。例如,在防火墙/交换设备中,我们在特定控制网络上定义接口/VLAN,用户无法访问这些接口以激活 Web 管理/ssh 服务,并且只能在这些接口上。例如,普通用户无法访问这些服务,他们只能通过 VPN 和/或控制室访问。(这是一个更极端的例子。我曾在一些组织中工作过,其中 VM 的 SSH 服务也仅通过控制网络提供)。
另外两个答案都提出了非常重要的观点。但此外,您似乎只扫描了 TCP 而没有扫描 UDP :-)。因此,您可能还需要担心 UDP 服务。
UDP 扫描有许多不适用于 TCP 扫描的问题。无论哪种情况,我都会首先查询操作系统:如何列出对远程计算机打开的所有套接字?
不过,端口扫描作为确认仍然很有用。如果您设置了防火墙,则从不同主机进行端口扫描是一个特别好的主意,以确认防火墙正在执行您想要的操作。