目前無線網日益成爲咱們生活和工做中的一部分,沒有Wi-Fi的地方會讓人以爲「不適應」,一些黑Wifi也是危機重重。這是因爲無線網絡的一些特殊性形成,這使得一些人無須物理連線就能夠對其進行,這樣WLAN 的安全問題顯得尤其突出。你肯能會問WLAN都是放置在防火牆、 虛擬專用網絡第三方的安全產品以後的嗎?不這就安全了嗎?卻不知,無線網絡不但由於基於傳統有線網絡 TCP/IP 架構而受到 ,還有可能受到基於IEEE 802.11 標準自己的安全問題而受到威脅。算法
你們在尋找開源解決方案時每每很難找到實用性強的資料,爲了解這一問題,本文詳細介紹利用 檢測系統( IDS )爲支持無線訪問的網絡提供一道強有力的安全防線的解決方案,向你們介紹如何架設WIDS。安全
下面引用來自百度百科裏面的一段話「防止非法設備的**,在須要保護的網絡空間中部署監測AP,經過無線**檢測系統WIDS(Wireless Intrusion Detection System),監測AP按期對無線信號進行探測,經過AP瞭解無線網絡中設備的狀況,對非法設備採起相應的防範措施。」bash
讀完上面這段內容你們會了解咱們關注重點在WIFI的網絡安全上,你們在搭建WIDS時,即便是你不會搭建Snort/Suricata都無大礙,參照下面的步驟,初學者均可以本身獨立搭建一套WIDS。WIDS能夠監測整個WLAN,將由分佈式Sensor傳感器捕獲的事件流轉發到OSSIM服務器,爲故障排除和使用規劃提供快速事件響應。服務器
下面咱們要接着介紹WIDS 的兩種模式,這兩種工做模式對於後期調試WIDS很重要哦,第一種是使用監聽模式的無線網卡,以數據鏈路層基於 IEEE 802.11協議原始幀爲捕獲對象,輔以幀頭信息用以檢測IDS分析,對WLAN中的接入設備進行檢測認證。第二種是使用管理模式的無線網卡,用於捕獲網絡層中基於IEEE 802.3協議的以太網格式數據包,用做基於主機的檢測認證。
在網絡中加入的RADIUS(Remote Authentication Dial In User Service,遠程身份驗證撥入用戶服務)可實現客戶與AP間的相互驗證,進而達到檢測和隔離欺詐性AP(不可信Un-Trusted AP)的效果。
以上這套高大上的系統實現起來並不難,咱們經過下面的例子能夠將分支辦公室的安裝Sensor並將無線網使用狀況發送到總部的OSSIM服務器,進行集中監控管理。網絡
▶ 系統平臺環境爲OSSIM 4,無線網卡爲USB無線網卡(芯片型號爲Realtek RTL8187)只要使用該芯片系列的無線網卡都適合本實驗環境。
RTL8187這種網卡對於Linux系統來講更容易識別。在服務器上安裝好無線網卡,進入控制檯,輸入dmesg命令便可查看到網卡的芯片型號,如圖1-31所示。另外,使用lsmod |grep usbcore命令也能夠查看USB網卡信息。
圖1-31 檢測無線網卡芯片架構
▶工做模式:本實驗使用 1 張無線網卡再加 1 張以太網卡,無線網卡設置成「雜湊」模式,監聽無線數據包,以太網卡用於與OSSIM服務器通訊。less
▶安裝無線調試工具,命令以下所示。
#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
▶在調試工具安裝完成以後,使用命令iwlist搜索無線網信號。首先使用以下命令啓動接口:
#ifconfig wlan0 upide
接着,無線網卡開始掃描整個網絡環境。
#iwlist wlan0 scanning
▶在本實例中加入了SSID爲buff的無線網。爲便於調試,不要隱藏無線網的SSID。操做命令以下:
#iwconfig wlan0 essid "buff"
#dhclient wlan0
最後,加入WiFi後經過DHCP客戶端動態獲取IP地址,經過ifconfig命令查看獲取的IP地址。wlan0設備的詳細配置信息會寫入文件/etc/network/interfaces。待成功加入無線網絡以後開始設置無線嗅探器。
▶kismet是一個便利的無線網絡掃描程序,完成嗅探功能,它能經過檢測周圍的無線信號來找到非法WLAN。這裏使用它來掃描無線網絡。
#apt-get update //更新源
#apt-get install kismet //安裝kismet
固然你也能夠下載最新的源碼包(2019-9)來編譯安裝:https://www.kismetwireless.net/downloads/
▶kismet.conf 是主配置文件,它加載全部其餘配置文件。
▶kismet_alerts.conf 完成警報/ WIDS配置,包括警報匹配規則。
▶kismet_logging.conf 日誌文件
這一環節分爲如下7個步驟。
① 編輯/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界面
在/etc/rsyslog.d/目錄下新建文件 wids_alienvault.conf,並在其中加入如下內容:
. @192.168.11.10 //此處IP爲OSSIM服務器的IP地址
而後重啓動Rsyslog服務。接下來就可經過tail -f /var/log/kismet.log命令來檢驗成果了。
在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發送的日誌後,表示該設置成功。
注意爲了實驗方便個人在實驗網絡中未設置密碼,而實際上無線網都是加密的,咱們舉個例子,假如你的WiFi網絡SSID爲home,密碼是0123456789,那麼就按如下規則輸入命令
iwconfig wlan0 essid 「home」 key 0123-4567-89
在分佈式OSSIM網絡中,經過不一樣的Sensor將分組捕獲完成後,將信息送至檢測引擎進行檢測,主要採用的檢測方法是特徵匹配,即把網絡包數據進行匹配,看是否有預先寫在規則中的「 內容」或特徵,在OSSIM系統中採用異常檢測方法(如 Spade 檢測引擎等),這是和傳統Snort系統最大的區別,能夠說是一種補充方式。 無線網絡傳輸的是加密數據,那麼在分佈式OSSM檢測系統中能實現非受權僞 AP 的檢測。 在發現異常行爲以後,Sensor上安裝的監測Agent會記錄 特徵,並經過安全通道(採用必定強度的加密算法加密,有線網絡一般採用SSL協議,無線網絡一般採用WEP將告警信息發給OSSIM Server進行關聯分析等。
無線網絡因爲其傳輸媒介的特殊性以及 802.11 標準自己的缺陷,具備一些安全問題,在本文中,介紹了無線網絡中潛在威脅,提出了WIDS 檢測系統架構,WIDS的核心是利用kismet這款無線掃描工具,該工具經過測量周圍的無線信號,能夠掃描到周圍附近有效AP以及信道等信息。同時還捕獲網絡中的數據包發送到OSSIM進行數據分析,並且提供了有好的分析界面,採用OSSIM架構的WIDS要比咱們本身在Linux上安裝kismet經過命令行分析網絡異常行爲要方便許多。
儘管Kismet能夠在電腦的無線網卡上工做,但部署一系列的主機仍是成本很高的事情,若是能將Kismet部署到一系列的無線路由器(路由器只負責監聽工做)則能夠極大的下降成本和部署的難度,OpenWRT是個不錯的開源方案,它能夠做爲無線路由器固件程序,對於開發工程師而言,在OpenWRT上安裝kismet很是簡單的。經過路由器將日誌轉發到OSSIM Sensor這樣能夠將無線日誌的採集很容易實現,系統的管理人員能夠經過有線或無線的網絡通道登錄Kismet服務器進行檢測結果的檢查和響應工做。因爲篇幅所限這種方案的配置方法和分析結果我將在後續文章繼續介紹。更多OSSIM的案例你們能夠參考個人新書《開源安全運維平臺OSSIM疑難解析:提升篇》。本文敏感詞都被替換爲**,你們閱讀時本身替換一下哦。