隨着5G的推進和物聯網的快速推進,MQTT已然是物聯網(Internet of Things,IoT)不可或缺的標准協議,預計到2025年將有超過750億台設備連接到互聯網,但物聯網方面的防火牆很少。
himqtt是首款完整源碼的高性能MQTT物聯網防火牆 - MQTT Application FireWall,C語言編寫,采用epoll模式支持數十萬的高並發連接,並且兼容ModSecurity部分規則。
一 主要功能
1. SSL安全加密反向連接
2. 數據庫SQL注入
3. 跨站腳本攻擊(XSS)
4、DDOS攻擊
5、密碼暴力破解
6. TOPIC黑白名單
7. 兼容OWASP的ModSecurity的SQL注入/XSS攻擊檢測等規則
8. epoll模型多核數十萬的並發連接
.....
二、安裝步驟
1. 安裝OpenSSL和libpcre開發庫
CentOS :
yum install openssl openssl-devel
yum install -y pcre pcre-devel
Debian/Ubuntu:
sudo apt-get install openssl libssl-dev
apt-get install libpcre3 libpcre3-dev
2.編譯
解壓到任意目錄,make即可,完成后生成可執行文件himqtt.
3.規則
規則放在和himqtt同一級的rules目錄即可,注意后綴是.conf或者.rule,更多規則請在
https://github.com/SpiderLabs/owasp-modsecurity-crs/下載,根據需求配置。
具體請看rules/main.conf詳細說明。
4.運行
通常是himqtt前端運行1884(SSL 加密)端口,后端反向代理1883端口。
首先保證Web服務器1883端口運行正常,1884端口沒占用(或者端口在config.cfg里改變配置)
./himqtt默認讀取當前目錄下的confg.cfg文件, 或者./hihimqtt --config /dir/config.cfg
具體請看config.cfg詳細說明, 如果成功打印加載了rules目錄下的規則,代表運行成功。
5.MQTT.fx測試
MQTT.fx配置SSL/TLSL里面打勾,選擇TLSv1.2版本,如果選擇第一項CA signed server certificate的話,請確認你的PEM格式的證書是信任機構CA簽發的。
總體說來,物聯網防火牆剛剛起步,himqtt這類產品的發展空間非常大
項目地址:https://github.com/qq4108863/himqtt/
