无线网IDS安装Step by Step

无线检测系统(WIDS)是基于检测技术建立的,属于网络安全的主动防御行为,可从网络和系统内部的各项资源中主动采集信息并分析是否遭受了。

下面引用来自百度百科里面的一段话“防止非法设备的**,在需要保护的网络空间中部署监测AP,通过无线**检测系统WIDS(Wireless Intrusion Detection System),监测AP定期对无线信号进行探测,通过AP了解无线网络中设备的情况,对非法设备采取相应的防范措施。”

读完上面这段内容大家会了解我们关注重点在WIFI的网络安全上,大家在搭建WIDS时,即使是你不会搭建Snort/Suricata都没有关系,安装下面的步骤初学者都可以自己独立搭建一套WIDS。

下面我们要接着介绍WIDS 的两种模式,这两中工作模式很重要,第一种是使用 Monitor 模式的无线网卡,以数据链路层基于 IEEE 802.11协议原始帧为捕获对象,辅以帧头信息用以检测IDS分析,对WLAN中的接入设备进行检测认证。第二种是使用Managed模式的无线网卡,用于捕获网络层中基于IEEE 802.3协议的以太网格式数据包,用作基于主机的检测认证。
在网络中加入的RADIUS(Remote Authentication Dial In User Service,远程身份验证拨入用户服务)可实现客户与AP间的相互验证,进而达到检测和隔离欺诈性AP的效果。通过下面的例子可以将分支办公室的无线网使用情况发送到总部的SIEM服务器,以便集中监控管理。

1.安装无线网卡

? 系统平台环境为OSSIM 4,无线网卡为USB无线网卡(芯片型号为Realtek RTL8187)。
RTL8187这种网卡对于Linux系统来说更容易识别。在服务器上安装好无线网卡,进入控制台,输入dmesg命令即可查看到网卡的芯片型号,如图1-31所示。另外,使用lsmod |grep usbcore命令也可以查看USB网卡信息。

图1-31 检测无线网卡芯片
?安装无线调试工具,命令如下所示。
#apt-get install wireless-tools

安装完这个无线工具包后,即可使用iwconfig命令检查刚添加的网卡信息,并且显示对应的设备名称,此处无线网卡的设备文件为wlan0。
输入命令 iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

2.设置无线网卡

?在调试工具安装完成之后,使用命令iwlist搜索无线网信号。首先使用如下命令启动接口:
#ifconfig wlan0 up

接着,无线网卡开始扫描整个网络环境。
#iwlist wlan0 scanning

?在本实例中加入了SSID为buff的无线网。为便于调试,不要隐藏无线网的SSID。操作命令如下:
#iwconfig wlan0 essid "buff"
#dhclient wlan0
最后,加入WiFi后通过DHCP客户端动态获取IP地址,通过ifconfig命令查看获取的IP地址。wlan0设备的详细配置信息会写入文件/etc/network/interfaces。待成功加入无线网络之后开始设置无线嗅探器。

3.安装kismet

?kismet是一个便利的无线网络扫描程序,它能通过检测周围的无线信号来找到非法WLAN。这里使用它来扫描无线网络。
#apt-get update //更新源
#apt-get install kismet //安装kismet

4.设置kismet

① 编辑/etc/kismet/kismet.conf文件,找到“source=”这一行,将其改成source=rtl8187,wlan0,wlan0-wids,保存并退出。其中rtl8187代表设备驱动,wlan0代表网卡设备名称,wlan0-wids 为描述信息。
logdefault=192.168.11.10 // OSSIM传感器IP
logtemplate=/var/log/kismet/%n_%D-%i.%l

② 在/etc/init.d/目录下新建文件wids_alienvault.sh。
#vi wids_alienvault.sh

在其中加入如下两行:
#!/bin/sh
/usr/bin/kismet_server -l xml -t kismet -f /etc/kismet/kismet.conf 2>&1 | logger -t kismet -p local7.1

③ 给脚本文件加入执行权限。
#chmod 755 /etc/init.d/wids_alienvault.sh

④ 将“/etc/init.d/wids_alienvault.sh”这条语句加入/etc/rc.local脚本的倒数第2行(也就是exit 0语句的上面)。
⑤ 在OSSIM控制台下输入ossim-setup命令,依次选择Change Sensor Settings-Enable/ Disable detector plugins,选中kismet并保存退出,这时系统会提示重新配置。在后台,系统会将kismet选项加入到/etc/ossim/ossim_setup.conf文件中。
⑥ 修改kismet配置文件。
#vi /etc/ossim/agent/plugins/kismet.cfg

找到location=/var/log/syslog这一行,将其修改为如下内容。
location=/var/log/kismet.log

⑦ 实现自动化配置。
#vi /etc/cron.hourly/kismet

在其中加入如下两行:
#!/bin/bash
/usr/bin/perl /usr/share/ossim/www/wireless/fetch_kismet.pl

然后编辑/usr/share/ossim/www/wireless/fetch_kismet.pl 这个脚本中sites所带的IP地址。
#vi /usr/share/ossim/www/wireless/fetch_kismet.pl

找到$location=$sites{$ip}这一行,将其改成$sites{‘192.168.11.10‘}=‘/var/log/kismet‘。此处IP为无线传感器的IP地址。
如果配置成功,则在命令行中输入kismet命令,将显示图1-32所示的欢迎界面。

图1-32 kismet界面

5.配置Rsyslog

在/etc/rsyslog.d/目录下新建文件 wids_alienvault.conf,并在其中加入以下内容:
. @192.168.11.10 //此处IP为OSSIM服务器的IP地址

然后重启动Rsyslog服务。接下来就可通过tail -f /var/log/kismet.log命令来检验成果了。

6.设置OSSIM无线传感器

在OSSIM的Web UI中进入菜单DEPLOYMENT→SYSTEM CONFIGURATION,配置SENSORS,输入无线网卡名称wlan0以及IP地址192.168.11.10,要确保正确加载了kismet服务,配置界面如图1-33所示。
在传感器配置选项中,添加wlan0为监听端口,监控网段为192.168.11.0/24。注意OSSIM系统中的插件Prads、Snort、Ntop和OSSEC需处于UP状态,如图1-34所示。

图1-33 设置无线嗅探器

图1-34 配置无线网卡
可以在Network选项中验证无线网卡模式,如图1-35所示。


图1-35 无线网卡模式
最后在Web UI中的Analysis→Detection→Wireless IDS子菜单进行配置。注意,首次进入操作界面时会发现Location中无配置信息,此时应单击右上角的Setup按钮,添加一个新的Location,即为上文设置好的wlan0[192.168.11.10],如图1-36所示。

图1-36 设置Location
除了基于命令行的无线嗅探工具以外,还可以在OSSIM系统中添加基于Web的管理工具。设置完成WIDS后,即可发现周边无线信号,如图1-37所示。

图1-37 查看无线信号
启动无线嗅探器,在OSSIM的SIEM控制台中可查看kismet发来的日志信息,如图1-38所示。

图1-38 在SIEM中查看kismet日志
当在SIEM控制台中收到kismet发送的日志后,表示该设置成功。

7.总结

WIDS的核心是利用kismet这款无线扫描工具,该工具通过测量周围的无线信号,可以扫描到周围附近有效AP以及信道等信息。同时还捕获网络中的数据包发送到OSSIM进行数据分析,而且提供了有好的分析界面,采用OSSIM架构的WIDS要比我们自己在Linux上安装kismet通过命令行分析网络异常行为要方便许多。本文敏感词都被替换为**,大家阅读时自己替换一下哦。

原文地址:https://blog.51cto.com/chenguang/2433851

时间: 2024-10-09 05:28:13

无线网IDS安装Step by Step的相关文章

数据库设计 Step by Step (1)——扬帆启航

引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得.很久之前就想针 对关系数据库设计进行整理.总结,但因为种种原因迟迟没有动手,主要还是惰性使然.今天也算是痛下决心开始这项卓绝又令我兴奋的工作.这将是一个系列的文 章,我将以讲座式的口吻展开讨论(个人偷懒,这里的总结直接拿去公司培训新人用). 系列的第一讲我们先来回答下面几个问题 数据库是大楼的根基 大多数程序员都很急切,在了解基本需求之后希望很快的进入到编码阶段(可能只有产出代码才能反映工作量),对于数据库设计思考得比较少. 这

Shell Step by Step (3) —— Stdin & if

4.输入输出 #! /bin/bash # Read users input and then get his name read -p "Please input your first name: " firstName read -p "Please input your last name: " lastName echo -e "Your full name is: $firstName $lastName" read使用方法: read

Learning, step by step

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. Learning, step by step,布布扣,bubuko.com

Step by step Install a Local Report Server and Remote Report Server Database

原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 >中,介绍过如何安装SQL Server 2012,其中的Database Engine Services和Reporting Services - Native安装在了同一台服务器上,但是为了提高性能,我们可以将Database Engine与Reporting Service分别安装在不同的服务器上.

FreeSWITCH 1.2.5.3 Step by Step Install

Ubuntu: apt-get -y install build-essential automake autoconf git-core wget libtool apt-get -y install libncurses5-dev libtiff-dev libjpeg-dev zlib1g-dev 从 Git 仓库安装: 从代码库安装能让你永远使用最新的版本: git clone git://git.freeswitch.org/freeswitch.git cd freeswitch .

e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调

上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问” 下面讲一下,对于在写Node.js自动化测试脚本过程中,的编写回调问题, 大家可能会发现, Node.js对于高并发处理的性能非常不错, 即使是在使用单核的情况下, 那是因为它是基于事情,说白了就是callback, 回调. 这样的话,对于写代码的人来说, 回调的深度一深就会晕了

搭建你的持续集成server - CruiseControl step by step(1)

CruiseControl是CIserver的老者,诞生已是多年,在很多方面,CruiseControlserver已经成为持续集成实践的同义词.而如今,CruiseControl已发展成为一个家族式系统,包含CruiseControl.java.CruiseControl.net.CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的.而在这里,我仅仅介绍该家族的本家CruiseControl.java,即CruiseControl.Cr

持续交付工具ThoughtWorks Go部署step by step

持续交付工具ThoughtWorks Go部署step by step http://blogs.360.cn/360cloud/2014/05/13/%E6%8C%81%E7%BB%AD%E4%BA%A4%E4%BB%98%E5%B7%A5%E5%85%B7thoughtworks-go%E9%83%A8%E7%BD%B2step-by-step/ Posted on 2014 年 5 月 13 日 by zieckey | Leave a reply 1. ThoughtWorks  Go简

【Step By Step】将Dotnet Core部署到Docker下

一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)>一致. 但是在我们这里,由于docker中无法部署sql server,所以我采用了Mysql数据库,顺便吐槽一下 SQL Server真的太贵了,阿里云的Mysql实例价格和SQL Server实例价格差10倍,真的好夸张. Mysql官方的EF Core支持刚刚出