透過官方開發的API 直接使用命令列建立站台
1.獲取API資訊
2.建立站台
3.編輯源站IP
4.設定白名單IP
5.設定黑名單國家
6.設定DDOS參數
7.更新SSL憑證
1.獲取API資訊
Incapsula API 有三樣東西必須取得 API ID、API KEY、Account ID
Management >> Users >> Add API Key
這時會取得API ID、API KEY
接著取得Account ID,從網址的URL 上可以看到Account ID,這樣三個必要的東西就獲取完成
從Github上獲取Python API
https://github.com/imperva/incapsula-cli
2.建立站台
建立站台
#python incap.py site add blog.imprezagt1031.idv.tw
建立完成後,系統會顯示你建立的Site ID
3.編輯源站IP
首先建立站台後,incapsula 默認會去解析你目前DNS所對應的IP,把對應的IP當成源站IP,此時我們去獲取這個站台的server_id
#curl -X POST "https://my.incapsula.com/api/prov/v1/sites/dataCenters/list?api_key=your-api-key&api_id=your-api-id&site_id=24900397" | jq
{ "res": "0", "DCs": [ { "id": "1838702", #dc_id "enabled": "true", "servers": [ { "id": "3236334", #Server_id "enabled": "true", "address": "2.2.6.6", "isStandby": "false" } ], "name": "New DC", "contentOnly": "false" } ] }
更換server_id 上的IP 這邊的範例是 從2.2.6.6 更換為3.3.3.3 (設定為Active IP)
#curl -X POST "https://my.incapsula.com/api/prov/v1/sites/dataCenters/servers/edit?api_key=your-api-key&api_id=your-api-id&server_id=3233664&server_address=3.3.3.3"
如果要再新增Server IP 這邊需要有DC_id(設定為Standby IP)
#curl -X POST "https://my.incapsula.com/api/prov/v1/sites/dataCenters/servers/add?api_key=your-api-key&api_id=your-api-id&dc_id=1837168&server_id=3236334&server_address=5.5.5.5&is_standby=yes"
如果需要刪除Server_IP
#curl -X POST "https://my.incapsula.com/api/prov/v1/sites/dataCenters/servers/delete?api_key=your-api-key&api_id=your-api-id&dc_id=1838702&server_id=3233748"
4.設定白名單IP
#python incap.py site acl --ips=100.100.100.100/32 whitelisted_ips 24900397
5.設定黑名單國家
國家參數需要大寫
#python incap.py site acl --countries JP blacklisted_countries site_id
6.設定DDOS參數
#python incap.py site security ddos --activation_mode=on --ddos_traffic_threshold=850 site_id
#python incap.py site add_incaprule 24900397 --name='test100' --filter='Rate >= {post-ip;2} & ( URL == "/login" | URL == "/admin" | URL == "/api")' --action=RULE_ACTION_BLOCK_IP
7.更新SSL憑證
#python incap.py site upcert --private_key="/root/.acme.sh/test.com/test.com.key" "/root/.acme.sh/test.comfullchain.cer" site_id
Facebook Comments