基于网络安全相关的开源项目技术预研分析报告

目  录

基于网络安全相关的开源项目技术预研分析报告 1

1. 预研背景 3

2. 预研目的和意义 3

3. 预研目标 3

4. 预研技术描述 3

4.1 态势感知或安全运营中心-OSSIM 3

4.1.1 OSSIM简介 3

4.1.2 OSSIM的功能 4

4.1.3 OSSIM的架构 6

4.1.4 OSSIM各个模块之间的关系 7

4.1.5 OSSIM关联引擎 8

4.1.6 OSSIM部署 11

4.2 入侵检测防御技术-Snort/Security Onion 11

4.2.1 Snort 11

4.2.1.1 Snort简介 11

4.2.1.2 Snort原理 12

4.2.1.3 Snort工作过程 12

4.2.1.4 Snort部署 14

4.2.1.5 Snort不足 14

4.2.2 Security Onion 15

4.2.2.1 Security Onion简介 15

4.2.2.2 Security Onion核心组件 15

4.2.2.3 Security Onion分析工具 17

4.2.2.4 Security Onion部署方案 20

4.2.2.5 Security Onion的使用 21

4.2.2.6 Security Onion总结 22

4.3 防火墙-PFSense/OPNSense 23

4.3.1 PFSense 23

4.3.1.1 PFSense简介 23

4.3.1.2 PFSense核心功能 23

4.3.2 OPNSense 24

4.3.2.1 OPNSense简介 24

4.3.2.2 OPNSense与PFSense的功能差异 24

4.3.2.3 OPNSense与PFSense的性能差异 26

4.3.2.4 OPNSense与PFSense的对比结果 26

4.4 Web应用防火墙或WAF-ModSecurity+OpenResty 27

4.4.1 ModSecurity 27

4.4.1.1 ModSecurity简介 27

4.4.1.2 ModSecurity核心功能 27

4.4.1.3 ModSecurity核心规则集(CRS) 28

4.4.1.4 ModSecurity劣势 29

4.4.1.5 OpenResty简介 29

4.4.2 OpenResty 29

4.4.2.1 OpenResty应用场景 29

4.4.2.2 OpenResty功能 30

4.4.3 ModSecurity+OpenResty+WASP CRS=OpenWAF 31

4.5 威胁情报技术-MISP/OpenCTI 32

4.5.1 MISP 32

4.5.1.1 MISP简介 32

4.5.1.2 MISP核心功能 33

4.5.2 OpenCTI 36

4.5.2.1 OpenCTI简介 36

4.5.2.2 OpenCTI核心功能 36

4.6 漏洞扫描技术-OpenVAS/W3af 38

4.6.1 OpenVAS 38

4.6.1.1 OpenVAS简介 38

4.6.1.2 OpenVAS组件 39

4.6.1.3 OpenVAS基本应用 40

4.6.2 W3af 42

4.6.2.1 W3af简介 42

4.6.2.2 W3af插件 42

4.6.2.3 W3af基本应用 43

4.7 堡垒机技术-JumpServer 45

4.7.1 JumpServer简介 45

4.7.2 JumpServer核心功能 45

4.8 蜜罐技术-T-Pot/HFish 48

4.8.1 T-Pot 48

4.8.1.1 T-Pot简介 48

4.8.1.2 T-Pot组件 49

4.8.2 HFish 54

4.8.2.1 HFish简介 54

4.8.2.2 HFish原理 54

4.8.2.3 HFish特点 55

4.8.2.4 HFish功能 55

5. 预研技术对比 56

6. 预研技术预计投入资源 58

7. 总结 58



  1. 预研背景

本次预研是对现有的关于开源的网络安全产品技术的研究



  1. 预研目的和意义

本次预研通过了解现有市面上开源网络安全产品的相关技术、功能、架构、原理等,提供技术产品路径的可行性判断及达到快速商业化的目的,为XX网络安全业务由安全集成转向自主研发打下夯实的基础。



  1. 预研目标

通过本次技术预研,对各种网络安全类型相关的开源项目(态势感知或安全运营中心-OSSIM、入侵检测防御技术-Snort/Security Onion、防火墙-PFSense/OPNSense、Web应用防火墙-ModSecurity/OpenResty、威胁情报技术-MISP/OpenCTI、漏洞扫描技术-OpenVAS/W3af、堡垒机技术-JumpServer、蜜罐技术-Tpot/Hfish)的研究,分析出落地到项目中的可行性、各类产品的差异性、自主研发时需要投入的各类资源等



  1. 预研技术描述


    1. 态势感知或安全运营中心-OSSIM
      1.  OSSIM简介

OSSIM(OPEN Source Sevurity Informatiion System):开源安全信息管理系统,由美国的Alienvault公司开发,是目前一个非常流行和完整的开源安全架构体系。OSSIM通过将开源产品进行集成,从而提供一种能够实现安全监控功能的基础平台,能够实现收集分类日志,识别并解决重大安全事件(优先级,标识出有问题的日志),满足在安全监控和日志存储方面的审计和合规需求。

      1.  OSSIM的功能 

开源安全信息管理平台OSSIM解决了如下的问题: 1将nagios、Snort、OSSEC、Ntop、OpenVAS等开源软件无缝的结合在一起。2、OSSIM系统安装部署极为方便3、实现了多平台,多架构的的日志统一收集分析

OSSIM定位于一个集成解决方案,其目标并不是要开发一个新的系统,而是利用丰富的,强大的各种程序,包括:

常见的安全软件类的:

入侵检测模块:

  Snort,Snare,OSSEC,等入侵检测系统

扫描和渗透模块:

  Nessus:系统漏洞扫描和分析软件

  NMap:最早是Linux下的网络扫描和嗅探工具包。

  还用像P0f,Pads等。

监控模块:

  Tcptrack(TCP会话实时监控)

  Nagios(主机及服务可用性监控)

  Ntop

还有像Spade(异常检测引擎),OpenVAS(漏洞扫描),Arpwatch(MAC异常检测)等开源软件

  OSSIM虽然名字中含有SIM,其实它并不是一个SIM,因为它不具备大规模日志采集和存储能力,而是一个SEM,更偏重于实时的安全监控,实时风险评估,报警与处理。

它具有入侵检测,漏洞扫描,资产管理,安全监控,日志分析,流量分析等功能。

      1.  OSSIM的架构 

uploading.4e448015.gif

正在上传…重新上传取消

第一层,数据采集层:使用各种采集技术采集流量信息、日志、各种资产信息,经过归一化处理后传入核心层。

第二层,属于核心处理层,主要实现对各种数据的深入加工处理,包括运行监控、安全分析、风险评估、关联分析、资产管理、脆弱性管理、事件管理、报表管理等。

第三层,属于数据展现层,主要负责完成与用户之间的交互,达到安全预警和事件监控、安全运行监控、综合分析的统一展示,形式上以图形化方式展示给用户。

      1.  OSSIM各个模块之间的关系

  OSSIM系统主要使用了PHP、Python、Perl和C等四种编程语言,从软件层面上看OSSIM框架系统包括五大模块:Agent模块、Server模块、Database数据库模块、Frameworkd模块以及Framework模块。

看一下这几个模块的流程。

①Agent至Server:来自各个传感器的安全事件被对应Agent格式化后,以加密字符串传给Server。

②Server至Agent:发送有关请求命令(request command),以字符串方式向Agent传送,主要是要求Agent完成插件的启动停止及获取信息等。

③Server至Frameworkd:发送请求命令,要求Frameworkd针对Alarm采取相应操作,例如执行外部程序或发出Email来通知管理员。

④Frameworkd至Server:发送请求命令至Server。要求Server通知Agent对插件(Plugins)进行启动、停止等操作。

⑤Framework至Frameworkd:发送请求命令,要求Frameworkd启动OpenVas扫描进程。

⑥Frameworkd至Framework:传送OpenVas扫描结果在前端页面中显示。

⑦Database至Agent和Server:向Agent和Server提供数据。

⑧Server至Database:Server需要将Events、Alarms等数据存入数据库并建立索引或更新操作。

⑨Database至Frameworkd:在Frameworkd中的Openvas扫描和动作需要调用数据库里的数据。

⑩Frameworkd至Database:在Frameworkd执行过程中将Openvas扫描结果存入数据库。

⑾Database至Framework:前端页面显示需要调用数据库的告警事件。

⑿Framework至Database:用户参数设置信息需要存入数据库。

      1.  OSSIM关联引擎

关联引擎(Server)是OSSIM安全集成管理系统的核心部分,它支持分布式运行,负责将Agents传送来的归一化安全事件进行关联分析,并对网络资产进行安全评估。工作流程如下:

Ossim使用了两种关联引擎进行安全行为的关联分析,分别是基于事件序列的关联方法和启发式的关联方法。

事件关联是将大量的安全事件过滤,压缩,归一化处理后,在提取最重要的的安全事件。

有了好的事件处理机制,还要有好的关联方法,而且不止一种关联方法。从这个图可以看到,大量标准化处理的事件被送入关联引擎之后,它们会经历事件分类处理,聚合,交叉关联,启发关联等多种关联方法,系统会根据数据库中的安全事件进行统计分类,找出经常导致安全事件的发源地和经常被攻击的端口,在这些阶段都会产生事件告警。

 交叉关联:它是最常见的数据关联方式,是指事件与目标漏洞之间的关联。通过将入侵检测系统snort产生的告警信息与漏洞扫描工具nessus规则进行交叉关联。综合评估威胁程度的方法。可以将安全事件与网络拓扑、系统开放的服务、设备存在的漏洞进行关联匹配,以分析攻击成功的可能性。利用这种关联方法可以在OSSIM系统中关联规则检测到某些威胁,并实现自动响应(比如发出告警等)。

      1.  OSSIM部署

采用分布式的方式:

有一个服务器service将所有传感器传输过来的数据进行处理,进行展示。需要在每一个需要监视的部分放置sensor探针,进行数据的收集,以及归一化处理,将处理好的数据发送service。



    1. 入侵检测防御技术-Snort/Security Onion
      1.  Snort
        1.  Snort简介

在1998年,Martin Roesch用C语言开发了开放源代码(Open Source)的入侵检测系统Snort。直至今天,Snort已发展成为一个具有多平台(Multi-Platform)、实时(Real-Time)流量分析、网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS。Snort目前最新版本已更新至2.9.16。

Snort有三种工作模式:嗅探器数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

        1.  Snort原理

Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。

Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。

        1.  Snort工作过程

Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。网络中的数据包有可能是以太网包、令牌环包、TCP/IP包、802.11包等格式。在这一过程包解码器将其解码成Snort认识的统一的格式;之后就将数据包送到预处理器进行处理,预处理包括能分片的数据包进行重新组装,处理一些明显的错误等问题。预处理的过程主要是通过插件来完成,比如Http预处理器完成对Http请求解码的规格化,Frag2事务处理器完成数据包的组装,Stream4预处理器用来使Snort状态化,端口扫描预处理器能检测端口扫描的能力等;对数据包进行了解码,过滤,预处理后,进入了Snort的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort中最重要的部分,作用是检测数据包中是否包含有入侵行为。例如规则alert tcp any any ->202.12.1.0/24 80(msg:”misc large tcp packet”;dsize:>3000;)这条规则的意思是,当一个流入202.12.1.0这个网段的TCP包长度超过3000B时就发出警报。规则语法涉及到协议的类型、内容、长度、报头等各种要素。处理规则文件的时候,用三维链表来存规则信息以便和后面的数据包进行匹配,三维链表一旦构建好了,就通过某种方法查找三维链表并进行匹配和发生响应。规则检测的处理能力需要根据规则的数量,运行Snort机器的性能,网络负载等因素决定;最后一步就是输出模块,经过检测后的数据包需要以各种形式将结果进行输出,输出形式可以是输出到alert文件、其它日志文件、数据库UNIX域或Socket等。

        1.  Snort部署

Snort的部署非常灵活,很多操作系统上都可以运行,可以运行在windows、linux等操作系统上。用户在操作系统平台选择上应考虑其安全性,稳定性,同时还要考虑与其它应用程序的协同工作的要求。如果入侵检测系统本身都不稳定容易受到攻击,就不能很好的去检测其它安全攻击漏洞了。在Linux与Windows操作系统相比较之下,Linux更加健壮,安全和稳定。Snort的运行,主要是通过各插件协同工作才使其功能强大,所以在部署时选择合适的数据库,Web服务器,图形处理程序软件及版本也非常重要。Snort部署时一般是由传感器层、服务器层、管理员控制台层三层结构组成。传感器层层就是一个网络数据包的嗅探器层,收集网络数据包交给服务器层进行处理,管理员控制台层则主要是显示检测分析结果。部署Snort时可根据企业网络规模的大小,采用三层结构分别部署或采用三层结构集成在一台机器上进行部署,也可采用服务器层与控制台集成的两层结构。

        1.  Snort不足

Snort入侵检测系统适应多种平台,源代码开放,使用免费,受众多用户喜爱,但也有不少缺点。Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。

      1.  

        Security Onion
        1.  

          Security Onion简介

Security Onion是一款专为入侵检测和NSM(网络安全监控)设计的Linux发行版。其安装过程很简单,在短时间内就可以部署一套完整的NSM收集、检测和分析的套件。Security Onion可能是主动的,用于识别漏洞或过期的SSL证书或者也可能是被动的,如事件响应和网络取证其镜像可以作为传感器分布在网络中,以监控多个VLAN和子网。

        1.  

          Security Onion核心组件

Security Onion里面的组件包括:snort(入侵检测引擎)、suricata(入侵检测引擎)、bro(入侵检测分析系统)、sguil(入侵检测分析系统)、squert(前端显示)、snorby(前端显示)、wireshark(抓包)、xplico(流量审计)。大致分类如下:

  • 完整数据包捕获;
  • 基于网络和主机的入侵检测系统(HIDS和NIDS);
  • 强大的分析工具

完整数据包捕获通过netsniff-ng完成netsniff-ng能捕获到所有传感器看到的和存储的流量(安全Onion有一个内置机制可在磁盘满容量之前清除旧数据)。完整的数据包捕获就像摄像机,但更好,它不仅能告诉我们数据的流向还能知道他们携带的内容(Exp的Payload-通过系统漏洞进行攻击在目标系统下执行远程代码或命令钓鱼邮件和文件泄露等)。

基于网络和基于主机的入侵检测系统分别分析网络流量和主机系统,并为检测的事件和活动提供日志和警报数据。Security Onion提供了多个IDS选项,包括NIDS及HIDS

  • NIDS

对于基于网络流量的检测,主要提供了规则驱动及分析驱动两种驱动方式。

规则驱动的NIDS:Security Onion提供了Snort(http://snort.org/)或Suricata(http://suricata-ids.org/)的选择。基于规则查看网络流量中是否存在于已知的恶意、异常或其他可疑流量相匹配的指纹和标识符。

分析驱动的NIDS:对于分析驱动的网络入侵检测,Security Onion提供了网络安全监控的神器—Bro,也称为Bro IDS(http://bro-ids.org/)。与基于规则的IDS在数据中大海捞针不同。Bro会监控网络活动并记录所有连接、DNS请求、检测到的网络服务和软件、SSL证书以及HTTP、FTP、IRC SMTP、SSH、SSL和Syslog,它提供了一个真实的深度和可视性,可以显示网络上的数据和事件。此外,Bro包含许多常见协议的分析器,默认情况下,它能根据Team Cymru的恶意软件哈希注册表项目检查MD5文件下载的总和。除了日志记录和流量分析器之外,Bro框架还提供了一种可拓展的实时分析网络数据的方式。最近与REN-ISAC的CIF(集体智慧框架)(http://csirtgadgets.org/collective-intelligence-framework/)提供的网络活动与最新社区情报源的实时关联。以便用户在访问已知的恶意IP、域名或URL的时候,及时发出警报。输入框架允许您我们可以将数据提供给Bro,也可以编写脚本。文件分析框架提供了与协议无关的文件分析,允许我们在文件通过网络时进行捕获,并自动将文件传递给沙箱或使用文件共享进行防病毒扫描。Bro具有很强的灵活性。

  • HIDS

对于基于主机的入侵检测,Security Onion为Windows,Linux和Mac OS提供了免费的开源HIDS方案—OSSEC(http://www.ossec.net/)。OSSEC可执行日志分析、文件完整性检查、策略监控、rookit检测,并实时报警和主动响应。我们可以将基于主机的事件和基于网络的事件关联起来,来识别是否有成功攻击的事件。

        1.  

          Security Onion分析工具

通过完整数据包捕获,以及IDS日志和Bro数据,我们拥有了大量数据。Security Onion也集成了以下工具去理解分析这些数据。

  • Sguil(http://sguil.sourceforge.net/)是“网络安全监控分析人员的控制台”。提供对收集的事件数据和上下文的可视性做验证检测。Sguil提供了一个可以用于查看Snort、Suricata和OSSEC的警报、Bro HTTP事件和被动实时资产检测系统(PRADS)警报的单一GUI(使用tcl/tk编写)。更重要的是,Sguil允许我们直接将警报转换为数据包捕获(通过Wireshark或NetworkMiner)或触发警报的完整会话记录。因此,我们不必只看到与警报关联的单个数据包,而留下一些无法回答的问题,例如“现在做什么?”或“接下来发生了什么?”,我们可以查看所有关联的流量并实际回答这些问题。另外,Sguil允许分析人员查询捕获的所有数据包,而不仅仅是涉及警报的数据包,因此我们可以关联可能未触发任何警报但仍可能与恶意或不需要的活动相关联的流量。最后Sguil允许分析人员执行与警报相关的反向DNS和whois查询IP地址。Sguil是主要的Security Onion工具,可以为告警提供最多的环境。

  • Squert (http://www.squertproject.org/),是Sguil数据库的Web应用程序接口。虽然它既不是实时(或接近实时)的接口,也不是Sguil的替代品,但它允许查询Sguil数据库并为数据提供多种可视化选项,如时间序列表示、加权和逻辑分组结果集和IP地理位置映射。

  • ELSA企业日志搜索和存档( https://code.google.com/p/enterprise-log-search-and-archive/),是一个基于Syslog-NGMysql和Sphinx全文搜索的集中式syslog框架。它提供了一个完全异步的基于Web的查询页面,可以对日志进行规范化处理。并且可以像搜索网页一样方便快捷地为任意字符串搜索数十亿个字符串。它还包括用于分配查看日志的权限以及基于电子邮件的警报,预定查询和图表的工具。ELSA是一个强大的搜索工具,可以让您轻松梳理Security Onion收集到的大部分以及我们转发给它的任何其他系统日志源,使我们可以查看可发送给ELSA的任何相关系统日志数据

        1.  

          Security Onion部署方案

Security Onion建立在分布式客户端-服务器模型上。Security
Onion 的“sensor(传感器)”是客户端, “server”就是服务器。服务器和传感器组件可以在单个物理机器或虚拟机上运行,也可以将多个传感器分布在整个基础架构中,并配置为向指定服务器报告。分析人员从客户端工作站(通常是虚拟机安装)连接到服务器以执行查询和检索数据。

以下是Security Onion的三种部署方案:

独立部署:一个独立安装包括运行服务器和传感器组件和相关的处理都在单个物理或虚拟机的。独立安装可以有多个网络接口来监视不同的网段。独立安装是监控可从一个位置访问的网络的最简单和最方便的方法。

服务器 - 传感器部署:服务器-传感器安装包括运行服务器组件的单台机器,其中一台或多台独立机器运行传感器组件并向服务器报告。传感器运行所有嗅探过程并存储关联的数据包捕获、IDS警报以及Sguil和ELSA的数据库。分析人员从一台单独的客户端机器连接到服务器,并将发送到服务器的所有查询分发到相应的传感器,并将请求的信息返回给客户端。该模型通过将大量收集的数据保留在传感器上,直到分析人员的客户请求为止,从而减少网络流量。服务器和传感器之间的所有流量都被加密,客户端和服务器之间的所有流量都被加密。

混合部署:混合安装由独立安装组成,该独立安装还具有一个或多个独立传感器,可向独立计算机的服务器组件报告。

        1.  Security Onion的使用
  • 对硬件要求

Snort:200~300Mbps时开始丢包,500Mbps时无法工作(不推荐使用该引擎)

Suricata:能承受的流量比snort高,结合PFring可以承受很高的流量。

  • 部署要点

一般情况下,Security Onion的功能非常多。同时开启多个功能会非常消耗性能。部署的地点是首先要明确你要保护什么,想要获得什么情报。推荐的部署地点是出口线路、机密服务器到普通网络之间的线路。

  • 规则配置

Suricata可以使用ET和GPL等检测规则。但是后期需要信息安全工程师进行持续优化以及自定义。规则可以简单分为官方规则和自定义规则。官方规则是由一些专业的安全人员写出来的。一般如果不是对安全原理研究得特别深的情况下,不用去动他。自定义规则可以在官方规则基础上根据自己的需要进行修改。

        1.  Security Onion总结

通过对Security Onion的研究,我们拥有完整的数据包捕获、Snort或Suricata规则驱动的入侵检测,Bro事件驱动的入侵检测和OSSEC基于主机的入侵检测,一旦运行Security Onion安装程序,所有这些都会立即启动。这些具有各种依赖性和复杂性的不同系统可以无缝地运行在一起,否则需要数小时,数天或数周来自行组装和集成。曾经看似不可能完成的任务现在与Windows系统一样容易安装。

虽然Security Onion的安全配置比较简单,网上也有大量的资料。但是由于Security Onion集成了很多IDS组件,部分我们也用不到,都开启的话会非常消耗性能。建议还是应该根据自身的需求,选择更适合自身的某个方案,做深入的研究。例如Nids可以选择Snort、Suricata、Bro其中的一种,HIDS可以选择Ossec。



    1. 防火墙-PFSense/OPNSense
      1.  PFSense
        1.  PFSense简介

PFSense是一个基于FreeBSD架构的软件防火墙,通常会被安装在多网卡的主板上作为路由器或者防火墙去使用。往往这些硬件都比较廉价,PFSense具有商业防火墙的大部分功能,管理上非常简单,可以支持通过WEB页面进行配置,升级和管理而不需要使用者具备FreeBSD底层知识。PFSense部署在企业边缘网络上一般可以抵挡500Mbps的互联网流量。

        1.  PFSense核心功能

PFSense防火墙具有防火墙的基本状态监测包过滤功能,同时还支持NAT模式部署、流量管理、流量监控、上网行为管理、双机热备、负载均衡、VPN等重要功能。在管理维护方面支持相关性能的查看和报告生成功能,同时还可以被网络管理平台通过SNMP进行集中管理。在开源防火墙市场中,PFSense占有领先的地位。因PFSense安装及使用功能较多,如需更详细的了解请参考:
目录 | 鐵血男兒的BLOG

      1.  OPNSense
        1.  OPNSense简介

OPNsense是一款基于FreeBSD 10的年轻防火墙操作系统,它开始作为PFSense的一个分支,几乎所有的代码都被重写了,只保留了一小部分仍然与PFSense共享,并解决了许多PFSense的内核问题。但它的核心功能与PFSense没有很大的区别。

        1.  OPNSense与PFSense的功能差异

特征

OPNsense®

PFSense®

防火墙

状态检查

状态检查

基于Web的图形界面

基于Phalcon PHP框架的Bootstrap

*从2.3迁移到Bootstrap

安装安装向导

可配置仪表板

IPv4和IPv6支持

无线接入点

无线客户端支持

设置和筛选/隔离多个

-

接口(LAN)DMZ等)

流量管理

状态表控件

NAT

冗余/高可用性

多WAN支持

服务器入站负载平衡

是(虚拟服务器设置)

网络诊断工具

[ping]

[跟踪路由]

[通过GUI进行端口测试]

更多与包]如nmap

V-P-N

[IPsec(包括第2阶段NAT)]

[Openv-p-n]

[L2TP]

是(tramite插件)

是(tramite插件)

[PPPoE的]

是(tramite插件)

是(tramite插件)

[PPTP]

有(不认为安全)

无(因不确定而被删除)

RRD图

否(系统健康)

实时接口流量图

动态DNS

入网门户

DHCP服务器和中继(IPv4和IPv6)

命令行shell访问

局域网唤醒

内置数据包捕获/嗅探器

备份和恢复fw配置

通过Web GUI编辑文件

虚拟接口:

[VLAN]

[LAGG / LACP]

是/是

是/是

[GIF]

[GRE]

[PPPoE / PPTP / L2TP / PPP WAN]

是/是/是/是

是/是/是/是

[QinQ]和网桥]

缓存DNS转发器/解析器

可以运行在许多虚拟化环境中。

代理服务器

使用插件

IPS

是(基于Suricata:已包括在内)

SNORT(EXTRA PACKAGE)

IDS

是(基于Suricata:已包括在内)

SNORT(EXTRA PACKAGE)

安全更新

每周

不定期发布修补版本

        1.  OPNSense与PFSense的性能差异

为了有另一个比较,通过文件传输测试一些系统性能,选择在两个防火墙入口级别后面连接的两台主机之间进行文件传输测试。测试结果表明,从Host1到Host2的流量通过不同连接方式(OpenV-P-N、通过v-p-n IPSec通过直接路由)连接两个防火墙系统,在这两个防火墙系统为所有测试注册了几乎相同的性能。测试过程中记录了以Mbps报告的表达值:

吞吐量

OPNsense®

PFSense®

文件传输OpenV-P-N

40-42 Mbps

40-42 Mbps

文件传输直接(路由)

150-330Mbps

150-330Mbps

文件传输V-P-N IPSec

150Mbps

150Mbps

        1.  OPNSense与PFSense的对比结果

在网络上通过阅读这两个项目的优点和缺点,两者之间的竞争对于项目和用户都是有利的无论选择何种方式,都会是一个好产品。除了已经描述的微小差异之外,防火墙现在非常相似,系统性能几乎是相同的,都是从同一个操作系统派生的。在硬件兼容性方面,我们没有注意到特别的差异以及特性90%是相同的。从图形上看,OPNSense比PFSense更好,菜单更加直观。但从经验及优秀社区来看PFSense拥有更好的声誉,最终到底如何选择,需对两者做深入研究及更深入的测试再做结论。



    1. Web应用防火墙或WAF-ModSecurity+OpenResty
      1.  

        ModSecurity
        1.  

          ModSecurity简介

ModSecurity是一个开源的跨平台Web应用程序防火墙(WAF)引擎,用于Apache,IIS和Nginx。作为WAF产品,ModSecurity专门关注HTTP流量,当发出HTTP请求时,ModSecurity检查请求的所有部分,如果请求是恶意的,它会被阻止和记录,同时也是nginx官方推荐的WAF

        1.  

          ModSecurity核心功能
  • SQL Injection (SQLi):阻止SQL注入
  • Cross Site Scripting (XSS):阻止跨站脚本攻击
  • Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
  • Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
  • Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
  • PHP Code Injectiod:阻止PHP代码注入
  • HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
  • HTTPoxy:阻止利用远程代理感染漏洞进行攻击
  • Shellshock:阻止利用Shellshock漏洞进行攻击
  • Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
  • Scanner Detection:阻止黑客扫描网站
  • Metadata/Error Leakages:阻止源代码/错误信息泄露
  • Project Honey Pot Blacklist:蜜罐项目黑名单
  • GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断


        1.  ModSecurity核心规则集(CRS)

ModSecurity CRS项目的目标是提供一个容易的“可插入”组通用攻击检测规则提供一个基本水平的保护任何web应用程序。

    ModSecurity CRS提供保护如果以下攻击/威胁类别:

  • HTTP协议保护
  • 实时黑名单查询
  • HTTP拒绝服务的保护
  • 通用网络攻击防护
  • 错误检测和隐藏
        1.  

          ModSecurity劣势

不支持检查响应体的规则,如果配置中包含这些规则,则会被忽略,nginx的的sub_filter指令可以用来检查状语从句重写响应数据,OWASP中相关规则是95X(https://f2ex.cn/modsecurity-crs-3-list/)。不支持OWASP核心规则集DDoS规则REQUEST-912-DOS- PROTECTION.conf,nginx本身支持配置DDoS限制,不支持在审计日志中包含请求和响应主体(v3.0.3以下不支持)。

        1.  

          OpenResty简介

OpenResty是一个通过Lua扩展Nginx实现的可伸缩的Web平台,内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。功能和nginx类似,就是由于支持lua动态脚本,所以更加灵活,可以实现鉴权、限流、分流、日志记录、灰度发布等功能。OpenResty通过Lua脚本扩展nginx功能,可提供负载均衡、请求路由、安全认证、服务鉴权、流量控制与日志监控等服务。

      1.  

        OpenResty
        1.  

          OpenResty应用场景
  • Web服务器

进行一些业务逻辑处理,甚至进行耗CPU的模板渲染,一般流程:mysql/redis/http获取数据、业务处理、产生JSON/XML/模板渲染内容,比如京东的列表页/商品详情页。

  • Web防火墙

可以进行IP/URL/UserAgent/Referer黑名单、限流等功能。

  • 接入网关 

实现如数据校验前置、缓存前置、数据过滤、API请求聚合、认证管理、负载均衡、流量控制、灰度发布、降级、监控等功能。

        1.  

          OpenResty功能
  • 鉴权:基于接入应用进行授权验证
  • 安全防护:只有授权的应用才能访问对应的api,ip黑名单机制。 扩展:可根据设备id,地理位置,敏感数据二次检验等
  • 限流:防止外界系统对当前系统的过渡调用,导致服务超载,影响核心业务的使用
  • 动态配置更新:运行时变更API、分组、组件等配置,自动同步、及时生效
  • 服务路由(rewrite):识别请求参数和路径转发上游API服务
  • 高可用:支持集群化,避免单点故障
  • 高性能:网关无状态,支持横向扩展,运行时弱依赖持久层,最大化提升网关整体性能
  • 熔断(待定):后端服务出现调用超时或者异常,系统自动熔断该服务
  • 健康检查(待定):针对已经被熔断的服务api,动态检测健康状态,若健康则修复已被熔断的api
  • 灰度发布:产品支持让指定部分客户端应用使用新版本API,其他应用继续使用以前的API,当新版本的API逐渐稳定后,所有用户能平滑过渡到新版本的API。使用灰度发布能够及早获得用户的意见反馈,完善产品功能,提升产品质量。让用户参与产品测试,加强与用户互动,降低产品升级所影响的用户范围
  • 缓存:缓存api后端服务返回的数据,降低后端服务的压力
  • 分布式缓存:当系统api缓存量大时  可使用redis等集群提高系统响应
  • 日志记录:以指定的维度存入日志系统,方便自定义审计和统计
  • 超时控制:通过API配置访问超时时间,超时后立即返回,避免工作线程长时间等等
  • 服务编排:将多个后端服务聚合成一个API暴露,减小客户端开发复杂度,快速生产新的API
  • 管理中心:API网关后台管理中心简洁明了,方便API网关管理员对API进行管理,数据面板方便了解系统运行情况
  • 监控中心:监控中心对API运行情况一目了然,通过分析API异常告警辅助系统运维


      1. ModSecurity+OpenResty+WASP CRS=OpenWAF

OpenWAF是基于openresty的Web应用防护系统(WAF),他基于nginx_lua API分析HTTP请求信息。OpenWAF由行为分析引擎和规则引擎两大功能引擎构成。其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。

规则引擎的启发来自modsecurityfreewaf(lua-resty-waf),将ModSecurity的规则机制用lua实现。基于规则引擎可以进行协议规范,自动工具,注入攻击,跨站攻击,信息泄露,异常请求等安全防护,支持动态添加规则,及时修补漏洞。

行为分析引擎包含基于频率的模糊识别,防恶意爬虫,人机识别等防探测模块,防CSRF,防CC,防提权,文件上传防护等防攻击模块,cookie防篡改,防盗链,自定义响应头,攻击响应页面等防信息泄露模块。

除了两大引擎之外,还包含统计,日志,攻击响应页面,接入规则等基础模块。除了已有的功能模块,OpenWAF还支持动态修改配置, 动态添加第三方模块,使得在不重启引擎中断业务的条件下,升级防护。

OpenWAF:https://gitee.com/liaoshaojun/OpenWAF#chinese-mailing-list



    1. 威胁情报技术-MISP/OpenCTI
      1.  

        MISP
        1.  

          MISP简介

MISP开源威胁情报和共享平台(https://github.com/MISP/MISP)是一个开源软件解决方案,用于收集、存储、分发和共享网络安全指标网络安全事件分析恶意软件分析的威胁。MISP由事件分析人员、安全和ICT专业人员或恶意软件逆向人员设计,用于支持他们的日常操作,以有效地共享结构化信息。

MISP的目标是促进安全社区内外的结构化信息共享MISP提供了支持信息交换的功能,还支持网络入侵检测系统(NIDS)、LIDS和日志分析工具消耗这些信息。

        1.  

          MISP核心功能

(1)一个有效的IOC和指标数据库,允许存储有关恶意软件样本、事件、攻击者和情报的技术和非技术信息。

(2)从恶意软件、攻击活动或分析中自动找到属性和指标之间的关系。关联引擎包括属性之间的关联和更高级的关联,如模糊哈希关联(如ssdeep)或CIDR块匹配。每个属性还可以启用或禁用关联。

(3)一个灵活的数据模型,其中复杂的对象可以表达和连接在一起,以表达威胁情报,事件或连接的元素。

(4)内置的共享功能,以方便使用不同模型的分布数据共享。MISP可以自动同步不同MISP实例之间的事件和属性。高级过滤功能可用于满足每个组织的共享策略,包括灵活的共享组容量和属性级分发机制。

(5)一个直观的用户界面,供最终用户创建、更新和协作的事件和属性/指标。一个图形界面,可以在事件及其相关性之间无缝导航。事件图功能,用于创建和查看对象和属性之间的关系。高级过滤功能和警告列表,以帮助分析人员贡献事件和属性,并限制误报的风险。

(6)以结构化格式存储数据(允许出于各种目的自动使用数据库),并广泛支持网络安全指标以及金融领域的欺诈指标。

(7)导出:生成IDS、OpenIOC、纯文本、CSV、MISP XML或JSON输出,以便与其他系统(网络IDS、主机IDS、自定义工具)、缓存格式(用于取证工具)、STIX (XML和JSON) 1和2、NIDS导出(Suricata、Snort和Bro/Zeek)或RPZ区域集成。可以通过misp模块轻松添加许多其他格式。

(8)导入:大批量导入、批量导入、从OpenIOC、GFI沙箱、ThreatConnect CSV、MISP标准格式或STIX 1.1/2.0导入。许多其他格式很容易通过misp模块添加。

(9)灵活的免费文本导入工具,以方便将非结构化的报告集成到MISP中。

(10)一个温和的系统在事件和属性上进行协作,允许MISP用户对属性/指标提出更改或更新。

(11)数据共享:使用MISP与其他方和信任组自动交换和同步。

(12)灵活的API集成MISP与您自己的解决方案。MISP与PyMISP捆绑在一起,PyMISP是一个灵活的Python库,用于获取、添加或更新事件属性、处理恶意软件样本或搜索属性。一个详尽的restSearch API,可以方便地搜索MISP中的指示器,并将它们导出为MISP支持的所有格式。

(13)可调整的分类法,根据您自己的分类方案或现有的分类对事件进行分类和标记。分类法可以是MISP本地的,也可以在MISP实例之间共享。

(14)与现有的威胁角色、恶意软件、RAT、勒索软件或MITRE ATT&CK捆绑在一起的叫做MISP galaxy的情报词汇表。

(15)Python中的扩展模块,使用自己的服务扩展MISP或激活已经可用的MISP模块。

16)MISP中的实时发布-订阅通道,自动获取ZMQ(例如,MISP -dashboard)或Kafka发布中的所有更改(例如,新事件、指示器、视图或标记)。

17)交换信息可以更快地检测出目标攻击,提高检测率,同时减少误报。我们也避免逆向类似的恶意软件,因为我们很快就知道其他团队或组织已经分析了特定的恶意软件。

      1.  

        OpenCTI
        1.  

          OpenCTI简介

OpenCTI (https://www.opencti.io/en/)即 Open Cyber Threat Intelligence Platform,开放网络威胁情报平台。它的创建是为了构建、存储、组织和可视化有关网络威胁的技术和非技术信息。

它使用基于 STIX2 标准的知识模式来执行数据的结构化。并被设计为现代 Web 应用程序,包括 GraphQL API 和面向 UX 的前端。此外,OpenCTI 可以与其他工具和应用程序集成,如 MISP、TheHive、MITRE ATT 和 CK 等。

        1.  OpenCTI核心功能
  • 知识管理

OpenCTI 平台的首要目的是为强大的知识管理数据库提供一个强制架构,专为网络威胁情报和网络运营量身定做通过多种工具和查看功能,分析师可以通过在实体和关系之间的平台上旋转来探索整个数据集。关系具有拥有多个上下文属性的可能性,因此很容易为给定实体提供多个级别的上下文。

  • 数据可视化

OpenCTI 使分析师能够轻松地可视化任何实体及其关系。提供多种视图以及基于动态小部件的分析系统。例如,用户能够比较两种不同入侵的相关信息。将来,OpenCTI 路线图包括开发完整的调查能力,使分析师能够通过在统一空间中转向实体来探索整个知识图。

  • 可观察和指标上下文

OpenCTI目标是创建一个综合工具,允许用户利用技术(如 TTP 和可观察到的)和非技术信息(如建议的归因、受害情况等),同时将每条信息链接到其主要来源(报告、MISP 事件等)。所有指标都与威胁有关,所有信息都与分析人员充分了解情况、观察者对威胁、信息来源和恶意行为评分的作用有关。



    1. 漏洞扫描技术-OpenVAS/W3af
      1.  

        OpenVAS
        1.  

          OpenVAS简介

OpenVAS(https://www.openvas.org/)是类似Nessus的综合型漏洞扫描器,可以用来识别远程主机、Web应用存在的各种漏洞。Nessus曾经是业内开源漏洞扫描工具的标准,在Nessus商业化不再开放源代码后,在它的原始项自中分支出openVAS开源项目。经过多年的发展,openVAS已成为当前最好用的开源漏洞扫描工具,功能非常强大,甚至可以与一些商业的漏洞扫描工具媲美。OpenVAS使用NVT(Network Vulnerabilty Test网络漏洞测试)脚本对多种远程系统(包括Windows、Linux、UNix以及Web应用程序等)的安全问题进行检测。现基于B/S架构进行工作,执行扫描并提供扫描结果。

        1.  

          OpenVAS组件

  • 服务器层组件:

openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。

openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。

openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。

  • 客户层组件:

openvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。

greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的Web接口,便于通过浏览器来建立扫描任务,是使用最简便的客户层组件。

Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。

        1.  

          OpenVAS基本应用

新建任务,Scans->Tasks:

点击上图圈红图标->New Task或者快速开始,点击魔法棒图标->Task Wizard,输入扫描主机主机名或ip即可:

服务器和网关也同样进行扫描:

等到扫描任务完成后,即可导出报告:

漏洞报告列表:

 选择上图下载按钮,下载XML、CSV等格式的报告。报告中包含ip、主机名、端口号、漏洞等级、CVE编号、探测方法、影响、解决办法等。

      1.  

        W3af
        1.  

          W3af简介

w3af(http://w3af.org/)(Web Application Attack and Audit Framework)是一个Web应用程序攻击和审计框架。它的目标是创建一个易于使用和扩展、能够发现和利用Web应用程序漏洞的主体框架。w3af的核心代码和插件完全由Python编写。项目包含多种类型的插件,这些插件可以检测SQL注入、跨站脚本、本地和远程文件包含等漏洞。

        1.  W3af插件

核心模块负责进程的调度和插件的使用,插件部分负责查找并攻击Web安全漏洞。常用的插件包含:发现模块(discovery)、审计模块(audit)、搜索模块(grep)、攻击模块(attack)、输出模块(output)、修改模块(mangle)、入侵模块(evasion)、破解模块(bruteforce)

  • 发现模块:查找HTTP信息,并探测服务器、数据库、Web应用防火墙等,最重要的插件是webSpider。
  • 审计模块:用来探测漏洞的模块,如SQLi、XSS等
  • 搜索模块:用来捕获HTTP请求与应答过程中的一些关注信息(IP、Email、信用卡信息、个人信息等)。
  • 攻击模块:读取前面扫描所获取的扫描信息,通过该类模块中的各种插件来攻击安全漏洞。
        1.  W3af基本应用

安装成功后进入图形界面,点击full_audit这一步是为了配置扫描模式:

选择导出报告的文件类型:

在Target里面输入你想要测试的网站:

扫描完之后就可以进入到w3af的目录里面去查看导出的报告。



    1. 堡垒机技术-JumpServer
      1.  

        JumpServer简介

JumpServer(https://www.jumpserver.org/index.html) 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。 JumpServer 使用 Python / Django 为主进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。

      1.  

        JumpServer核心功能

身份认证
Authentication

登录认证

资源统一登录与认证

LDAP/AD 认证

RADIUS 认证

OpenID 认证(实现单点登录)

CAS 认证 (实现单点登录)

钉钉认证 (扫码登录)

企业微信认证 (扫码登录)

MFA认证

MFA 二次认证(Google Authenticator)

RADIUS 二次认证

登录复核

用户登录行为受管理员的监管与控制

登录限制

用户登录来源 IP 受管理员控制(支持黑/白名单)

账号管理
Account

集中账号

管理用户管理

系统用户管理

统一密码

资产密码托管

自动生成密码

自动推送密码

密码过期设置

批量改密

定期批量改密

多种密码策略

多云纳管

对私有云、公有云资产自动统一纳管

收集用户

自定义任务定期收集主机用户

密码匣子

统一对资产主机的用户密码进行查看、更新、测试操作

授权控制
Authorization

多维授权

对用户、用户组、资产、资产节点、应用以及系统用户进行授权

资产授权

资产以树状结构进行展示

资产和节点均可灵活授权

节点内资产自动继承授权

子节点自动继承父节点授权

应用授权

实现更细粒度的应用级授权

MySQL 数据库应用、RemoteApp 远程应用

动作授权

实现对授权资产的文件上传、下载以及连接动作的控制

时间授权

实现对授权资源使用时间段的限制

特权指令

实现对特权指令的使用(支持黑白名单)

命令过滤

实现对授权系统用户所执行的命令进行控制

文件传输

SFTP 文件上传/下载

文件管理

实现 Web SFTP 文件管理

工单管理

支持对用户登录请求行为进行控制

访问控制

登录资产复核(通过 SSH/Telnet 协议登录资产)

命令执行复核

组织管理

实现多租户管理与权限隔离

安全审计
Audit

操作审计

用户操作行为审计

会话审计

在线会话内容监控

在线会话内容审计

历史会话内容审计

录像审计

支持对 Linux、Windows 等资产操作的录像进行回放审计

支持对 RemoteApp、MySQL 等应用操作的录像进行回放审计

指令审计

支持对资产和应用等操作的命令进行审计

文件传输

可对文件的上传、下载记录进行审计

数据库审计
Database

连接方式

命令方式

Web UI方式

支持的数据库

MySQL

Oracle

MariaDB

PostgreSQL

功能亮点

语法高亮

SQL格式化

支持快捷键

支持选中执行

SQL历史查询

支持页面创建 DB, TABLE

会话审计

命令记录

录像回放



    1. 蜜罐技术-T-Pot/HFish
      1.  

        T-Pot
        1.  

          T-Pot简介
  1. Pot 蜜罐(https://github.security.telekom.com/)是德国电信下的一个社区蜜罐项目,是一个基于 Docker 容器的集成了众多针对不同应用蜜罐程序的系统,目前发行的最高版本是 2020 年 6 月 30 发布的 T-Pot 20.06,根据官方的介绍,每年都会发布一个新的版本。我们可以在同一台设备上运行多个蜜罐进程,每个蜜罐占用的空间较小并限制在蜜罐自己的环境中运行。

上图就是T-Pot的组成部分,T-Pot 可以理解成是这么多系统的一个整合。

        1.  

          T-Pot组件
  • adbhoney:为TCP/IP上的安卓调试桥而设计的低交互蜜罐,该项目的目的是提供一个低交互蜜罐,旨在捕捉攻击者正在攻击端口5555的受害者;
  • ciscoasa:提供的一个低交互作用的蜜罐,能够检测到CVE-2018-0101,一个DoS和远程代码执行漏洞;
  • conpot:Conpot 是一个低交互式的工业控制系统的蜜罐,内置了一系列常见的工业控制协议,并且易于修改和拓展,尽其所能的欺骗攻击者,以获得攻击者的最终目的;

项目地址:Conpot

监听端口:1025 50100

  • cowrie:基于kippo更改的中交互ssh蜜罐, 可以对暴力攻击账号密码等记录,并提供伪造的文件系统环境记录黑客操作行为, 并保存通过wget/curl下载的文件以及通过SFTP、SCP上传的文件;

项目地址:http://www.micheloosterhof.com/cowrie/

监听端口:2222 2223

  • dionaea:Dionaea 是一系列基于 Python 语言开发、libemu 作为 Shellcode 分析的蜜罐系统,支持多种不同协议(blackhole、epmap、ftp、http、memcache、mirror、mqtt、mssql、mysql、pptp、sip、smb、tftp、upnp),运行于Linux上的一个应用程序,将程序运行于网络环境下,它开放Internet常见服务的默认端口,当有外来连接时,模拟正常服务给予反馈,同时记录下出入网络数据流。网络数据流经由检测模块检测后按类别进行处理,如果有 shellcode 则进行仿真执行;程序会自动下载 shellcode 中指定或后续攻击命令指定下载的恶意文件;

项目地址:GitHub - DinoTools/dionaea: Home of the dionaea honeypot

监听端口:21 42 69/udp 8081 135 443 445 1433 1723 1883 1900/udp 3306 5060/udp 5061/udp

  • elasticpot:模拟elastcisearch RCE漏洞的蜜罐,通过伪造函数在/,/search, /nodes的请求上回应脆弱ES实例的JSON格式消息;

项目地址:GitHub - schmalle/ElasticpotPY: Elasticsearch honeypot written in Python with Bottle framework

监听端口:9200

  • elk-stack:ELK架构,可以同时实现日志收集、日志搜索和日志分析的功能;
  • ewsposter:数据分析工具ewsposter,将蜜罐数据进行关联。
  • glastopf:低交互型Web应用蜜罐, Glastopf蜜罐它能够模拟成千上万的web漏洞,针对攻击的不同攻击手段来回应攻击者,然后从对目标Web应用程序的攻击过程中收集数据。它的目标是针对自动化漏洞扫描/利用工具,通过对漏洞利用方式进行归类,针对某一类的利用方式返回对应的合理结果,以此实现低交互。
  • honeytrap:观察针对TCP或UDP服务的攻击,作为一个守护程序模拟一些知名的服务,并能够分析攻击字符串,执行相应的下载文件指令。
  • eMobility:eMobility 是一个高交互式的蜜罐,针对的是下一代的交通基础设施(充电桩系统),用于收集攻击者的动机和方法,系统主要包括中央充电系统、充电点以及模拟的用户交易。

项目地址:https://github.com/dtag-dev-sec/emobility

监听端口:8080

  • Glastopf:Glastopf 是一个 Python 语言开发的 Web 蜜罐,能提供各种基于漏洞类型的模拟。

项目地址:https://github.com/mushorg/glastopf

监听端口:80

  • HoneyTrap:HoneyTrap 是一个低交互式的蜜罐,通过监听 NFQUEUE 用户态数据包,相当与就监听了所有其他未监听的端口,主要功能用于观察攻击者的行为,同时也可以解析攻击的字符串,并且进行相应的下载保存。

项目地址:GitHub - armedpot/honeytrap: Last download from git://git.carnivore.it/honeytrap.git of Honytrap by Tillmann Werner

监听端口:NFQUEUE

  • Rdpy:Rdpy 是一个用 Python 实现的 RDP 和 VNC 协议,可以用作服务端以及客户端,同时也提供 RDP 的蜜罐,用于记录 RDP 的过程。

项目地址:https://github.com/citronneur/rdpy

监听端口:3389

  • vnclowpot:是一个低交互式的 VNC 蜜罐,主要用于记录 VNC 的认证过。

项目地址:GitHub - magisterquis/vnclowpot: Low-interaction VNC honeypot with a static challenge.

监听端口:5900

  • mailoney:SMTP协议的蜜罐。

项目地址:https://github.com/awhitehatter/mailoney

监听端口:25

  • netdata:web端设备性能的实时监控工具。
  • portainer:web端docker容器管理工具。
  • rdpy:python搭建的远程桌面蜜罐。
  • spiderfoot:web端的一个自动化爬虫工具。
  • suricata :Suricata 是一个网络 IDS、IPS 和 NSM 引擎,主要分析并记录下连接中一些有用的信息。

项目地址:GitHub - OISF/suricata: Suricata git repository maintained by the OISF

  •  p0f:p0f 利用一系列复杂的流量指纹识别,被动的来识别 TCP/IP 通信的对方信息,例如可以识别出对方的系统、在线时间等。

项目地址:p0f v3

  • vnclowpot:vnc服务的低交互蜜罐。
  • Wetty:web端的SSH控制台。
  • Elastic-Search:Elastic Search 一个性能十分强大的全文搜索引擎,他可以快速的进行海量数据的查询,在 T-Pot 的实际应用中,各个蜜罐所产生的日志都会导入到 Elastic Search 中,因此可以使用 Elastic Search 来进行检索,同时也可以使用他对数据进行各种复杂条件的查询和导出等。

项目地址:Elasticsearch: The Official Distributed Search & Analytics Engine | Elastic

监听端口:64298(本地,可以通过 64297 端口的 web 服务使用)

  • Logstash:Logstash 用于接收从蜜罐传递过来的日志,然后对数据进行过滤和格式化后交由 Elastic Search 进行存储和建立索引。

项目地址:Logstash: Collect, Parse, Transform Logs | Elastic

  • Kibana:Kibana 用于对进行数据的可视化查询,支持以柱状图、线状图、饼图、旭日图等等输出各种图形,也能通过时间序列对蜜罐日志某个特征的趋势进行分析。

项目地址:Kibana: Explore, Visualize, Discover Data | Elastic

监听端口:64296(本地,可以通过 64297 端口的 web 服务使用)

      1.  

        HFish
        1.  

          HFish简介

HFish (https://hfish.io)是一款基于 Golang 开发的跨平台多功能主动诱导型开源蜜罐框架系统,为了企业安全防护做出了精心的打造,全程记录攻击手段,实现防护自主化。不仅仅支持 HTTP(S) 蜜罐,还支持 SSH、SFTP、Redis、Mysql、FTP、Telnet等,同时提供 了API 接口,使用者可以随意扩展蜜罐模块 ( WEB、PC、APP ),Hfile使用 Golang + SQLite 开发,使用者可以在 Win + Mac + Linux 上快速部署一套蜜罐平台,当前官网最新版本是v2.5.0。

        1.  

          HFish原理

HFish由管理端(server)和节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。

        1.  

          HFish特点
  • 安全可靠:主打低中交互蜜罐,简单有效;
  • 蜜罐丰富:支持SSH、FTP、TFTP、MySQL、Redis、Telnet、VNC、Memcache、Elasticsearch、Wordpress、OA系统等10多种蜜罐服务,支持用户制作自定义Web蜜罐;
  • 开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业微信、飞书、自定义WebHook告警输出;
  • 快捷管理:支持单个安装包批量部署,支持批量修改端口和服务;
  • 跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台;
        1.  

          HFish功能

HFile主要包含攻击信息的查看、扫描感知、攻击来源信息的查看、账号资产被攻击信息、情报系统的对接、蜜罐服务的添加、节点的管理等功能

攻击列表

扫描感知



  1. 预研技术对比

名称

优点

缺点

入侵检测防御技术

Snort

数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合

功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报

Security Onion

功能较为强大,有完整的数据包捕获,Snort或Suricata规则驱动的入侵检测,Bro事件驱动的入侵检测和OSSEC基于主机的入侵检测。

由一系列开源组件组合而成,部署较为复杂,学习较为困难

防火墙

PFSense

支持NAT模式部署、流量管理、流量监控、上网行为管理、双机热备、负载均衡、VPN等重要功能,但从经验及优秀社区来看PFSense拥有更好的声誉

待深入研究

OPNSense

与PFSense有着相同的功能,都是从同一个操作系统派生的,菜单更加直观

待深入研究

WEB防火墙

ModSecurity

通过CRS核心规则集的配置可以有效的阻止常用的WEB攻击

待深入研究

OpenResty

实现如数据校验前置、缓存前置、数据过滤、API请求聚合、认证管理、负载均衡、流量控制、灰度发布、降级、监控等功能

待深入研究

威胁情报技术

MISP

OpenCTI

漏洞扫描技术

OpenVAS

基于WEB与主机的漏洞扫描服务,技术十分成熟,可以与市面的一些商业的漏扫工具相媲美

待深入研究

W3af

客户端扫描工具,集成了一些常用的扫描模块为WEB服务提供漏洞扫描

待深入研究

蜜罐技术

T-Pot

HFish



  1. 预研技术预计投入资源



  1. 总结

通过本次预研,对相关各类开源安全产品的功能、原理、特点有了初步的掌握及了解,如需更深入的了解各个产品的功能,还需进一步更深入的进行研究。在开源产品的选型上,安全运营产品可选择OSSIM进行深入研究;入侵检测防御技术可选择Security Onion进行深入研究;防火墙技术可选择OPNSense进行深入研究;WEB应用防火墙可选择OpenWAF进行深入研究;威胁情报技术可选择OPENCTI进行深入研究;漏洞扫描数据可选择OpenVAS进行深入研究;堡垒机技术可选择JumpServer进行深入研究;WEB应用蜜罐技术可选择HFish进入深入研究,其他应用蜜罐技术可选择T-Pot进行深入研究。

你可能感兴趣的:(web安全,安全,网络安全)