无线检测系统(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