Automatic detection and blocking bad bots (DDoS, shopping bots, scrappers, booking bots and others) by TLS and HTTP fingerprints or IP based on Tempesta FW access logs stored in the Clickhouse database.
The current version 0.1 is experimental and should not be used in production.
- Python 3.12 <=
- Tempesta FW 0.8.0 <=
- Clickhouse 25.6.0 <=
git clone https://github.com/tempesta-tech/webshield.git
cd webshield
sudo setup.shBefore running the application, you need to prepare Tempesta FW:
- Configure Tempesta Logger.
- Modify your Tempesta FW configuration and add the
tfhandtftinclude directories - Start Tempesta FW with Tempesta Logger enabled
- Start ClickHouse DB and ensure the
access_logtable exists.
systemctl start tempesta-webshield.servicejournalctl -f -u tempesta-webshieldTo run the tests you need to copy GeoLite2-City.mmdb to tests/ directory.
# run all tests with a logging level INFO
pytestblack .
isort .