如何使用PoW-Shield防禦DDoS和垃圾郵件攻擊
關於PoW-Shield
PoW-Shield是一款功能強大的網路安全防禦工具,該工具可以幫助廣大研究人員和使用者抵禦DDoS攻擊和垃圾郵件攻擊。除此之外,PoW-Shield還帶有Web應用防火牆功能,並提供了Docker映象以方便實現快速輕量級部署。
PoW-Shield可以通過充當代理的形式,並利用後端服務和終端使用者之間的工作證明,在OSI應用層提供DDoS保護。該專案旨在提供針對通用驗證碼方法的替代方案,比如說Google的ReCaptcha,而這一點對於社群來說一直都是一個難題。訪問受PoW-Shield保護的Web服務也非常簡單,直接開啟瀏覽器並填寫目標站點URL,瀏覽器將會自動為我們完成剩餘的安全驗證。
PoW-Shield旨在通過一個單一Web應用或Docker映象提供下列服務:
工作證明驗證
訪問頻率限制和IP黑名單
Web應用程式防火牆
功能介紹
Web服務結構
代理功能
PoW實現
Docker化部署
IP黑名單功能
訪問頻率限制
單元測試
Web應用程式防火牆實現
多例項同步(Redis)
工具下載&使用
Node.js
首先,我們可以使用下列命令將該專案原始碼克隆至本地:
git clone http://github.com/RuiSiang/PoW-Shield.git
接下來,安裝該工具所需的依賴元件:
npm install
然後配置工具相關資訊:
cp -n .env.example .env # edit .env nano .env
執行下列命令執行程式碼構建:
npm run build
執行並同時啟動資料庫(建議使用輕量級的Redis):
# install redis first # sudo apt-get install redis-server npm start
執行但不啟動資料庫:
npm run start:standalone # linux npm run start:standalone-win # windows
測試工具功能(可選):
npm test
Docker( 庫 )
Docker帶Redis資料庫執行:
docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -d ruisiang/pow-shield
Docker不帶資料庫執行:
docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -e NODE_ENV="standalone" -d ruisiang/pow-shield
Docker-Compose
首先我們需要使用下列命令配置docker-compose.example.yaml:
cp -n docker-compose.example.yaml docker-compose.yaml # edit docker-compose.yaml nano docker-compose.yaml
接下來,我們就可以啟動容器了:
docker-compose up
工具配置
配置方法
nodejs:(樣例:.env.example) docker-compose:docker-compose.yaml(樣例:docker-compose.example.yaml) docker run:-e引數
環境變數
常用配置
PORT:待監聽埠,預設為3000 SESSION_KEY:cookie簽名所需的金鑰 BACKEND_URL:代理驗證流量的目的地址,接受IP和URL
資料庫選項(Redis)
DATABASE_HOST:Redis服務主機地址,預設為127.0.0.1 DATABASE_PORT:Redis服務埠,預設為6379 DATABASE_PASSWORD:Redis服務密碼,預設為空
PoW選項
POW:是否開啟PoW功能,預設為on(開) NONCE_VALIDITY:指定Nonce生成後多久才傳送至伺服器,預設為60000 INITIAL_DIFFICULTY:初始難度,生成的雜湊中前導0位的數量,預設為13
訪問頻率選項
RATE_LIMIT:是否開啟頻率限制,預設為on(開) RATE_LIMIT_SAMPLE_MINUTES:指定會話/ip的統計資訊重置間隔分鐘數,預設為60 RATE_LIMIT_SESSION_THRESHOLD:單個會話在觸發令牌撤銷之前能傳送的請求數量,預設為100 RATE_LIMIT_BAN_IP:是否開啟IP黑名單功能,預設為on(開) RATE_LIMIT_IP_THRESHOLD:指定會話/ip在地址被拉黑之前傳送的請求數量,莫爾奈威500 RATE_LIMIT_BAN_MINUTES:IP地址拉黑時間,預設為15分鐘
WAF選項
WAF WAF_URL_EXCLUDE_RULES:是否開啟Web應用防火牆,預設為on(開) WAF_HEADER_EXCLUDE_RULES:在掃描請求URL時引入額外規則 WAF_BODY_EXCLUDE_RULES:在掃描請求Body時引入額外規則
許可證協議
本專案的開發與釋出遵循BSD 3-Clause開源許可證協議。
功能演示影片
影片地址:http://you*tu.be/zeNKUDR7_Jc
專案地址
PoW-Shield:【 GitHub傳送門 】
參考資料
http://ruisiang.medium.com/pow-shield-application-layer-proof-of-work-ddos-filter-4fed32465509
- 埃隆•馬斯克“助長”加密貨幣新騙局
- Pwn2Own 2022比賽最後一日,Windows 11接連被黑3次
- 給安全平臺編寫外掛模組的思路分享
- 德州近200萬個人資訊被曝光了三年
- VMware 修補了多個產品中的關鍵身份驗證繞過漏洞
- 微軟:警惕針對 MSSQL 伺服器的暴力攻擊
- 警惕間諜軟體!逾200 Playstore應用程式或存在風險
- 委內瑞拉心臟病專家被指控是Thanos勒索軟體的幕後主使
- iPhone曝出新的攻擊面,即使關閉也可執行惡意軟體
- HTML附件在網路釣魚攻擊中至今仍很流行
- 紅隊滲透專案之SickOs 1.1
- 鏈家IT管理員刪除資料庫,被判7年有期徒刑
- Sysrv 殭屍網路新變種正攻擊 Windows及Linux 伺服器
- 深度洞察 |關於JavaScript開源生態中安全漏洞傳播及其演變分析
- ElasticSearch伺服器配置錯誤,暴露579GB使用者網站記錄
- 既能挖礦還能勒索,Eternity 惡意軟體工具包正通過Telegram傳播
- 埠掃描技術實現分析
- 新型隱形 Nerbian RAT 惡意軟體橫空出世
- 研究人員發現一種新的網路釣魚即服務——Frappo
- 微軟修復了所有Windows版本中的新NTLM零日漏洞