zoukankan      html  css  js  c++  java
  • 【译】如何检测服务器新开端口

      检测网络中服务器新开的端口的方法,探讨这一点源自detect-new-server-ports-use-network

      文章内容较简单,就不全片翻译了,可以谷歌翻译。以下仅列举重要的两段:

    1 为什么担忧新开的服务端口

      如前所述,在服务器上打开新端口会增加服务器的攻击面。保持攻击面尽可能小是基本的安全措施。如果安装新软件或在服务器上启用新服务,则新端口将变为活动状态。启用诸如RDP(远程桌面协议)之类的功能可能会损害整个服务器,并提供一种转移数据的方式。

      对于网络上的重要服务器,您应该拥有正在运行的应用程序或服务的清单,以便可以检测到更改。您可以通过不断轮询每个端口号上的服务器来实现此目的,或者监视往返于服务器的网络流量。轮询方法可能会出现问题,因为您将需要不断用连接请求轰炸服务器,并且如果应用程序或服务仅在短时间内处于活动状态,则可能会丢失某些内容。

      如果像GDPR这样的合规性标准是一个问题,那么服务器监视不仅是一​​件好事,而且它是强制性的。如果您存储敏感数据或个人数据,则必须保留有关谁将连接到谁的清单。

    2 通过监视网络流量来检测新的服务器端口

      果您监视进出重要服务器的网络流量,则可以建立打开了哪些端口的清单,而无需与服务器进行交互。 一种方法是使用SPAN或镜像端口获取往返于服务器的网络流量的副本。 然后,您将需要诸如LANGuardian之类的网络流量分析工具来处理此数据并从网络数据包中提取相关的元数据。 下图显示了所需的示例。 可以通过单个SPAN或镜像端口监视这四个服务器。

    3 个人思考

      第1部分提到两种方法,一是通过轮询扫描的方式,二是通过流量监听的方式,也即第2部分的图。

    • 轮询扫描:是比较常规的方式,在服务器数量较少的情况下,可以采用该中方式,且不太适合在短期内频繁探测,会增加对目标服务器的负担。还是可以作为常规的端口例行扫描。
    • 流量监听:需要在上游交换机镜像流量到单独的服务器进行“监听”,解包识别传输层的端口(一般TCP)。如果流量较大,则需要一台性能足够强劲的服务器单独作为流量分析的机器,成本可能较大;而且如果只有一台的话,存在单点故障。

      另外的,可能方法还有主机agent的方式,在服务器上部署agent,用来监视服务器端口的变化,如果出现“异常”,则上报。这种方法的问题是,需要在服务器上单独部署agent,会占用服务器的资源,如果服务器集群整体的资源占用率没有到很高的程度,且agent的性能较好和功能强大,不失为一种比较好的方式。

  • 相关阅读:
    Web前段学习索引
    Python学习索引
    Centos7下安装Docker(详细的新手教程)
    Django部署阿里云服务器(nginx+uwsgi)
    (转)Mongo db 与mysql 语法比较
    (转)mongo基本常用命令
    python操作mongodb的基本操作命令
    http响应码
    python回调函数
    Flask框架的使用
  • 原文地址:https://www.cnblogs.com/Hi-blog/p/detect-new-server-ports-use-network.html
Copyright © 2011-2022 走看看