如何在Linux上使用Nmap测试防火墙配置

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

介绍

Nmap是一个免费且非常流行的网络安全扫描程序。它易于使用且功能强大。本文将介绍用于测试防火墙配置的Nmap的安装和用法。即使您可以检查通过防火墙打开了哪些端口,但通过扫描对其进行测试也非常有用。例如,如果您有禁止从外部访问MariaDB服务的防火墙规则,则Nmap可以帮助您确保防火墙按预期工作。

注意: 根据Vultr.com的“可接受使用策略”(AUP),除非拥有明确的许可,否则切勿在不属于您的IP地址上运行Nmap。

先决条件

运行Linux发行版的Vultr VPS
通过SSH或控制台对VPS进行根访问。

安装

在要测试的VPS上安装Nmap。

Debian和基于Debian的发行版: apt install -y nmap
CentOS和RHEL: yum install -y nmap

用法

首先,您需要知道VPS的IP地址。您应该使用面向公众的IP地址,因为目标是测试面向公众的防火墙配置。本文将使用 203.0.113.1 举个例子。确保将其替换为您自己的IP地址。

测试单个TCP端口。

测试单个端口的命令如下:

nmap -p 80 203.0.113.1

在这个例子中 80 是您要测试的TCP端口号。

输出示例:

root@debian1:~# nmap -p 80 203.0.113.1

Starting Nmap 7.40 at 2018-10-19 00:00 EEST
Nmap scan report for 203.0.113.1
Host is up (0.000097s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

测试所有TCP端口。

以下命令将测试所有TCP端口(-p-),并将输出保存到 nmap.out

nmap -oN nmap.out -p- 203.0.113.1 

测试所有TCP端口并检测版本。

以下命令将测试所有TCP端口(-p-),尝试检测正在运行的服务和版本(-sV),并将输出保存到 nmap.out

nmap -sV -oN nmap.out -p- 203.0.113.1 

测试所有TCP端口并运行基本的安全检查。

以下命令将测试所有TCP端口(-p-),将在打开的端口(-sC),并将输出保存到 nmap.out

nmap -sC -oN nmap.out -p- 203.0.113.1 

这些安全检查对于检测常见漏洞和配置错误特别有用。

其他有用的选择

-v-vv-vvv 导致输出越来越冗长。

-sU 用于UDP扫描。

结论

运行nmap并非总是必要的,但是在使用复杂的网络配置和防火墙规则时尤其有用。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com