Janusec WAF網關安裝體驗

近日我的的幾個小站老是被攻擊,因而準備尋找一款WAF來抵擋一下。node

首先嚐試了modsecurity 和 naxsi ,功能是有了,但由於須要在每一臺服務器上安裝agent,沒有管理界面,策略也不能統一維護,感受後面維護起來不怎麼方便。web

繼續在網上閒逛中,在無心中看到了Janusec Application Gateway (Janusec應用網關),其無agent的網關式架構設計令我眼前一亮。sql

根據其介紹,只須要安裝一次,就能夠做爲基礎設施供後續複用擴展,業務的服務器上不須要安裝agent,且可以爲證書私鑰提供加密保護。數據庫

原理式這樣的:json

 

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/app

$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

 

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

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

相關文章
相關標籤/搜索