导航:首页 > 源码编译 > libnids源码

libnids源码

发布时间:2022-01-23 05:07:42

A. 我在网上下了NIDS的源代码,编译出现一下错误,应该怎么办

#define HAVE_REMOTE
#include "pcap.h"

B. 如何通过源码安装升级libpcap

安装libcap开发包后,再试试看 sudo apt-get install libpcap-dev sudo apt-get install libnids-dev sudo apt-get install libnet1-dev

C. 怎样用snort搭建防火墙 选修课考试 拜托了

Snort是一个着名的免费而又功能强大的轻量级入侵检测系统,具有使用简便、轻量级以及封堵效率高等特点,本文从实用操作的角度介绍了如何用Snort保证上网主机的安全。

入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施之后的新一代安全保障技术。它对计算机和网络资源上的恶意使用行为进行识别和响应,它不仅检测来自外部的入侵行为,同时也监督内部用户的未授权活动。而且,随着网络服务器对安全性要求的不断增大,如何在Linux环境下抵御黑客入侵和攻击,切实保证服务器的安全具有重大的实践意义。

Snort是一个强大的轻量级的免费网络入侵检测系统,其特点如下:

1.轻量级的网络入侵检测系统

Snort虽然功能强大,但其代码非常简洁、短小,源代码压缩包只有1.8M多。

2.Snort的可移植性好

Snort的跨平台性能极佳,目前已经支持类Unix下Linux、Solaris、Freebsd、Irix、HP-ux、微软的Windows2000等服务器系统。

3.Snort的功能非常强大

Snort具有实时流量分析和日志IP网络数据包的能力,能够快速检测网络攻击,及时发出报警。利用XML插件,Snort可以使用SNML(简单网络标志语言)把日志放到一个文件或者适时报警。Snort能够进行协议分析和内容的搜索/匹配,现在Snort能分析的协议有TCP、UDP、ICMP,将来可能增加对ARP、IPX等协议的支持。它能够检测多种方式的攻击和探测,例如缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测存在系统指纹特征的企图等。Snort的日志格式既可以是tcpmp式的二进制格式,也可以解码成ASCⅡ字符格式,更加便于用户尤其是新手检查。使用数据库输出插件,Snort可以把日志记录进数据库。使用TCP流插件,Snort可以对TCP包进行重组。

4.Snort的扩展性较好,对于新的攻击反应迅速

作为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。它使用一种简单的规则描述语言,最基本的规则只是包含四个域:处理动作、协议、方向、注意的端口,例如“log tcp any any-> 192.168.0.1/24 79”。发现新的攻击后,可以很快根据“bugtraq”邮件列表,找出特征码,写出检测规则。因为规则语言简单,所以容易上手,节省人员的培训费用。

5.遵循公共通用许可证GPL

Snort遵循通用公共许可证GPL,所以只要遵守GPL ,任何组织和个人都可以自由使用。

Snort的体系结构

包解码 Snort的包解码支持以太网和SLIP及PPP媒体介质。包解码所做的工作就是为探测引擎准备数据,其功能是捕获网络传输数据并按照TCP/IP协议的不同层次将数据包进行解析。Snort利用libpcap库函数进行数据采集, 该库函数可以为应用程序提供直接从链路层捕获数据包的接口函数,并可以设置数据包过滤器来捕获指定的数据。网络数据采集和解析机制是整个NIDS实现的基础,其中最关键的是要保证高速和低的丢包率,这不仅仅取决于软件的效率还同硬件的处理能力相关。对于解析机制来说,能够处理数据包的类型的多样性也同样非常重要。

探测引擎 探测引擎是Snort的心脏,它主要负责的工作是:按照启动时加载的规则,对每个数据包进行分析。探测引擎将Snort规则分解为链表头和链表选项进行引用。链表头由诸如源/目标IP地址及端口号这些普通信息标识,链表选项定义一些更详细的信息如TCP 标志、ICMP代码类型、特定的内容类型、负载容量等。探测引擎按照Snort规则文件中定义的规则依次分析每个数据包。与数据包中数据匹配的第一条规则触发在规则定义中指定的动作,凡是与规则不匹配的数据包都会被丢弃。

日志记录/告警系统 告警和日志是两个分离的子系统。日志允许将包解码收集到的信息以可读的格式或以tcpmp格式记录下来。可以配置告警系统,使其将告警信息发送到syslog、flat文件、Unix套接字或数据库中。在进行测试或在入侵学习过程当中,还可以关掉告警。缺省情况下,所有的日志将会写到/var/log/Snort文件夹中,告警文件将会写到/var/log/Snort/alerts文件中。Snort的数据包记录器子系统主要提供了如下方式:“Fast Model”,采取tcpmp的格式记录信息 ;“Readable Model”,按照协议格式记录,易于用户查看;“Alert to syslog”,向syslog发送报警信息;“Alert to text file”,以明文形式记录报警信息。

值得提出的是,Snort考虑到用户需要高性能的时候,即网络数据流量非常大,可以将数据包信息进行压缩从而实现快速报警。

D. 网络入侵的名词解释

1, 入侵检测技术(IDS)可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的系统。包括系统外部的入侵和内部用户的非授权行为,是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。
入侵检测方法很多,如基于专家系统入侵检测方法、基于神经网络的入侵检测方法等。目前一些入侵检测系统在应用层入侵检测中已有实现。
入侵检测通过执行以下任务来实现:
1.监视、分析用户及系统活动;
2.系统构造和弱点的审计;
3.识别反映已知进攻的活动模式并向相关人士报警;
4.异常行为模式的统计分析;
5.评估重要系统和数据文件的完整性;
6.操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
入侵检测系统典型代表
入侵检测系统的典型代表是ISS公司(国际互联网安全系统公司)的RealSecure。它是计算机网络上自动实时的入侵检测和响应系统。它无妨碍地监控网络传输并自动检测和响应可疑的行为,在系统受到危害之前截取和响应安全漏洞和内部误用,从而最大程度地为企业网络提供安全。
入侵检测系统目前存在的问题:
1. 现有的入侵检测系统检测速度远小于网络传输速度, 导致误报率和漏报率
2. 入侵检测产品和其它网络安全产品结合问题, 即期间的信息交换,共同协作发现攻击并阻击攻击
3. 基于网络的入侵检测系统对加密的数据流及交换网络下的数据流不能进行检测, 并且其本身构建易受攻击
4. 入侵检测系统体系结构问题
发展趋势:
1. 基于agent(注:代理服务)的分布协作式入侵检测与通用入侵检测结合
2. 入侵检测标准的研究, 目前缺乏统一标准
3. 宽带高速网络实时入侵检测技术
4. 智能入侵检测
5. 入侵检测的测度

2,在1998年,Martin Roesch先生用C语言开发了开放源代码(Open Source)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS.Snort符合通用公共许可(GPL——GUN General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它.snort基于libpcap。
snort系统组成:snort由三个重要的子系统构成:数据包解码器,检测引擎,日志与报警系统。
Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

3,SPAN技术主要是用来监控交换机上的数据流,大体分为两种类型,本地SPAN和远程SPAN.
----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),实现方法上稍有不同。
利用SPAN技术我们可以把交换机上某些想要被监控端口(以下简称受控端口)的数据流COPY或MIRROR一
份,发送给连接在监控端口上的流量分析仪,比如CISCO的IDS或是装了SNIFFER工具的PC. 受控端口和
监控端口可以在同一台交换机上(本地SPAN),也可以在不同的交换机上(远程SPAN)。
二、名词解释
SPAN Session--SPAN会话
SPAN会话是指一组受控端口与一个监控端口之间的数据流。可以同时对多个端口的进入流量或是一个端
口的外出流量进行监控,也可以对VLAN内所有端口的进入流量进行监控,但不能同时对多个端口的外出
流量及VLAN的外出流量进行监控,可以对处于关闭状态的端口设置SPAN,但此时的SPAN会话是非活动,
但只要相关的接口被打开,SPAN就会变为活动的。
监控端口最好是>=受控端口的带宽,否则可能会出现丢包的情况。
SPAN Traffic--SPAN的流量
使用本地SPAN可以监控所有的网络流量,包括multicast、bridge protocol data unit (BPDU),和CDP、
VTP、DTP、STP、PagP、LACP packets. RSPAN不能监控二层协议。
Traffic Types--流量类型
被监控的流量类型分为三种,Receive (Rx) SPAN 受控端口的接收流量,Transmit (Tx) SPAN 受控端口
的发送流量,Both 一个受控端口的接收和发送流量。
Source Port--SPAN会话的源端口(也就是monitored port-即受控端口)
受控端口可以是实际的物理端口、VLAN、以太通道端口组EtherChannel,物理端口可以在不同的VLAN中,
受控端口如果是VLAN则包括此VLAN中的所以物理端口,受控端口如果是以太通道则包括组成此以太通道组
的所有物理端口,如果受控端口是一个TRUNK干道端口,则此TRUNK端口上承载的所有VLAN流量都会受到监
控,也可以使用filter vlan 参数进行调整,只对filter vlan 中指定的VLAN数据流量做监控。
Destination Port--SPAN会话的目的端口(也就是monitoring port-即监控端口)
监控端口只能是单独的一个实际物理端口,一个监控端口同时只能在一个SPAN会话中使用,监控
端口不参与其它的二层协议如:Layer 2 protocols
Cisco Discovery Protocol (CDP),
VLAN Trunk Protocol (VTP),
Dynamic Trunking Protocol (DTP),
Spanning Tree Protocol (STP),
Port Aggregation Protocol (PagP),
Link Aggregation Control Protocol (LACP).
缺省情况下监控端口不会转发除SPAN Session以外的任何其它的数据流,也可以通过设置ingress
参数,打开监控端口的二层转发功能,比如当连接CISCO IDS的时会有这种需求,此时IDS不仅要接
收SPAN Session的数据流,IDS本身在网络中还会与其它设备有通讯流量,所以要打开监控端口的
二层转发功能。
Reflector Port--反射端口
反射端口只在RSPAN中使用,与RSPAN中的受控端口在同一台交换机上,是用来将本地的受控端口流量
转发到RSPAN中在另一台交换机上的远程监控端口的方法,反射端口也只能是一个实际的物理端口,
它不属于任何VLAN(It is invisible to all VLANs.)。
RSPAN中还要使用一个专用的VLAN来转发流量,反射端口会使用这个专用VLAN将数据流通过TRUNK端口
发送给其它的交换机,远程交换机再通过此专用VLAN将数据流发送到监控端口上的分析仪。
关于RSPAN VLAN的创建,所有参与RSPAN的交换机应在同一个VTP域中,不能用VLAN 1,也不能用
1002-1005,这是保留的(reserved for Token Ring and FDDI VLANs),如果是2-1001的标准VLAN,
则只要在VTP Server上创建即可,其它的交换机会自动学到,如果是1006-4094的扩展VLAN,则需要
在所有交换机上创建此专用VLAN.
反射端口最好是>=受控端口的带宽,否则可能会出现丢包的情况。
VLAN-Based SPAN--基于VLAN的SPAN
基于VLAN的SPAN只能监控VLAN中所有活动端口接收的流量(only received (Rx) traffic),如果
监控端口属于此VLAN,则此端口不在监控范围内,VSPAN只监控进入交换机的流量,不对VLAN接口上
的路由数据做监控。
(VSPAN only monitors traffic that enters the switch, not traffic that is routed between VLANs.
For example, if a VLAN is being Rx-monitored and the multilayer switch routes traffic
from another VLAN to the monitored VLAN, that traffic is not monitored and is not received
on the SPAN destination port. )
三、SPAN和RSPAN与其它特性的互操作性
Routing--SPAN不监控VLAN间的路由数据;(不好理解)
Routing—Ingress SPAN does not monitor routed traffic. VSPAN only monitors traffic that
enters the switch, not traffic that is routed between VLANs. For example, if a VLAN is
being Rx-monitored and the multilayer switch routes traffic from another VLAN to the
monitored VLAN, that traffic is not monitored and not received on the SPAN destination port.
STP--监控端口和反射端口不会参与STP,但SPAN对受控端口的STP没有影响;
CDP--监控端口不参与CDP;
VTP--RSPAN VLAN可以被修剪pruning;
VLAN and trunking--可以修改受控端口、监控端口和反射端口的VLAN和TRUNK设置,受控端口的改变
会立即生效,而监控端口和反射端口则要在从SPAN中去除后才会生效;
EtherChannel--整个以太通道组可以做为受控端口使用,如果一个属于某个以太通道组的物理端口被
配成了受控端口、监控端口或反射端口,则此端口会自动从以太通道组去除,当SPAN
删除后,它又会自动加入原以太通道组;
QoS--由于受QoS的策略影响,监控端口上收到的数据流会与受控端口实际的数据流不同,比如DSCP值
被修改等;
Multicast--SPAN可以监控组播的数据流;
Port security--安全端口不能做为监控端口使用;
802.1x--受控端口、监控端口和反射端口上可以设置802.1x,但有些限制。
四、SPAN和RSPAN的配置举例
SPAN的限制和缺省设置
Catalyst 3550交换机上最多只能设置两个SPAN Session,缺省SPAN没有使用,如果做了设置,缺省
情况下,第一个被设为受控端口的接口进出流量都会受到监控,以后再追加的受控端口只会对接收的
流量进行监控,监控端口的默认封装类型为Native,也就是没有打VLAN的标记。

阅读全文

与libnids源码相关的资料

热点内容
android图片变灰 浏览:265
linuxvi下一个 浏览:973
安卓手机的应用锁怎么解 浏览:733
linux增加路径 浏览:845
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:854
光遇安卓军大衣什么时候上线 浏览:838
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:13
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:823
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246