Add techniques/anubis/howto_anubis.md
This commit is contained in:
parent
5772cc7cba
commit
8782d1545d
121
techniques/anubis/howto_anubis.md
Normal file
121
techniques/anubis/howto_anubis.md
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
# Anubis Proof-of-Work Deployment Guide (Docker, Binary, nginx, Apache)
|
||||||
|
|
||||||
|
The Church of Malware (CoM) does not condone the use or introduction of egyptian deities onto any individual, human, or animal; however AI is neither natural, a human, nor actual intelligence. This focused installation and configuration tutorial provides complete, production-ready steps for deploying Anubis as the primary proof-of-work wall. It covers Docker, bare-metal binary, and integration with standard nginx and Apache.
|
||||||
|
|
||||||
|
## 1. Quick Start (Docker Compose — Recommended)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# docker-compose.yml
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
anubis:
|
||||||
|
image: ghcr.io/techarohq/anubis:latest
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
environment:
|
||||||
|
- ANUBIS_TARGET=http://origin:8080
|
||||||
|
- ANUBIS_POLICY=hardened
|
||||||
|
- ANUBIS_SERVE_ROBOTS_TXT=true
|
||||||
|
volumes:
|
||||||
|
- ./anubis.yaml:/config.yaml:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
origin:
|
||||||
|
image: nginx:alpine
|
||||||
|
volumes:
|
||||||
|
- ./site:/usr/share/nginx/html:ro
|
||||||
|
expose:
|
||||||
|
- "8080"
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# anubis.yaml
|
||||||
|
target: http://origin:8080
|
||||||
|
policy: hardened
|
||||||
|
serve_robots_txt: true
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Bare-Metal Binary Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -L https://github.com/TecharoHQ/anubis/releases/latest/download/anubis-linux-amd64 -o /usr/local/bin/anubis
|
||||||
|
chmod +x /usr/local/bin/anubis
|
||||||
|
|
||||||
|
cat > /etc/systemd/system/anubis.service <<'EOF'
|
||||||
|
[Unit]
|
||||||
|
Description=Anubis PoW Reverse Proxy
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/local/bin/anubis --config /etc/anubis/config.yaml
|
||||||
|
Restart=always
|
||||||
|
User=anubis
|
||||||
|
WorkingDirectory=/etc/anubis
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable --now anubis
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. nginx Integration (Origin Server)
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 127.0.0.1:8080;
|
||||||
|
server_name _;
|
||||||
|
root /var/www/html;
|
||||||
|
|
||||||
|
# Apply aggressive-bot map from known-aggressive-bot-user-agents.md
|
||||||
|
include /etc/nginx/snippets/aggressive-bots.conf;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
if ($aggressive_bot) {
|
||||||
|
# optional: serve tarpit or malformed response after PoW
|
||||||
|
}
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Anubis proxies to this internal origin after successful proof-of-work validation.
|
||||||
|
|
||||||
|
## 4. Apache Integration
|
||||||
|
|
||||||
|
```apache
|
||||||
|
<VirtualHost 127.0.0.1:8080>
|
||||||
|
ServerName example.com
|
||||||
|
DocumentRoot /var/www/html
|
||||||
|
|
||||||
|
SetEnvIf User-Agent "GPTBot|ClaudeBot|Bytespider|Perplexity|headless" aggressive_bot
|
||||||
|
CustomLog /var/log/apache2/ai_violators.log combined env=aggressive_bot
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. robots.txt Recommendation
|
||||||
|
|
||||||
|
```txt
|
||||||
|
User-agent: *
|
||||||
|
Disallow: /tarpit/
|
||||||
|
Disallow: /malformed/
|
||||||
|
Disallow: /slow-tarpit/
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. Testing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Should trigger Anubis challenge
|
||||||
|
curl -I -A "GPTBot/1.0" https://example.com/
|
||||||
|
|
||||||
|
# Should receive fast response
|
||||||
|
curl -I -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" https://example.com/
|
||||||
|
```
|
||||||
|
|
||||||
|
*Part of the passive defense layer. See also the tarpit and rate-limiting documentation.*
|
||||||
Loading…
Reference in New Issue
Block a user