我的客户过于热心的 IT 管理员向我提出了一个请求,要求我提供我部署的服务器箱(物理)使用的所有服务器/端口。
它正在运行 debian jessie,但是这应该不是重点。
我们要清楚:他们将阻止我未指定的所有内容,包括安全 apt 更新、NTP 时间同步等。
我已经在谷歌上搜索了一些内容(花了几个小时),但一无所获。
那么,除了抓取一个月内来自该盒子的所有流量之外,还有其他可行的方法来找到所请求的信息吗?
答案1
这实际上取决于您的服务器如何配置。
一个例子是,如果您使用公共 ntp 服务器池(如 0.ca.pool.ntp.org)来同步时间,您会发现您的服务器联系域名解析为的几个 IP 地址,目标端口为 123。
您需要手动解析该地址并将其添加到您允许出站连接的 IP 地址列表中。
要获取与其绑定的进程的所有当前已建立的连接,可以使用以下命令。
~# ss -anp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 5 x.x.x.x:xxxx 0.0.0.0:* users:(("nrpe",pid=xxx,fd=4))
这将告诉您 X 进程已连接到 Y 端口上的 xxxx IP 地址,这样您就知道哪个应用程序需要访问哪个范围的 IP 地址。使用此列表,您可以添加需要允许的地址。
据我所知,没有优雅的方法可以做到这一点,您需要收集零碎的数据来形成它。