用开源NAC阻止非法网络访问

简介:

用开源NAC阻止非法网络访问

 

本文将要介绍的NAC代表网络准入控制(Network Access Control),在传统方法中,为了防止外来设备接入企业网可以采用在交换机上设置 IP-MAC绑定,结合ACL等方法使外来设备无法接入网络。目前市面上已经出现了一些上网行为管理和审计类产品,再此对比较知名的产品做一个概述性介绍,这些产品的功能也为接下来的研究工作提供了方向,具有指导性意义。

  • 深信服AC系列上网行为管理

  • 网康互联网控制网关

  • 思科NAC

除此之外,还包括华为、北信源等多款商业产品,下文将介绍几款开源的NAC工具,它们具有更加人性化的管理

1.       PacketFence简介


PacketFence是一个开源的网络访问控制软件,它使用NESSUS来对网络节点计算机进行漏洞扫描,从而发现设备中存在安全风险,一旦确定节点计算机中存在的安全风险,此终端就会被禁止访问目标网络。PacketFence还使用SNORT传感器来检测来自网络的攻击活动,并给出相应的警告。PacketFence支持对许多厂商的可网管交换机进行VLAN设置,通过划分不同VLAN来阻止不安全的终端接入网络,这些被支持的交换机包括H3CCiscoDELL等厂商生产的可网管交换机。PacketFence通过FreeRADIUS模块提供对802.1X无线的支持,能为我们提供一种和有线网络同样的安全控制方式。在管理上我们可以通过WEB和命令行界面来管理它。这些管理功能完全可以满足目前大部分中小企业的网络访问控制的需求。PacketFence可以在RHELCentOS LinuxDebian系统中运行,我们可以下载它的二进制文件包来安装,也可以下载它的一体化VMWare虚拟机文件来直接使用,我们可到http://www.packetfence.org/download/zen.html网站下载他的LiveCD(最新版本5.6.0文件,放到U盘便可作为启动系统而直接使用。

硬件配置:普通服务器,需要2块高性能千兆网卡(一块网卡用于链控制台,另一块网卡用于收集信息接在交换机的SPAN口),对于交换机的要求为可网管交换机。访问WEB界面:https://ip:1443/

 

2. PacketFence部署


PacketFence的部署和IDS系统一样,都可以采用旁路方式接入网络,即通过SPAN端口的旁路访问方式,还有种接法就是串接在防火墙之后,这样容易造成单点故障,故笔者建议采用旁路方式连接入网。

wKiom1aiO-ihNYoyAAKctNFDeuU074.jpg

此图清晰的显示了非法接入点的详细信息

wKiom1aiPB7BaIK9AAN204mFPvc946.jpg

wKiom1aiPFGQZQafAAHqta4YHoE563.jpg

 

举例:操作系统分布信息

wKiom1aiPITD7YktAAKst4wErdk724.jpg

举例:Packetence的日志

wKiom1aiPLjRA3NIAAZKG0XI4xY556.jpg

 

3. FreeNAC


FreeNAC也是一款开源免费的NAC软件,它同样提供了对交换机划分VLAN的功能,并以MAC地址来为计算机终端指定 动态VLAN,以此提供对局域网中各种资源的访问控制。FreeNAC能够对局域网中的服务器、工作站、打印机和IP电 话的进行访问控制。FreeNAC能够自动发现网络中存活的各种终端,并提供了对802.1x及思 科的VMPS端口安全模块 的支持,同时还提供系统补丁包分发等功能。不过,FreeNAC虽然提供了对非网管交换机 的支持,但使用非网管交换机会让其NAC功能大打折扣,因此,如果想发挥它所有的NAC功能,最好使用可网络交换机,而且,为了能使用思科的VMPS功能,最好使用思科的支持 VMPS的可网管交换机。

 

4. Xplico

 

     下面要说的这款开源工具,从功能上并不如上面两款NAC的功能强大,Xplico即是一个网络协议分析工具,还是一个开源的网络取证分析工具(NFAT),可发现异常,可以作为辅助NAC工具。Xplico的目标是从捕获的互联网应用数据中提取信息并显示出来,这指的是通过捕获Internet网络流量来提取各种网络应用中所包含的数据,并从中分析出各种不同的网络应用.例如Xplico可以实时解析通过网关的流量,也可以pcap文件中解析出IP流量数据,并解析每个邮箱(包括POP,IMAP,SMTP协议),解析所有HTTP内容,以及VOIP应用等。

XPlico系统是由四个部分组成的:


 解码控制器(Dema)
 IP/网络解码器(Xplico)
 程序集来处理解码数据(ManiPulators)
 可视化系统,用来查看结果


 解码器Xplico是整个系统的核心组件,它的特点是高度模块化,可扩展性和可配置性。它的主要工作过程是通过数据抓取模块(cap_dissector)抓取网络中的数据包,然后将数据包输入到各个解析组件(Dissectors)中,得出的解析结果通过分发组件(Dispatcher)存储到数据库中,最后再显示出来。其过程如下图所示。

wKioL1am-3qQ0pjdAAEsepI0Euw968.jpg

从上图可以看出,Xplico对协议的分析过程采取自顶向下的流程,首先Xplico捕获到网络数据包,然后根据包中的不同字段区分出不同的协议,分成TCP、UDP等协议进行分析,其中对TCP协议和UDP协议再根据不同的端口号和应用层协议的特征进一步细分,使用不同的解析器对报文进行分析和处理,最后得出结论并保存结果。

 


Xplico的数据获取方法


Xplico底层使用Libpcap来抓取数据包,它是一个著名的、专门用来捕获网络数据的编程接口。它在很多网络安全领域得到了广泛的应用,很多著名的网络安全系统都是基于LibPcap而开发的,如著名的网络数据包捕获和分析工具Tcpdump,网络入侵检测系统snort也是使用Libpcap来实现的。Libpcap几乎成了网络数据包捕获的标准接口。Libpcap中使用了BPF过滤机制,这部分是基于内核的过滤模块,它使Libpcap具有捕获特定数据包的功能,可以过滤掉网络上不需要的数据包,而只捕获用户感兴趣的数据包"使用Libpcap可以把从网络上捕获到的数据包存储到一个文件中,还可以把数据包信息从文件中读出,读出的结果与从网络上捕获数据包的结果是一样的。Libpcap的作用主要有以下四个方面:
1 捕获各种网络数据包
2 分析网络数据包
3 存储网络数据包
4过滤网络数据包

wKiom1am--HD3mjgAAMQn0kZ8Oc382.jpg

在Deft集成了Xplico下载,其详细部署方参见《Unix/Linux网络日志分析与流量监控》一书。

 该书评价 http://item.jd.com/11582561.html 



 本文转自 李晨光 51CTO博客,原文链接:http://blog.51cto.com/chenguang/1737794,如需转载请自行联系原作者



 

相关文章
|
2月前
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
|
4月前
|
网络协议
地址重叠时,用户如何通过NAT访问对端IP网络?
地址重叠时,用户如何通过NAT访问对端IP网络?
87 0
|
1天前
|
运维 安全 Cloud Native
安全访问服务边缘(SASE):网络新时代的安全与连接解决方案
SASE(安全访问服务边缘)是一种云基安全模型,结合了网络功能和安全策略,由Gartner在2019年提出。它强调身份驱动的私有网络、云原生架构和全面边缘支持,旨在解决传统WAN和安全方案的局限性,如高延迟和分散管理。SASE通过降低IT成本、提升安全响应和网络性能,应对数据分散、风险控制和访问速度等问题,适用于移动办公、多分支办公等场景。随着网络安全挑战的增加,SASE将在企业的数字化转型中扮演关键角色。
|
6月前
|
监控 安全 数据可视化
开源的网络监控工具:Sniffnet,简单而有趣!
开源的网络监控工具:Sniffnet,简单而有趣!
149 0
|
7月前
|
Java 网络安全 API
Java网络编程:实现远程文件访问与管理
Java是一门强大的编程语言,具有广泛的网络编程功能。在本篇博客中,我们将深入探讨如何使用Java编写应用程序,实现远程文件访问和管理。这是一个有趣且实用的主题,特别适合那些希望构建网络文件系统、实现文件共享或进行远程文件操作的开发人员。
143 0
|
3月前
|
JSON 监控 API
【实践】开源IDS网络流量分析与监控系统Zeek对接GrayLog
【实践】开源IDS网络流量分析与监控系统Zeek对接GrayLog
151 0
|
7月前
|
数据可视化 网络安全 网络虚拟化
如何搭建虚拟专有网络访问公司内网
如何搭建虚拟专有网络访问公司内网
240 0
|
4月前
|
缓存 Android开发 数据安全/隐私保护
android开发,使用kotlin学习HTTP访问网络
android开发,使用kotlin学习HTTP访问网络
68 0
|
5月前
|
网络协议 程序员 云计算
Alibaba永远滴神!阿里顶级技术官500页网络协议手记,限时开源
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。
|
6月前
|
域名解析 Web App开发 缓存
关于浏览器访问网络遇到的 ERR_NAME_NOT_RESOLVED 的错误
关于浏览器访问网络遇到的 ERR_NAME_NOT_RESOLVED 的错误
586 0