PoW-Shield provides DDoS protection on OSI application layer by acting as a proxy that utilizes proof of work between the backend service and the end user. This project aims to provide an alternative to general captcha methods such as Google’s ReCaptcha that has always been a pain to solve. Accessing a web service protected by PoW Shield has never been easier, simply go to the url, and your browser will do the rest of the verification automatically for you.
PoW Shield aims to provide the following services bundled in a single webapp / docker image:
- proof of work authentication
- ratelimiting and ip blacklisting
- web application firewall
Story on Medium
So basically, PoW Shield works as a proxy in front of the actual web app/service. It conducts verification via proof-of-work and only proxies authorized traffic through to the actual server. The proxy is easily installable, and is capable of protecting low security applications with a WAF.
Here’s what happens behind the scenes when a user browses a PoW Shield-protected webservice:
- The server generates a random hex-encoded “prefix” and sends it along with the PoW Shield page to the client.
- The server starts proxying the now authenticated client traffic to the server with WAF filtering enabled.
nodejs and docker
- Web Service Structure
- Proxy Functionality
- PoW Implementation
- IP Blacklisting
- Unit Testing
- WAF Implementation
- Multi-Instance Syncing (Redis)