Janusec WAF網關安裝體驗


近日個人的幾個小站總是被攻擊,於是准備尋找一款WAF來抵擋一下。

首先嘗試了modsecurity 和 naxsi ,功能是有了,但因為需要在每一台服務器上安裝agent,沒有管理界面,策略也不能統一維護,感覺后面維護起來不怎么方便。

無意中看到了Janusec Application Gateway (Janusec應用網關),其無agent的網關式架構設計令人眼前一亮。

根據其介紹,只需要安裝一次,就可以作為基礎設施供后續復用擴展,業務的服務器上不需要安裝agent,且能夠為證書私鑰提供加密保護。

原理式這樣的:

 

Janusec工作在反向代理模式,收到請求后,會先檢查合法性,如果是攻擊行為(Web攻擊如SQL注入、XSS等,或CC攻擊),就會攔截下來;如果是正常的訪問請求,就會放行。我決定安裝體驗一番。

首先,找到Janusec網關的快速入門介紹:https://www.janusec.com/cn/quick-start/ 

然后根據介紹的步驟進行安裝:

 

步驟 1: 下載

$cd ~
$wget https://www.janusec.com/download/janusec-latest.tar.gz
$tar zxf ./janusec-latest.tar.gz

步驟 2: 安裝

請切換到root用戶並運行 install.sh , janusec應用網關將安裝在目錄: /usr/local/janusec/

$su
#cd janusec-0.9.3
#./install.sh

選擇 1. Master Node, 然后安裝程序會:

  • 將所需文件復制到 /usr/local/janusec/
  • 將服務配置文件復制到系統服務目錄
  • 將Janusec應用網關服務設置為自動啟動,但首次安裝時不會啟動,需要在配置完成后手工啟動一次.
步驟 3: 配置

PostgreSQL沒有包含在發布包中,需要自行准備PostgreSQL數據庫、用戶名 、口令,可參考運維管理中的PostgreSQL安裝。
現在我們假設您已經安裝好了PostgreSQL,且數據庫已創建,用戶名和口令已准備好。
然后編輯 /usr/local/janusec/config.json :

{
    “node_role”: “master”,
    “master_node”: {
        “admin_http_listen”: “:9080”,
        “admin_https_listen”: “:9443”,
        “database”: {
            “host”: “127.0.0.1”,
            “port”: “5432”,
            “user”: “your_postgresql_user”,
            “password”: “your_postgresql_password”,
            “dbname”: “janusec
        }
    },
    “slave_node”: {
        “node_key”: “”,
        “sync_addr”: “”
    }
}

步驟 4: 啟動網關並測試

#systemctl start janusec.service

打開瀏覽器(比如Chrome),使用如下地址:

http://網關IP地址:9080/

這是Janusec應用網關的第一個管理地址(后面可啟用安全的管理地址)。
默認用戶名:admin
默認口令:J@nusec123

配置數字證書


如果僅使用HTTP,不使用HTTPS,可跳過此步驟;但強烈建議配置證書並啟用HTTPS。

使用瀏覽器打開 http://您的網關IP地址:9080/ 並添加一張數字證書

如果您還沒有數字證書,可以從Let's Encrypt申請免費的數字證書。

使用記事本打開兩個證書文件(我的證書是從Let's Encrypt申請的,一個文件名是fullchain.pem,是公開的證書文件;另一個是privkey.pem,是保密的私鑰文件),將其內容復制到Web管理控制台。

配置Web應用 (必選)


使用瀏覽器打開 http://網關IP地址:9080/ 並添加一個應用.
填寫應用名稱、實際服務器的 IP:端口 等信息。

修改DNS或Hosts (必選)


生產環境,需要將修改DNS將您的域名指向網關地址。
測試環境,可直接修改您本地電腦的hosts文件: C:\Windows\System32\drivers\etc\hosts.

驗證


配置完成后,驗證網關是否正常工作。
打開瀏覽器,訪問: http://your_domain_name/

https://your_domain_name/ .
如果可以正常訪問,表明網關已正常工作。

WAF驗證


安裝配置好之后,就來檢驗一下WAF(Web應用防火牆)是否工作正常。

使用如下測試用例:

http://domain_name/.svn/entries
http://domain_name/test?id=1 and 1=1

這時,立即看到了阻斷效果:

 

后面的使用就比較簡單了,我的WAF選型就此告一段落。

如果有不清楚的地方,也可參考官方網站上的說明:https://www.janusec.com/cn/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM