SDN-Defense + Snort 初步介紹
tags: OpenSource
OVS vs P4Switch
由於 OpenFlow 的限制:無法辨認起初的K個封包
因此需要Controller的加入,造成Controller的bottleneck
所以在架構中多了P4Switch處理起初的K個封包
- P4Switch 特性:
- flexible parsing
- hashing over parsed fields
- support registers to maintain stateful flow records
PS: OVS vs P4Switch <--> SDN-Defense 架構
想了解 OpenFlow 限制 以及 加入P4而補足的地方,所以
由論文 switch 到 GitHub 看看實作細節
SDN-Defense 架構
截自(Ref):https://github.com/cchliu/SDN-Defense
- 架構說明:
- Role:
- HostA servers: traffic generator
- P4Switch: identify first K packets of each flow
- Snort : sniffs packets & sends alerts
- Ryu : extracts 5-tuple info. about the malicious flow & installs a rule into OVS to drop flow
- Operation:
- Host A 產生流量 並 丟給 Host B
- 經過(由) P4Switch 處理 前K個封包 經由eth0 複製給 controller
- snort 因此可以基於某些Rule來判斷 是否發出警報
- 當發出警報,Ryu 擷取封包特徵(5-tuple info.) 安裝 flow 到 OVS switch 進行 switch level 調整
- 使得 Host B 不被攻陷
Snort
圖文有符
wiki:
Snort是一套開放原始碼的網路入侵預防軟體與網路入侵檢測軟體。Snort使用了以偵測簽章與通訊協定的偵測方法。截至目前為止,Snort的被下載次數已達到數百萬次。 Snort被認為是全世界最廣泛使用的入侵預防與偵測軟體。
Snort Intergration
論文提及Snort + 使用的 Controller Application 為 Ryu , 所以
查到了這個 Ryu Docs:Snort Intergration 發現原來 其實論文寫的架構需要計算能力強的電腦。
屬於 Option 1 : Ryu and Snort on the same machine
TODO : Ryu + Snort --> this paper Reproduce
- Installation Snort
- Configure Snort
- Usage
Reference