使用防火墙拒绝除白名单策略之外的所有内容

使用防火墙拒绝除白名单策略之外的所有内容

我已经阅读有关防火墙的文章大约一上午,并且我想出了以下公共区域:

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <source address="167.114.37.0/24"/>
  <source address="92.222.185.0/24"/>
  <source address="92.222.184.0/24"/>
  <source address="92.222.186.0/24"/>
  <source address="149.202.34.10/32"/>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>
</zone>

我能想到的最好的办法是,这个区域应该只允许这些端口/服务的传入连接,并提供对这些子网的完全访问权限。但是,当我使用 nmap 扫描我的服务器时,我得到了大量开放端口(而且我肯定不在白名单子网中)。

PORT      STATE    SERVICE
1/tcp     open     tcpmux
3/tcp     open     compressnet
4/tcp     open     unknown
6/tcp     open     unknown
7/tcp     open     echo
9/tcp     open     discard
13/tcp    open     daytime
17/tcp    open     qotd
19/tcp    open     chargen
20/tcp    open     ftp-data
21/tcp    open     ftp
22/tcp    open     ssh
23/tcp    open     telnet
24/tcp    open     priv-mail
25/tcp    filtered smtp
26/tcp    open     rsftp
30/tcp    open     unknown
32/tcp    open     unknown
33/tcp    open     dsp
37/tcp    open     time
42/tcp    open     nameserver
43/tcp    open     whois
49/tcp    open     tacacs
53/tcp    open     domain
70/tcp    open     gopher
79/tcp    open     finger
80/tcp    closed   http
81/tcp    open     hosts2-ns
82/tcp    open     xfer
83/tcp    open     mit-ml-dev
84/tcp    open     ctf
85/tcp    open     mit-ml-dev
88/tcp    open     kerberos-sec
89/tcp    open     su-mit-tg
90/tcp    open     dnsix
99/tcp    open     metagram
100/tcp   open     newacct
106/tcp   open     pop3pw
109/tcp   open     pop2
110/tcp   open     pop3
111/tcp   open     rpcbind
113/tcp   open     ident
119/tcp   open     nntp
125/tcp   open     locus-map
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn

... 这个清单还在继续,我想我就到此为止了。我在这里遗漏了什么?

编辑如果我尝试访问其中一个开放或过滤的端口,比如说curl,我会得到以下信息

$ curl myserver.example.com:125
curl: (7) Failed to connect to myserver.example.com port 125: Operation timed out

connection refused当我尝试访问其中一个关闭的端口时,我能够正确获取信息。

答案1

您的测试计算机和服务器之间可能有一个中间路由器。在这种情况下,路由器会通过发送虚假回复来混淆 nmap,这可能是 NAT 实现的细微差别。如果我没记错的话,如果您从计算机扫描任何随机 IP,您都会得到类似的结果。

相关内容