搜档网
当前位置:搜档网 › snort安装使用手册

snort安装使用手册

snort安装使用手册
snort安装使用手册

通过 Windows 二进制安装程序安装 Snort

您下载的 Windows 安装程序的名字应类似于 Snort_2_8_0_2_Installer.exe。运行安装程序,在 Windows 提示时确认您信任该应用程序,接受 Snort 许可协议。

选择数据库支持

您的第一个决定就是希望提供哪种类型的数据库支持。图 1 展示的屏幕允许您在默认设置(即支持 SQL Server 的配置)与支持 Oracle 的配置之间做出选择。

图 1. 选择所需的数据库登录支持

此屏幕上的选项均应用于登录:Snort 在嗅探包时可以登录数据库。(如果您对此感到迷惑,在下文中将得到解释。)如果您不希望登录到数据库,而是希望仅登录到文件,或者希望登录到 MySQL 数据库以及 Microsoft Access 等 ODBC 可访问的数据库,则应选择第一个选项。否则选择用于 SQL Server 或 Oracle 的选项。

选择要安装的组件

接下来是选择要包含在安装之中的组件(参见图 2)。

图 2. 指出您希望安装哪些 Snort 组件

这里有四个选项:Snort 本身、动态模块、文档和模式。没有理由不全部安装,完全安装只需要大约 24 MB 的空间,因此应选中所有组件继续操作。

选择安装目录

默认情况下,Snort 将安装在 C:\Snort 中,如图 3 所示。

图 3. 选择 Snort 安装目录

这个默认目录是理想的首选目录。因为 Snort 并没有过多的 GUI 组件,它实际上不属于典型的 Windows 应用程序,安装目录也不在 C:\Program Files 之下。除非您能够为 Snort 这样的程序选择标准安装目录,否则应使用默认设置。

安装和关闭

奇怪的是,Snort 并未提供非常有用的“安装完成”屏幕。与之不同,您将看到一个已经完成的状态条和一个 Close 按钮(如图 4 所示)。

图 4. 安装在此时已经完成

单击Close按钮,您就会看到弹出窗口,表明 Snort(几乎)已经为运行做好了准备(如图 5 所示)。

图 5. Snort 指出一些安装后的任务

安装 WinPcap

Snort 明确地告诉您:在 Snort 能够使用之前,还有一些安装工作需要完成。第一项就是 WinPcap。WinPcap 是 Windows Packet Capture Library 的简写,它提供了某种类型的网络访问,而 Snort 的 IDS 和包嗅探功能需要这些访问。请访问 WinPcap 的 Web 站点(参见参考资料),单击Get WinPcap链接。

选择最新的稳定版本下载,在本文撰写之时,最新版本是 4.0.2。下载包括一个Windows 安装程序,可双击启动它(如图 6 所示)。

图 6. WinPcap 的安装很简单

安装非常简单,只要连续单击 Next 按钮即可。这样,WinPcap 就可随时运行了。

编辑路径

接下来的内容有些偏离主题,至少不是这篇文章关注的主题。Snort 的安装提示您编辑 snort.conf 文件,观察在哪里查找规则和其他配置文件。这非常重要,但应该是我们后面讨论的话题。目前,只要安装好 Snort 和 WinPcap 即可。

但是,这里还有一个步骤,需要处理之后才能继续。您需要将 Snort 可执行文件添加到 PATH 语句之中,它的位置是 C:\Snort\bin\snort.exe(假设您选择的是默认安装目录)。设置的位置与操作系统有关。您需要找到 System Properties 对话框(在“控制面板”中或者选择“控制面板” > “系统”),选择Advanced System Properties,注意观察一个名为 Environment Variables 的按钮或选项卡。

其中有两个框(类似于图 7)。您需要选择上边的框,也就是用户变量,它仅应用于您的用户。(您很可能不希望系统上的所有用户都能运行 Snort,而无视您竭尽全力为某些程序设定的安全性制约。)

图 7. Windows 提供两组环境变量

如果还没有用于 PATH 的项,请选择上方的New...按钮。如果您已经有了一个项,则应选择Edit..。在对话框中,输入PATH作为变量名,输入C:\Snort\bin 作为值。图 8 展示了在完成时的效果。

图 8. 创建一个 PATH 变量并在 Snort 的可执行文件中指向它

选择OK,然后关闭所有对话框。打开命令提示符,键入 snort,您应看到类似于图 9 所示的输出结果。

图 9. 通过命令提示符运行 Snort

,,_ -*> Snort! <*-

o" )~ Version 2.8.0.2 (Build 75)

'''' By Martin Roesch & The Snort Team:

https://www.sodocs.net/doc/d06230757.html,/team.html

(C) Copyright 1998-2007 Sourcefire Inc., et al.

Using PCRE version: 7.6 2008-01-28

USAGE: snort [-options]

Options:

-A Set alert mode: fast, full, console, test or none (alert file alerts only)

"unsock" enables UNIX socket logging (experimental).

-b Log packets in tcpdump format (much faster!)

-B Obfuscated IP addresses in alerts and packet dumps using CIDR mask

-c Use Rules File

-C Print out payloads with character data only (no hex)

-d Dump the Application Layer

-D Run Snort in background (daemon) mode

-e Display the second layer header info

-f Turn off fflush() calls after binary log writes

-F Read BPF filters from file

-g Run snort gid as group (or gid) after initialization -G <0xid> Log Identifier (to uniquely id events for multiple snorts) -h Home network =

-H Make hash tables deterministic.

-i Listen on interface

-I Add Interface name to alert output

-k Checksum mode (all,noip,notcp,noudp,noicmp,none)

-K Logging mode (pcap[default],ascii,none)

-l Log to directory

-L Log to this tcpdump file

-M Log messages to syslog (not alerts)

-m Set umask =

-n Exit after receiving packets

-N Turn off logging (alerts still work)

-o Change the rule testing order to Pass|Alert|Log

-O Obfuscate the logged IP addresses

-p Disable promiscuous mode sniffing

-P Set explicit snaplen of packet (default: 1514)

-q Quiet. Don't show banner and status report

-r Read and process tcpdump file

-R Include 'id' in snort_intf.pid file name

-s Log alert messages to syslog

-S Set rules file variable n equal to value v

-t

Chroots process to after initialization

-T Test and report on the current Snort configuration

-u Run snort uid as user (or uid) after initialization -U Use UTC for timestamps

-v Be verbose

-V Show version number

-w Dump 802.11 management and control frames

-X Dump the raw packet data starting at the link layer

-y Include year in timestamp in the alert and log files

-Z Set the performonitor preprocessor file path and name -? Show this information

are standard BPF options, as seen in TCPDump Longname options and their corresponding single char version

--logid <0xid> Same as -G

--perfmon-file Same as -Z

--pid-path Specify the path for the Snort PID file

--snaplen Same as -P

--help Same as -?

--version Same as -V

--alert-before-pass Process alert, drop, sdrop, or reject before pass,

default is pass before alert, drop,...

--treat-drop-as-alert Converts drop, sdrop, and reject rules into alert

rules during startup

--process-all-events Process all queued events (drop, alert,...),

default stops after 1st action group --dynamic-engine-lib Load a dynamic detection engine

--dynamic-engine-lib-dir Load all dynamic engines from directory

--dynamic-detection-lib Load a dynamic rules library

--dynamic-detection-lib-dir Load all dynamic rules libraries from

directory

--dump-dynamic-rules Creates stub rule files of all loaded rules libraries

--dynamic-preprocessor-lib Load a dynamic preprocessor library

--dynamic-preprocessor-lib-dir Load all dynamic preprocessor libraries from

directory

--dump-dynamic-preproc-genmsg Creates gen-msg.map files of all loaded

preprocessor libraries

--create-pidfile Create PID file, even when not in

Daemon mode

--nolock-pidfile Do not try to lock Snort PID file --disable-inline-initialization Do not perform the IPTables initialization in inline

mode.

--loop In combination with the -r option,

this will read the tcpdump file continuously

for times. A value of 0 will read the pcap

until Snort is killed.

ERROR:

Uh, you need to tell me to do something...

Fatal Error, Quitting..

最后出现了错误,但在这个过程中完成了一些重要的事情:

1.它确认了 Snort 二进制文件已正确安装到了您的路径中。这也就是说,

您可以从计算机的任何目录运行它。

2.它为您提供了关于 Snort 版本及其相关库的重要信息。请注意靠近输出

顶端的这段输出内容:

,,_ -*> Snort! <*-

o" )~ Version 2.8.0.2 (Build 75)

'''' By Martin Roesch & The Snort Team:

https://www.sodocs.net/doc/d06230757.html,/team.html

(C) Copyright 1998-2007 Sourcefire Inc., et al.

Using PCRE version: 7.6 2008-01-28

3.

这使您可以轻而易举地看到正在运行的 Snort 和 PCRE 的版本。

4.它为您提供了可向 Snort 发送的简单命令纲要。

使用 Snort 进行嗅探

您知道,Snort 是一种入侵检测系统,但它是如何检测入侵的呢?Snort(和大多数高端 IDS)都会嗅探网络流量。嗅探器是一种工具或设备(带有网卡),用于监控计算机之间的网络流量。有些嗅探器是“第三方”,嗅探外部机器与嗅探器本身之间的流量。也有一些嗅探器会嗅探网络和嗅探器本身所在计算机之间

的流量。在下一期的文章中,我们将进一步介绍嗅探,如果您目前对嗅探有不明确的地方,请不要担心。

目前,嗅探是一种简单而有用的方法,能够确保 Snort 已安装且能够正常工作,能够监控网络流量。使用 -v 标记运行 snort 命令,这告知 Snort 嗅探网络流量,将信息输出到控制台。清单 8 展示了在 Mac OS X 机器上运行 snort -v 的输出结果。

清单 8. 使用 Snort 进行嗅探

[bdm0509:~] snort -v

Running in packet dump mode

--== Initializing Snort ==--

Initializing Output Plugins!

Verifying Preprocessor Configurations!

***

*** interface device lookup found: en0

***

Initializing Network Interface en0

ERROR: You don't have permission to sniff.

Try doing this as root.

Fatal Error, Quitting..

是的,这是一个错误,在这里输出有一个重要的目的:Snort 需要广泛的权限来完成大量工作。嗅探是一项基本操作,但毫无疑问,如果没有 root 权限,没有使用 sudo 的能力,就很难充分利用 Snort。

尝试相同的命令,但这一次在超级用户的账户下运行。您应看到类似于清单 9 的输出结果。必须使用 Ctrl+C 退出,否则 Snort 将一直运行。

清单 9. 使用 Snort 进行嗅探(成功的结果)

[bdm0509:~] sudo snort -v

Password:

Running in packet dump mode

--== Initializing Snort ==--

Initializing Output Plugins!

Verifying Preprocessor Configurations!

***

*** interface device lookup found: en0

***

Initializing Network Interface en0

Decoding Ethernet on interface en0

--== Initialization Complete ==--

,,_ -*> Snort! <*-

o" )~ Version 2.8.0.2 (Build 75)

'''' By Martin Roesch & The Snort Team:

https://www.sodocs.net/doc/d06230757.html,/team.html

(C) Copyright 1998-2007 Sourcefire Inc., et al.

Using PCRE version: 7.6 2008-01-28

Not Using PCAP_FRAMES

03/31-08:55:12.179192 192.168.1.102:64862 -> 239.255.255.253:427 UDP TTL:1 TOS:0x0 ID:10292 IpLen:20 DgmLen:64

Len: 36

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.179498 192.168.1.102:64863 -> 239.255.255.253:427 UDP TTL:1 TOS:0x0 ID:10293 IpLen:20 DgmLen:64

Len: 36

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.180121 192.168.1.102:64864 -> 239.255.255.253:427 UDP TTL:1 TOS:0x0 ID:10294 IpLen:20 DgmLen:64

Len: 36

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.180278 192.168.1.102:64865 -> 239.255.255.253:427 UDP TTL:1 TOS:0x0 ID:10295 IpLen:20 DgmLen:64

Len: 36

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.247880 192.168.1.102:64866 -> 192.168.1.255:137

UDP TTL:64 TOS:0x0 ID:10296 IpLen:20 DgmLen:78

Len: 50

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.248297 192.168.1.103:137 -> 192.168.1.102:64866

UDP TTL:64 TOS:0x0 ID:8075 IpLen:20 DgmLen:90

Len: 62

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:12.599248 192.168.1.102:55381 -> 192.168.1.101:139

TCP TTL:64 TOS:0x0 ID:10297 IpLen:20 DgmLen:64 DF

******S* Seq: 0x42127B5E Ack: 0x0 Win: 0xFFFF TcpLen: 44

TCP Options (8) => MSS: 1460 NOP WS: 0 NOP NOP TS: 1428368232 0 TCP Options => SackOK EOL

...

LOTS more output here

...

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:21.976018 0.0.0.0:68 -> 255.255.255.255:67

UDP TTL:64 TOS:0x0 ID:48134 IpLen:20 DgmLen:328

Len: 300

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:21.976800 ARP who-has 192.168.1.104 tell 192.168.1.1

03/31-08:55:22.968515 192.168.1.1:67 -> 255.255.255.255:68

UDP TTL:150 TOS:0x0 ID:6040 IpLen:20 DgmLen:576

Len: 548

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+

03/31-08:55:22.977578 ARP who-has 192.168.1.104 tell 192.168.1.104

^C*** Caught Int-Signal

Run time prior to being shutdown was 14.231224 seconds

===================================================================== ==========

Packet Wire Totals:

Received: 78

Analyzed: 78 (100.000%)

Dropped: 0 (0.000%)

Outstanding: 0 (0.000%)

===================================================================== ==========

Breakdown by protocol (includes rebuilt packets):

ETH: 78 (100.000%)

ETHdisc: 0 (0.000%)

VLAN: 0 (0.000%)

IPV6: 0 (0.000%)

IP6 EXT: 0 (0.000%)

IP6opts: 0 (0.000%)

IP6disc: 0 (0.000%)

IP4: 71 (91.026%)

IP4disc: 0 (0.000%)

TCP 6: 0 (0.000%)

UDP 6: 0 (0.000%)

ICMP6: 0 (0.000%)

ICMP-IP: 0 (0.000%)

TCP: 57 (73.077%)

UDP: 14 (17.949%)

ICMP: 0 (0.000%)

TCPdisc: 0 (0.000%)

UDPdisc: 0 (0.000%)

ICMPdis: 0 (0.000%)

FRAG: 0 (0.000%)

FRAG 6: 0 (0.000%)

ARP: 3 (3.846%)

EAPOL: 0 (0.000%)

ETHLOOP: 0 (0.000%)

IPX: 0 (0.000%)

OTHER: 4 (5.128%)

DISCARD: 0 (0.000%)

InvChkSum: 0 (0.000%)

Upconvt: 0 (0.000%)

Up fail: 0 (0.000%)

S5 G 1: 0 (0.000%)

S5 G 2: 0 (0.000%)

Total: 78

===================================================================== ==========

Action Stats:

ALERTS: 0

LOGGED: 0

PASSED: 0

===================================================================== ==========

Snort exiting

目前看来,这很可能没有太多意义,但没有关系。在本系列结束前,您将了解更多相关内容。目前,我们的任务是确保 Snort 已正确安装。如果您能够将 Snort 作为嗅探器运行,也就做好了继续使用 Snort 的准备,而不仅仅是向它发送令人迷惑的命令。

回页首

但我没有 root 访问权限!

至此为止,您已经了解到,Snort 需要的权限超过大多数普通用户账户的能力。即使您能够说服网络或系统管理员安装 Snort ——并且为他们没有安装

Snort 而惋惜——但如果没有获得额外的特权,您依然是只利用了 Snort 的部分功能。

然而,在普通的用户账户和 root 用户(或通过 sudo 命令授予的特权)之间仍然存在显著差异。大多数管理员都愿意帮助您缩短一点这个的差距。下面介绍了一种合理的方法,能使您的管理员允许您使用 Snort,并授予您使用 Snort 所需的权限:

安装 Snort

首先,安装 Snort。同样,某些管理员已经使用了 Snort。切记,Snort 不必运行在您希望保护和嗅探的机器之上。例如,您可能在几台服务器上管理几个 Web 站点。如果 Snort 能在所有服务器上运行并访问,并且您能够轻松通过远程登录使用它,这当然更好;但您也可以在您自己的机器上运行 Snort,并将其指向运行站点的服务器,从而获得大量信息。因此,您将能够使用 Snort 在您自己的桌面或笔记本电脑上为所欲为(重申一下,这并不是理想的做法,但至少可以算是朝着正确方向发展的一个步骤)。

如果管理员对您提起 Snort 毫无动情,请为他们推荐本文或参考资料中提到的某些 Snort 书籍。如果您能帮助保护他们负责的服务器,那么他们可能会更乐于为您提供所需的更多权限。

确保您可以运行 Snort

下一项优先任务就是确保您能够运行 snort 命令。因为 Snort 安装在

/usr/local/bin 中(默认目录),因此这非常简单,只需为所有用户或您的用户账户开放此目录,或者允许您的用户(或一个可以添加用户账户的组)使用该特定的二进制文件。最好的方法是首先提出最具体的请求。询问您的管理员,他们能否使您的特定用户账户可以运行 /usr/local/bin/snort。

实际上,大多数管理员都有较重的工作压力,往往十分忙碌。他们授予您的权限通常会超过您所要求的权限,但希望您不会提出一些在他们看来十分荒谬的要

求,例如为您的账户授予对其负责的服务器上所有重要可执行程序的访问权限。您通常会得到居中的权限,例如进入可访问 Snort 等并不通用的程序的组,但这些程序并不存在像更改用户密码或删除用户账户那样的危险。

确保您能够使用 Snort

遗憾的是,Snort 需要写入大量受限的目录,并且要在其中运行。这也就是说,即便您可以运行 Snort,通常也无法使用它来做任何有生产意义的事情。参考下面的步骤,并坚持阅读本系列文章,我们将提供解决方法。

首先,默认情况下,Snort 所做的许多工作都要在受限目录中完成,它可以请求不受保护的目录。因此,您可以选择使 Snort 登录您已经有权访问的目录,减少部分权限问题。但最终,您依然会看到错误,如清单 10 所示。

清单 10. 权限错误

[bdm0509:~] snort -v

Running in packet dump mode

--== Initializing Snort ==--

Initializing Output Plugins!

Verifying Preprocessor Configurations!

***

*** interface device lookup found: en0

***

Initializing Network Interface en0

ERROR: You don't have permission to sniff.

Try doing this as root.

Fatal Error, Quitting..

坏消息是:不存在好的规避方法,它需要通常与 root 用户相关联的权限。但也有好消息:也是这篇文章对 Web 开发人员而不仅仅是系统和网络管理员都有意义——您在本地机器上配置和运行的一切都适用于在生产机器上运行的Snort。因此,在您生成配置文件时,了解如何记录警报,为 Snort 开发规则,而这一切都在您的本地安装上完成(甚至可能是一台笔记本电脑),这样,您就是在构建一个可在任何位置检测入侵的系统。

虽然大多数管理员不会允许您自由支配,但许多管理员会准许您为他们提供脚本和规则文件(在下一期的文章中,我们将进一步介绍规则),由他们来替您运行——往往是在您小心谨慎的时候。这是最好的情况吗?或许不是,但仍然会提供站点保护,这也是底线。

使日志和警报通过邮件发送给您

对于大多数 IDS 和管理员来说,最遗憾的事实莫过于常常发现很多问题,也忽略了很多问题。管理员有繁重的工作,即便您已经很好地设置了 Snort,为它提供了可靠的规则,仍然不代表您将得到一个安全的系统。大多数入侵都需要操作。因而,如果有可能,您应该要求管理员通过邮件为您发送日志和警报文件,不久之后,您的 Snort 将可以生成此类文件。您可以每周要求一次,作为自动化作业完成,但还可能需要配置 Snort,在问题出现时,自动为您和管理员发送邮件。同样,弄清楚在您的机器上完成此任务的配置,然后将其提交给管理员,帮助管理员完成此工作。

这样,无论您是 root 用户、具有超级用户特权的网络管理员,还是因系统管理员保护过度而为安装 PHP 脚本据理力争的 Web 开发人员,您都将受益于对Snort 的深入理解。

回页首

试用三项功能

至此,您应已得到了可正常工作的 Snort 安装,也对使 Snort 运行(即便在半受限的环境中)有了一些深入的理解。在本文结束之前,我们有机会来观察和试用 Snort 的三项基本功能。这使您能够为下一篇文章做好准备,并具体了解Snort 能够为您的系统带来怎样的影响。

Snort 是一种包嗅探器

包就是一组格式化的数据。网络不习惯于用较大的数据块或较小的字节来表示数据,而习惯于以包为单位。包不仅提供了数据,还提供了关于数据的简单信息。这允许包的发送方表明所发送的数据类型,也使包的接收方能够在研究数据本身之前对包的数据略有认识(称为有效负载)。

我的 IP 地址是什么?

有多种方法可用于确定您的计算机的 IP 地址。大多数 GUI 都提供了以可视化方法查找计算机 IP 地址的手段。Windows 中的网络控制面板提供了相关报告(在 TCP/IP 协议下);在 Mac OS X 上,System Preferences 中的 Network 面板将告诉您 IP 地址。还可利用一些命令。在 Windows 中,从命令行中运行ipconfig。在 Mac OS X 、Linux 和 UNIX 中,ifconfig 的变体将完成此任务。

包嗅探器是一种工具,它会嗅探或调查包。使用 Snort,您可以在包的级别检查网络流量,这允许您查看原始数据,以及包的接收方附加到原始数据之上的信息。这是您使用带有 -v 标记的 snort 命令时获得的结果,将 Snort 作为包嗅探器运行时,您会获得三方面的信息:

1.关于 Snort 将信息记录到何处及其所检查的网络接口的信息。

2.Snort 所嗅探的包,发送到指定网络接口,或从指定网络接口发出。

3.Snort 在本次运行中完成的所有任务的汇总(在您结束嗅探时输出,通常

要使用 Ctrl+C 控制)。

在下一篇文章中,您将了解到这些包中究竟有哪些内容,如何开始对这些包进行基本分析。目前,只需思考一下,对于各包来说,所有信息是都是针对该包报告的。这里是一个包的输出结果:

03/31-08:55:12.180121 192.168.1.102:64864 -> 239.255.255.253:427

UDP TTL:1 TOS:0x0 ID:10294 IpLen:20 DgmLen:64

Len: 36

如果您不确定,可尝试在您自己的机器上嗅探包,使用您自己的 Snort 安装,作为辅助,您还需要查看自己的 IP 地址。这将允许您将尚不确定的内容整理在一起。

Snort 是一种包记录器

包嗅探非常出色,但如您所见,Snort 的包嗅探模式假设您一直关注着显示器,急切地查看数千行网络数据。当然,您已经有了需要设计的站点和需要掌控的世界,所以这显然不理想。通过为 Snort 添加 -l 开关,就能告诉它将包记录到您选定的目录中(如清单 11 所示)。

清单 11: 告诉 Snort 在何处记录包

[bdm0509:~/Documents/developerworks/snort_1] sudo snort -l myLogDir/ Password:

Running in packet logging mode

Log directory = myLogDir/

--== Initializing Snort ==--

Initializing Output Plugins!

Verifying Preprocessor Configurations!

***

*** interface device lookup found: en0

***

Initializing Network Interface en0

Decoding Ethernet on interface en0

--== Initialization Complete ==--

,,_ -*> Snort! <*-

o" )~ Version 2.8.0.2 (Build 75)

'''' By Martin Roesch & The Snort Team:

https://www.sodocs.net/doc/d06230757.html,/team.html

(C) Copyright 1998-2007 Sourcefire Inc., et al.

Using PCRE version: 7.6 2008-01-28

Not Using PCAP_FRAMES

请注意,这条命令在前台启动 Snort;如果此时按下 Ctrl+C,重新调出终端提示符,也就中止了 Snort 的记录。因此,应将 Snort 作为包记录器在一个可最小化、可忽略的窗口中运行,更好的方法是,将其作为长期运行的进程(作为守护进程或系统进程)。

退出此进程时,Snort 会为您提供与前述相同的汇总数据。但也会在您指定的目录中创建一个文件,列举所嗅探过的包:

[bdm0509:~/Documents/developerworks/snort_1] ls myLogDir/

snort.log.1206998502

打开这个文件,您将看到 Snort 运行时嗅探过的包的更多具体信息。但务必牢记,如果必须作为超级用户(使用 sudo)或 root 用户运行 Snort,也就必须使用相同的权限打开此文件。

查看该文件,它与上文列出的嗅探器输出略有不同。实际上,它的用处更小——除非您想了解 Snort 如何分析自己的文件。这也是另一篇文章的主题,现在您尝试了使用 Snort、使用命令行版本、包嗅探器,但包记录器的更多内容不在此处赘述。

Snort 是 IDS(或 NIDS)

从根本上来说,包嗅探和包记录(以及对这些记录的分析)都是入侵检测系统(或者说 Snort 的另一种称呼:NIDS,即网络入侵检测系统)的子系统。这是 Snort 最杰出的领域。也是涉猎广泛、讲究技巧的方面。由于入侵的类型不断迅速变化,Snort 有一组规则,您可从 Snort 的站点下载这些规则,它们详细阐述了这些入侵,允许 Snort 观察入侵。规则频繁更改,保证(至少是尝试保证)与最新攻击的各种类型保持一致。

此外,您需要配置 Snort,告诉它在感知到攻击时应采取怎样的措施。这是您此前与之建立良好合作关系的网络和系统管理员出面拯救您的站点的时机……让他们来负责采取措施应对攻击。但如果您能通过提交配置和规则文件来使他们注意到攻击,那么您就已经在这场游戏中占据了领先地位。

snort中文手册

<< Back to https://www.sodocs.net/doc/d06230757.html, Snort 中文手册 摘要 snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。(2003-12-11 16:39:12) Snort 用户手册 第一章 snort简介 snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。 嗅探器 所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的 控制台上。首先,我们从最基本的用法入手。如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令: ./snort -v 使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。如

./snort -vd 这条命令使snort在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令: ./snort -vde 注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价: ./snort -d -v –e 数据包记录器 如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort 就会自动记录数据包: ./snort -dev -l ./log 当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:192.168.10.1 如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络: ./snort -dev -l ./log -h 192.168.1.0/24 这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。 如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:

IDS SNORT ACID搭建流程

IDS-Snort+ACID搭建流程 >ACID入侵数据库分析控制台,通过WEB界面来查看snort数据的工具。为了使用ACID,用户系统中必须安装Snort,Apache,MYSQL,PHP。他们之间的关系如下: 1:当入侵者进入用户的网络后,snort根据规则检测到入侵行为后,根据其配置文件/etc/ snort/snort.conf的配置,将信息记录到MYSQL数据库中。 2:用户使用浏览器连接到IDS服务器,请求ACID页面。 3:PHP连接到数据库,提取信息。 4:Apache响应浏览器,用户就可以在浏览器中查看,操作等。 将Apache MYSQL PHP装上 安装ACID 以上软件包的作用: Snort主程序,不用说了。 安装过程中,会创建: /etc/snort存放规则和配置文件 /var/log/snort存放日志 /usr/share/doc/snort-xxx snort文档文件README就在这里。

/usr/sbin/snort-plain主程序文件 /etc/rc.d/init.d/snortd start restart stop脚本。 Snort-mysql代替系统snort的主程序文件,使snort可以支持mysql数据库。 Php-acid ACID软件包。里面一堆的以PHP写的网页。 Php-adodb跟PHP访问数据库有关,在/ar/www/adodb。 Php-jpgraph JPG图像函数库,ACID采用它来创建入侵数据的图表。分析图就是靠它来创建的,使用户能更直观的去分析。/var/www/jpgraph-xxx 安装完后创建一个PHP测试页,看看APACHE和PHP安装是否成功。 /var/www/html Vi index.php 配置MYSQL 启动MYSQL,service mysqld start 会提示需要设置root密码 Mysqladmin–u root password test 创建两个库snort_log snort_archive

snort实验

实验7 基于snort的IDS配置实验 1.实验目的 通过配置和使用Snort,了解入侵检测的基本概念和方法,掌握入侵检测工具的使用方法,能够对其进行配置。 2.实验原理 2.1 入侵检测基本概念 入侵检测系统(Intrusion Detection System简称为IDS)工作在计算机网络系统中的关键节点上,通过实时地收集和分析计算机网络或系统中的信息,来检查是否出现违反安全策略的行为和是否存在入侵的迹象,进而达到提示入侵、预防攻击的目的。入侵检测系统作为一种主动防护的网络安全技术,有效扩展了系统维护人员的安全管理能力,例如安全审计、监视、攻击识别和响应的能力。通过利用入侵检测系统,可以有效地防止或减轻来自网络的威胁,它已经成为防火墙之后的又一道安全屏障,并在各种不同的环境中发挥关键作用。 1.入侵检测系统分类 根据采集数据源的不同,IDS可分为基于网络的入侵检测系统(Network-based IDS,简称NIDS)和基于主机的入侵检测系统(Host-based IDS,简称HIDS)。 NIDS使用监听的方式,在网络通信的原始数据包中寻找符合网络入侵模版的数据包。NIDS的网络分析引擎放置在需要保护的网段内,独立于被保护的机器之外,不会影响这些机器的CPU、I/O与磁盘等资源的使用,也不会影响业务系统的性能。NIDS一般保护的是整个网段。 HIDS安装在被保护的机器上,在主机系统的审计日志或系统操作中查找信息源进行智能分析和判断,例如操作系统日志、系统进程、文件访问和注册表访问等信息。由于HIDS 安装在需要保护的主机系统上,这将影响应用系统的运行效率。HIDS对主机系统固有的日志与监视能力有很高的依赖性,它一般保护的是其所在的系统。 NIDS和HIDS各有优缺点,联合使用这两种方式可以实现更好的检测效果。 2.入侵检测系统的实现技术 入侵检测系统的实现技术可以简单的分为两大类:基于特征的检测(Signature-based)和基于异常的检测(Anomaly-based)。 基于特征的检测技术主要包括模式匹配和协议分析两种检测方法: 模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式知识库进行比较,以发

Snort详细安装步骤

S n o r t详细安装步骤Prepared on 21 November 2021

Snort使用报告 一、软件安装 安装环境:windows 7 32bit 二、软件:Snort 、WinPcap 规则库: 实验内容 熟悉入侵检测软件Snort的安装与使用 三、实验原理 Snort是一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS 四.安装步骤 1.下载实验用的软件Snort、Snort的规则库snortrules 和WinPcap. 本次实验使用的具体版本是Snort 、和WinPcap 首先点击Snort安装 点击I Agree.同意软件使用条款,开始下一步,选择所要安装的组件: 全选后,点 击下一步: 选择安装的 位置,默认 的路径为 c:/Snort/, 点击下一 步,安装完 成。软件跳 出提示需要 安装 WinPcap 以 上 2.安装 WinPcap 点击 WinPcap安装包进行安装 点击下一步继续: 点击同意使用条款: 选择是否让WinPcap自启动,点击安装: 安装完成点击完成。 此时为了看安装是否成功,进入CMD,找到d:/Snort/bin/如下图:(注意这个路径是你安装的路径,由于我安装在d盘的根目录下,所以开头是d:)

输入以下命令snort –W,如下显示你的网卡信息,说明安装成功了!别高兴的太早,这只是安装成功了软件包,下面还要安装规则库: 3.安装Snort规则库 首先我们去Snort的官网下载Snort的规则库,必须先注册成会员,才可以下载。具体下载地址为,往下拉到Rules,看见Registered是灰色的,我们点击Sign in: 注册成功后,返回到这个界面就可以下载了。下载成功后将压缩包解压到 Snort的安装文件夹内:点击全部是,将会替换成最新的规则库。 4.修改配置文件 用文件编辑器打开d:\snort\etc\,这里用的是Notepad++,用win自带的写字板也是可以的。找到以下四个变量var RULE_PATH,dynamicpreprocessor,dynamicengine,alert_syslog分别在后面添加如下路径: var RULE_PATH d:\snort\rules var SO_RULE_PATH d:\snort\so_rules var PREPROC_RULE_PATH d:\snort\preproc_rules dynamicpreprocessor file d:\snort\lib\snort_dynamicpreprocessor\ dynamicpreprocessor file d:\snort\lib\snort_dynamicpreprocessor\ dynamicpreprocessor file d:\snort\lib\snort_dynamicpreprocessor\ dynamicpreprocessor file d:\snort\lib\snort_dynamicpreprocessor\ dynamicpreprocessor file d:\snort\lib\snort_dynamicpreprocessor\ dynamicengine d:\snort\lib\snort_dynamicengine\ output alert_syslog: host=:514, LOG_AUTH LOG_ALERT 到现在位置配置完成,同样回到cmd中找到d:/Snort/bin/运行snort –v –i1(1是指你联网的网卡编号默认是1)开始捕获数据,如下: 运行一段时间后按Ctrl+c中断出来可以看见日志报告:

Snort中文手册范本

Snort 用户手册 Snail.W 第一章 snort简介 snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。嗅探器所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把TCP/IP信息打印在屏幕上,只需要输入下面的命令:./snort -v 使用这个命令将使snort只输出IP和TCP/UDP/ICMP的信息。如果你要看到应用层的数据,可以使用:./snort -vd 这条命令使snort在输出信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:./snort -vde 注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:./snort -d -v –e 数据包记录器如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包:./snort -dev -l ./log 当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:192.168.10.1 如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络:./snort -dev -l ./log -h 192.168.1.0/24 这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:./snort -l ./log -b 注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有容都会被记录到日志文件中。你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如:tcpdump或者Ethereal。使用-r功能开关,也能使snort读出包的数据。snort在所有运行模式下都能够处理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:./snort -dv -r packet.log 在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取ICMP 包,只需要输入下面的命令行:./snort -dvr packet.log icmp 网络入侵检测系统snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf snort.conf是规则集文件。snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort就输出到/var/log/snort目录。注意:如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。此外,在绝大多数情况下,也没有必要记录数据链路层的,所以-e选项也可以不用:./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf 这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。网络入侵检测模式下的输出选项在NIDS模式下,有很多的方式来配置snort的输出。在默认情况下,snort以ASCII格式记录日志,使用full报警机制。如果使用full报警机制,snort会在之后打印报警消息。如果你不需要日志包,可以使用-N选项。 snort有6种报警机制:full、fast、socket、syslog、smb(winpopup)和none。其中有4个可以在命令行

snort入侵检测实验报告

实验:入侵检测系统(Snort)的安装与配置 一、实验目的 学会WINDOWS下SNORT的安装与配置 二、实验环境 WinXP虚拟机 三、实验步骤与结果 一.在“我的电脑”中C盘中建立文件夹“zhangxiaohong” 二.安装WinPcap,运行,默认安装。 三.安装mysql,运行5.0.22,选择自定义安装选择安装路径C:\zhangxiaohong\mysql 下,安装时注意:端口设置为3306(以后要用到),密码本实验设置成123 四.安装apache 1.运行 2.2.4,安装到c:\zhangxiaohong\Apache 2.安装Apache,配置成功一个普通网站服务器 3.出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续 4.确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续 5.将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续 6.选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选 择Custom,有更多可选项。按“Next”继续 7.出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”, 选择“ This feature, and all subfeatures, will be installed on local hard

drive.” 8.即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选 “Change...”,手动指定安装目录。 9.我这里选择安装在“C:\zhangxiaohong\Apache”,各位自行选取了,一般建 议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。 10.返回刚才的界面,选“Next”继续。 11.好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打 “.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。 12. 五.安装和配置PHP53、安装winpcap 1.解压php-5. 2.5-Win32到c:\zhangxiaohong\php 2.添加gd图形库支持 复制c:\zhangxiaohong\php\和c: \zhangxiaohong\php\文件到C:\Windows\system32复制c: \zhangxiaohong\php\到C:\Windows文件夹并重命名为, 修改,分别去掉“extension=”和“extension=”前的分号, 3.并指定extension_dir="c:\zhangxiaohong\php\ext", 4.同时复制c:\zhangxiaohong\php\ext下的与到C:\Windows\system32 在C:\zhangxiaohong\apache\conf\中添加 LoadModule php5_module c:/zhangxiaohong AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .html AddType application/x-httpd-php .htm 5.重启Apache服务 在C:\zhangxiaohong\apache\htdocs目录下新建(文件内容为:)并使用访问测试是否能够显示当前Apache服务器的信息,如果能够显示表明Apache和php工作基本正常 六.安装snort 1.运行 安装在C:\zhangxiaohong\Snort下即可, 运行C:\zhangxiaohong\Snort\bin\或者在DOS中找到该位置, 如果安装 Snort成功会出现一个可爱的小猪 2.并按照以下修改C:\zhangxiaohong\Snort\etc\文件 3.打开文件

Snort详细安装步骤

Snort使用报告 一、软件安装 安装环境:windows 7 32bit 软件:Snort 2.9.5.5、WinPcap 4.1.1 规则库: snortrules-snapshot-2970.tar.gz 二、实验内容 熟悉入侵检测软件Snort的安装与使用 三、实验原理 Snort是一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS

四.安装步骤 1.下载实验用的软件Snort、Snort的规则库snortrules 和WinPcap. 本次实验使用的具体版本是Snort 2.9.5.5、snortrules-snapshot-2970.tar.gz 和WinPcap 4.1.3 首先点击Snort安装 点击I Agree.同意软件使用条款,开始下一步,选择所要安装的组件: 全选后,点击下一步:

选择安装的位置,默认的路径为c:/Snort/,点击下一步,安装完成。软件跳出提示需要安装WinPcap 4.1.1以上 2.安装WinPcap 点击WinPcap安装包进行安装 点击下一步继续:

点击同意使用条款: 选择是否让WinPcap自启动,点击安装:

安装完成点击完成。 此时为了看安装是否成功,进入CMD,找到d:/Snort/bin/如下图:(注意这个路径是你安装的路径,由于我安装在d盘的根目录下,所以开头是d:) 输入以下命令snort –W,如下显示你的网卡信息,说明安装成功了!别高兴的太早,这只是安装成功了软件包,下面还要安装规则库:

使用SNORT观察网络数据包和TCP链接

任课教师:舒挺,张芳 《计算机网络》 (2013-2014学年第2学期) 实 验 报 告 学号:2012329620006 姓名:章钰沁 班级:12级计算机科学与技术(1)班

实验三:使用SNORT观察网络数据包和TCP链接 一、实验内容和要求 ●学会安装使用自由软件SNORT ●截获以太网数据包,并分析和描述TCP连接的三个阶段。 ●截获ARP协议数据包并进行分析 二、实验步骤 第一部分安装snort 1、下载snort-2_0_4.exe 网址:https://www.sodocs.net/doc/d06230757.html,/dl/binaries/win32/snort-2_0_4.exe 2、下载WinPcap_3_0.exe http://winpcap.polito.it/install/bin/WinPcap_3_0.exe 3、安装snort和winpcap 4、打开DOS命令窗口COMMAND。进入snort的安装目录。Cd /snort/bin 5、执行snort –ev 出现以下屏幕,表示安装完成并能正常使用

6、用ctrl +C结束。 7、观察一个完整的TCP连接。 第二部分 1、在snort的工作目录中使用命令 snort –dev –l /snort/log 开始snort并将相应的log文件记录在log目录下。 2、另开一个命令窗口,键入命令 FTP https://www.sodocs.net/doc/d06230757.html, 3、观察ftp命令窗口 4、打开相应的log目录 5、查找到相应的TCP连接,并用文本分析器打开。对照ftp命令窗口中出现的结果,分析刚 才的TCP连接过程。

第三部分 观察ARP协议 1、同二,打开SNORT并记录。 2、在另一命令窗口执行以下命令: arp –a 观察高速缓存 telnet 192.168.0.3 discard 注:和一个在ARP缓存中不存在的主机进行telnet连接。 quit 3、quit 4、分析所捕获的数据包,并且写出arp的全过程。

snort-windows平台安装

安装环境 主要硬件: ProLiant DL365 G1 2200MHZ*2 1024MB667MHZ * 4 主要软件: Windows Server 2003 + Sp2 MS SQL 2000 + Sp4 相关软件及下载地址: Apache_2.2.6-win32-x86 https://www.sodocs.net/doc/d06230757.html, Php-5.2.4-Win32 https://www.sodocs.net/doc/d06230757.html,/downloads.php Snort_2_8_0_Installer https://www.sodocs.net/doc/d06230757.html,/dl/binaries/win32/ WinPcap_4_0_1 http://winpcap.polito.it/ base-1.3.8 https://www.sodocs.net/doc/d06230757.html,/project/showfiles.php?group_id=103348 ActivePerl-5.6.1.635-MSWin32-x86 adodb502a https://www.sodocs.net/doc/d06230757.html,/project/showfiles.php?group_id=42718 jpgraph-2.2 http://www.aditus.nu/jpgraph/jpdownload.php php5.2-win32-200710150430 https://www.sodocs.net/doc/d06230757.html,/ eventwatchnt_v233 oinkmaster-2.0 https://www.sodocs.net/doc/d06230757.html,/download.shtml 配置过程 先看一下软件在安装的过程中需要选择安装路径或解压缩路径时的大致目录结构 D:\win-ids>tree Folder PATH listing Volume serial number is 0006EE50 9C9B:B24B D:. +---adodb +---apache \_____D:\win-ids\apache\htdocs\base +---eventwatchnt +---oinkmaster +---perl +---php +---snort 1 安装apache 1.1: 设置server information,根据自己的实际情况进行修改 https://www.sodocs.net/doc/d06230757.html, https://www.sodocs.net/doc/d06230757.html, admin@https://www.sodocs.net/doc/d06230757.html, “For all user on port 80…” 1.2安装路径 d:\win-ids\apache 完毕后应该可以看到apache在系统托盘上的图标了,在浏览器中打开http://127.0.0.1看是否有成功页面的提示?

实训-Snort安装与配置

Snort安装与配置 Snort是免费NIPS及NIDS软件,具有对数据流量分析和对网络数据包进行协议分析处理的能力,通过灵活可定制的规则库(Rules),可对处理的报文内容进行搜索和匹配,能够检测出各种攻击,并进行实时预警。 Snort支持三种工作模式:嗅探器、数据包记录器、网络入侵检测系统,支持多种操作系统,如Fedora、Centos、FreeBSD、Windows等,本次实训使用Centos 7,安装Snort 2.9.11.1。实训任务 在Centos 7系统上安装Snort 3并配置规则。 实训目的 1.掌握在Centos 7系统上安装Snort 3的方法; 2.深刻理解入侵检测系统的作用和用法; 3.明白入侵检测规则的配置。 实训步骤 1.安装Centos 7 Minimal系统 安装过程不做过多叙述,这里配置2GB内存,20GB硬盘。 2.基础环境配置 根据实际网络连接情况配置网卡信息,使虚拟机能够连接网络。 # vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 TYPE="Ethernet" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" NAME="eno16777736" UUID="51b90454-dc80-46ee-93a0-22608569f413" DEVICE="eno16777736" ONBOOT="yes" IPADDR="192.168.88.222" PREFIX="24" GATEWAY="192.168.88.2" DNS1=114.114.114.114 ~

Snort简明使用手册

Snort简明使用手册2007-03-22 22:28Snort2.6——USAGE(中文) 1.0 开始使用snort Snort不是很难使用,但是也存在着很多的命令行选项需要掌握,并且它们中许多很多时候并不能一起使用。这个文件的目的就是使新人能够更简单的使用snort。 在我们进行下一步之前,有一些关于snort的基本概念需要了解。snort能够配置成三种模式运行: 嗅探器(sniffer),包记录器(packet logger)和网络入侵检测系统(NIDS)。嗅探模式(sniffer mode)简单的读取网络中的数据包,并以连续的数据流显示在控制台上。包记录模式(packet logger mode)把捕获的数据包记录在磁盘上。网络入侵检测模式(NIDS mode)是最复杂的、有机的配置,在这个模式下,snort分析网络中的数据,并通过使用用户自定义的规则集进行模式匹配,并根据匹配的结果执行多种操作。 2.0 嗅探模式(sniffer mode) 首先,让我们从基础开始。如果你只是想要在屏幕上打印出TCP/IP的包头信息(嗅探模式),使用下面的命令: ./snort –v 使用这个命令运行snort,将只显示IP和TCP/UDP/ICMP头信息,而不显示任何其它信息。如果你想要查看传输的有效负载信息,可以使用如下命令: ./snort –vd 这条命令在打印协议头信息的同时也打印相应的包数据。如果你想要一个更详细的现实,可以使用下面的命令来打印出数据链路层头信息: ./snort –vde (注:这些选项参数能够分开或者拆散成任和结合的方式。比如上一个命令也可以写做这种方式: ./snort -d -v –e 来达到同样的效果) 3.0 包记录模式(PACKET LOGGER MODE) 好的,上面的命令运行的都相当的好。但是如果你想要记录包到磁盘上,你需要指定一个记录目录,然后snort将自动的进入包记录模式: ./snort -dev -l ./log 当然,这里假设你在当前目录下有一个叫做“log”的目录。如果没有这个目录,snort将退出并返回错误信息。当snort以这种模式运行,它收集所有捕获的数据包,并根据数据包中一个主机的IP地址放入对应的目录中。 如果你只是简单的指定“-l”选项,你可能会发现snort有时使用远程计算机的地址作为存放数据包的目录,有时使用本地主机的地址。为了比较本地的网络,你需要告诉snort本地网络的信息: ./snort -dev -l ./log -h 192.168.1.0/24 这条指令让snort能够记录数据链路信息和TCP/IP头和应用数据到目录./log,并且记录和 192.168.1.0段C类网络相关的包信息。所有进来的包将记录到记录文件夹中对应的子文件夹中,子文件夹以远程主机(非192.168.1主机)的地址命名。注意,如果两个主机都是在本地网络内,然后他们将根据两个中高的端口号来记录,在端口号相等的情况下,将使用源地址来记录。 如果你在一个高速网络中,又或你想要使用一个更紧凑的格式来记录数据包为以后的分析所用,你可以考虑使用“二进制模式”来记录。二进制模式采用“tcpdump 格式”来记录数据包到指定目录下的单

snort规则选项

snort规则选项 规则选项组成了入侵检测引擎的核心,既易用又强大还灵活。所有的snort规则选项用分号";"隔开。规则选项关键字和它们的参数用冒号":"分开。按照这种写法,snort中有42个规则选 项关键字。 msg - 在报警和包日志中打印一个消息。 logto - 把包记录到用户指定的文件中而不是记录到标准输出。 ttl - 检查ip头的ttl的值。 tos 检查IP头中TOS字段的值。 id - 检查ip头的分片id值。 ipoption 查看IP选项字段的特定编码。 fragbits 检查IP头的分段位。 dsize - 检查包的净荷尺寸的值。 flags -检查tcp flags的值。 seq - 检查tcp顺序号的值。 ack - 检查tcp应答(acknowledgement)的值。 window 测试TCP窗口域的特殊值。 itype - 检查icmp type的值。 icode - 检查icmp code的值。 icmp_id - 检查ICMP ECHO ID的值。 icmp_seq - 检查ICMP ECHO 顺序号的值。 content - 在包的净荷中搜索指定的样式。 content-list 在数据包载荷中搜索一个模式集合。 offset - content选项的修饰符,设定开始搜索的位置。 depth - content选项的修饰符,设定搜索的最大深度。 nocase - 指定对content字符串大小写不敏感。 session - 记录指定会话的应用层信息的内容。 rpc - 监视特定应用/进程调用的RPC服务。 resp - 主动反应(切断连接等)。 react - 响应动作(阻塞web站点)。 reference - 外部攻击参考ids。 sid - snort规则id。 rev - 规则版本号。 classtype - 规则类别标识。 priority - 规则优先级标识号。 uricontent - 在数据包的URI部分搜索一个内容。 tag - 规则的高级记录行为。 ip_proto - IP头的协议字段值。 sameip - 判定源IP和目的IP是否相等。 stateless - 忽略刘状态的有效性。 regex - 通配符模式匹配。 distance - 强迫关系模式匹配所跳过的距离。 within - 强迫关系模式匹配所在的范围。

块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理

与处理器和输出模块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理接收到的数据。输出模块输出Snort探测机制所产生的数据。数据包通过Snort的流程图如图4-1所示。被捕获的数据包首先经过预处理器,然后,经过探测引擎根据规则处理。根据规则处理的结果,输出处理器处理日志或者告警。 Snort允许你对预处理器和输出模块进行配置,这些工作可以通过修改snort.conf来完成。在本书中,输入插件和预处理器是同一概念,输出插件和输出模块也是同一概念。本章将对这些组件进行讨论。 4.1预处理器 当Snort接收到数据包的时候,主探测引擎并不能对它们进行处理和应用规则,比如,数据包有可能是分片的,需要重新组装,预处理器就是做这样的工作,使数据能够被探测引擎处理,另外,一些预处理器还可以做一些其它工作,比如探测包中的一些明显错误。下面给你介绍预处理器如何工作。 在安装过程中,你可以在编译的时候选择对各种预处理器的支持。各种预处理器的配置参数在snort.conf中调整,你可以在通过这个文件打开或者关闭某个预处理器。 捕获的包要经过所有已经打开的预处理器,不能跳过,因此如果你如果打开了大量的预处理器,就会降低Snort的运行速度。 在snort.conf中,你可以用preprocessor关键字打开预处理器,格式如下: preprocessor [: parameters] 后面的参数通常是可选项。 你也可以编写自己的预处理器,察看Snort源代码doc目录中的README.PLUGIN文件,你可以获得相关的资料,也可以在templates目录中查看源代码示例。 4.1.1HTTP解码 Snort可以对HTTP协议各种形式的编码进行解码,并从中找出已知的攻击特征。你可以将HTTP服务器的端口列表作为HTTP解码预处理器的参数。例如下面的命令可以对在80,8080和443端口的HTTP相关数据包进行解码,以便探测引擎处理: preprocessor http_decode: 80 8080 443 尤其重要的是,如我们前面所提到的,关于HTTP的攻击也常用各种变换形式,如果应用HTTP 解码预处理器,就可以更有效的探测到这些企图。 4.1.2端口扫描 端口扫描是用来发现网络上主机开放的端口的方法。任何入侵者的第一个行动通常都是找出网络上在运行一些什么样的服务。一旦入侵者找到了这样的信息,就可以尝试针对相关服务弱点的攻击了。端口扫描预处理器的作用是监测端口扫描的活动,这种预处理器可以将端口扫描行为记录到指定的位置或者标准的日志。黑客们使用很多种扫描方式,你也可以查看nmap的文档来获得更多的信息。 下面是在snort.conf中应用端口扫描预处理器的大体格式: preprocessor portscan: