65.9K
CodeProject 正在变化。 阅读更多。
Home

MYSQLIDS - 入侵检测系统的快速浏览方法

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.38/5 (4投票s)

2004年6月7日

5分钟阅读

viewsIcon

44745

downloadIcon

937

使用 SNORT、Mysql、MyODBC 和 MYSQLIDS 的 IDS 场景

引言

使用 SNORT 的入侵检测系统(Sourcefire 和 Snort 是 Sourcefire, INC 的商标或注册商标)在报告网络上的任何事件方面一直保持着良好的记录,您可以在此基础上制定检测规则。使用 SNORT 或任何其他 IDS 系统的令人遗憾的一点是,您必须对网络拓扑有相当多的了解才能开始处理报告。该应用程序采取了一种方法,考虑到用户需要在凌晨 3 点在受感染的网络上进行分类(分类),并且睡眠不足。MYSQLIDS 根据如上所示的 5 个时间标准生成报告,并能够纠正 3 个时区。它还允许选择性地打印有效负载数据。输出被创建在一个通用文本文件中是有原因的。由操作系统或支持应用程序提供的支持复杂自动化的文件类型有能力启动 HTML 和病毒载荷。

背景

入侵数据库分析控制台 (ACID) 为 MYSQLIDS 提取的数据提供了良好的界面。它在许多方面将其包装得更好,除了透视性。您获得的数据比需要的要多,并且检索这些数据需要多次查询才能以有用的方式选择和排序数据。许多替代分析方法是脚本化或仅限于 LINUX 实现。MYSQLIDS 是第一代查询工具,用于在大型网络上进行短期分类和趋势分析。这是基于 MYSQL 4GB 数据库限制和检索效率的现实限制。您可以快速搜索具有相似时间范围的相关站点中的事件。此工具的第二代需要解决时区校正问题,以便查询可以在不同时区正常工作。

使用代码

mysqlids.zip 中包含两个可执行文件。它们分别命名为 mysqlidsxp.exe 和 mysqlids2k.exe。使用 Visual Studio 6 可以在 Windows 2000 或 XP 上轻松编译代码。此示例中使用的数据库是 MYSQL-3.23.58,ODBC 驱动程序是 MYODBC-3.51.06。要创建 SNORT 数据库,请在 Windows NT/2000 服务器上加载 MYSQL(3.23.58)。重启机器。登录并“开始->运行->cmd”,然后 cd \mysql\bin。输入“mysqladmin –u root password newpassword”(将 newpassword 替换为您想要的新 root 密码。这将启用 MYSQL 数据库的使用。从 www.mysql.com 获取 MYSQL Administrator 的副本,从 www.mysqlfront.de 获取 MYSQL-Front 的副本。安装它们并将图标放在服务器上的桌面上。打开 MYSQL Administrator 程序,并使用 root、newpassword、locahost 的凭据登录。在 MYSQL Administrator GUI 中,单击用户管理。在用户帐户区域中右键单击并选择添加新用户。填写新用户的用户信息(我建议将 MYSQL 用户的用户 ID 设置为 snort 并选择一个合适的密码)。不要忘记单击“应用更改”按钮。返回到用户帐户。右键单击用户 snort 并选择“添加用户可以连接的主机”。输入将连接到 MYSQL 数据库的每个客户端或传感器的名称或 IP 地址。关闭 MYSQL Administrator 并打开 MYSQL-Front。Add Session GUI 应该会出现。输入 local 作为常规名称。单击连接选项卡,并将服务器名称提供为 localhost。单击登录选项卡,并提供 root 凭据。点击 OK,您应该会看到 GUI 显示一个名为 local 的窗格。右键单击 localhost,选择 NEW,然后选择 Database。将数据库命名为 snort_db。然后点击 File -> Exit。获取 \snort\contrib 中的 create_mysql 副本。将其放在方便的位置。点击 Start->Run 并输入 cmd,然后点击 OK。执行以下步骤

cd \mysql\bin
mysql -u root -p
newpassword
connect snort_db
source create_mysql ;
commit ;
exit

重新打开 MYSQL Administrator – 提供 root 凭据进行登录。单击用户管理。选择用户 snort。然后单击 Schema Privileges 选项卡。单击 snort_db Schemata。高亮显示所有可用权限,然后单击 < 按钮。然后点击 Apply changes 按钮。现在关闭 MYSQL Administrator。在您指定的可以连接到 snort_db 数据库的传感器之一上,安装 snort,编辑 \snort\etc\snort.conf 文件,使用 edit verb 更改其结构为 dos。然后退出并使用记事本编辑 \snort\etc\snort.conf。更正 include 位置以及 rules 路径,然后取消注释如下行:

  output database: log, mysql, user=snort, 
    user=root password=test dbname=db host=localhost

并更改为:

  output database: log, mysql, 
    user=snort password=newpassword dbname=snort_db host=server_ip

将 server_ip 替换为服务器的实际 IP 地址。将 newpassword 替换为实际的 snort 密码。现在您可以将 snort 作为服务启动,命令为“c:\snort\bin\snort /service /install –c c:\snort\etc\snort.conf –l c:\snort\log”,或者在命令行模式下启动,命令为“c:\snort\bin\snort –c c:\snort\etc\snort.conf –l c:\snort\log”。您应该首先使用命令行模式执行来测试连接性和功能,以便您可以看到返回到控制台的错误。测试后,使用“net start snort”启动服务(如果您选择安装服务)。在先前的案例中,请访问控制面板服务将 SNORT 的启动模式设置为自动。传感器现在应该正在记录到数据库。

MYSQLIDS 要求配置如下……在系统级别设置以下环境变量

  IDS_DB_SERVER=server_ip
  IDS_DB_USER=snort
  IDS_DB_PASS=newpassword

在客户端安装 MYODBC-3.51.06。现在您可以启动 mysqlids(根据客户端选择 2k 或 XP)。您会看到一个信息对话框,显示用于联系 snort_db 数据库的服务器、用户和密码信息。首先选择一个或多个传感器……设置一个采样间隔……纠正时区……决定是否包含有效负载……然后点击 Generate Report 按钮。在光标返回后,使用 Open Output 按钮查看报告。

© . All rights reserved.