Uveljavljanje pravil za agente

Uveljavljanje je 2. stopnja SilentShieldovega nadzora agentov UI: namesto da bi obiske agentov UI samo beležil, vaš strežnik ali vaš edge aktivno uporablja vaš pravilnik za posamezen ključ — vsak agent je dovoljen, omejen ali blokiran. Neposredno gradi na načinu opazovanja. Komponente uveljavljanja (Next.js middleware, sidecar binarka, Cloudflare Worker) so trenutno na voljo na zahtevo v zgodnjem dostopu — pišite na [email protected].

Najprej opazujte, nato uveljavljajte

Naše jasno priporočilo: najprej vklopite opazovanje, pustite ga teči teden ali dva in si oglejte poročilo, preden karkoli blokirate — isti postopni pristop kot učni način pri Wordfence ali uvedba DMARC (none → quarantine → reject). Šele poročilo pokaže, katere storitve UI dejansko obiskujejo vaše spletno mesto in kaj bi vas blokada stala, na primer navedbe v iskanju UI. Uveljavljanje brez te slike pomeni odločanje na slepo.

Kako deluje uveljavljanje

Vsi enforcerji si delijo isto pogodbo: za vaš API ključ pridobijo paket pravilnika, njegov podpis Ed25519 preverijo proti SilentShieldovim pripetim javnim ključem in nato odločajo lokalno — dovoli, zavrni ali omeji — brez enega samega klica na poti odgovora.

Pripete podpisne ključe enkratno pridobite z naslova https://api.silentshield.io/.well-known/silentshield-agent-keys. In vsak enforcer deluje fail-open: ob kateri koli napaki — omrežje, podpis, potekel paket — je zahteva spuščena naprej. Uveljavljanje vašega spletnega mesta nikoli ne more onesposobiti.

Različice nastavitve

Next.js (Edge Middleware)

Isti adapter za Next.js, ki opazuje, zna tudi uveljavljati. Nastavite okoljske spremenljivke pravilnika; middleware nato vaš pravilnik uporabi na robu (edge):

.envbash
AGENT_POLICY_URL=https://api.silentshield.io/api/v1/agent/policy
AGENT_OBSERVE_API_KEY=YOUR_API_KEY
AGENT_TRUSTED_KEYS=[{"kid":"…","key":"<base64 ed25519 pubkey>"}]

Reverse proxy (nginx / Caddy / Traefik)

En sam drobcen binarni program sidecar streže vsem trem proxyjem: proxy ga prek forward auth vpraša enkrat na zahtevo. Zaženite ga s svojim ključem mesta in zaupanja vrednimi ključi:

Terminalbash
AGENT_POLICY_URL="https://api.silentshield.io/api/v1/agent/policy" \
AGENT_SITE_KEY="YOUR_API_KEY" \
AGENT_TRUSTED_KEYS='[{"kid":"…","key":"<base64 ed25519 pubkey>"}]' \
AGENT_SIDECAR_LISTEN=":8127" \
  ./agent-sidecar

Sidecar na GET /auth odgovori z 204 (dovoli), 403 (zavrni) ali 429 skupaj z Retry-After (omeji). Tako ga povežete s svojim proxyjem:

nginx.confnginx
location = /_ss_auth {
    internal;
    proxy_pass              http://127.0.0.1:8127/auth;
    proxy_pass_request_body off;
    proxy_set_header        Content-Length "";
    proxy_set_header        X-Forwarded-Method $request_method;
    proxy_set_header        X-Forwarded-Uri    $request_uri;
    proxy_set_header        X-Forwarded-Host   $host;
    proxy_set_header        X-Forwarded-For    $remote_addr;
    proxy_set_header        User-Agent         $http_user_agent;
    proxy_set_header        Signature          $http_signature;
    proxy_set_header        Signature-Input    $http_signature_input;
    proxy_set_header        Signature-Agent    $http_signature_agent;
}
location / {
    auth_request /_ss_auth;
    # ... your normal proxy_pass to the origin ...
}
Caddyfilecaddy
example.com {
    forward_auth 127.0.0.1:8127 {
        uri /auth
        copy_headers User-Agent Signature Signature-Input Signature-Agent
        # Caddy sends X-Forwarded-Method/-Uri/-Host automatically
    }
    reverse_proxy origin:8080
}
traefik.ymlyaml
http:
  middlewares:
    silentshield:
      forwardAuth:
        address: "http://agent-sidecar:8127/auth"
        authRequestHeaders:
          - "User-Agent"
          - "Signature"
          - "Signature-Input"
          - "Signature-Agent"

Cloudflare Worker

Enforcer za Cloudflare Worker preveri paket pravilnika z Web Crypto Ed25519 in blokira, še preden zahteve sploh dosežejo vaš izvorni strežnik:

Terminalbash
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deploy

Odkrite omejitve

Agentnih brskalnikov na rezidenčnih IP naslovih (Comet, ChatGPT Atlas in podobni) tehnično ni mogoče ločiti od človeških obiskovalcev. Noben izdelek jih ne more zanesljivo prepoznati — zato SilentShield za to kategorijo zavestno ne daje nobene obljube glede uveljavljanja.

robots.txt in oddani vsebinski signali so priporočila: dobro vzgojeni pajki jih upoštevajo, a jih nič ne sili. Tehnično uveljavljanje poteka samo v enforcerjih na tej strani — in celo ti ravnajo konservativno ter zavračajo le nedvoumno prepoznane znane agente, tako da legitimni obiskovalci niso nikoli blokirani.

Konfigurirajte svoj pravilnik

Kaj sme kateri agent, konfigurirate za vsak API ključ v središču za agente: API ključi → izberite ključ → Agent. Prednastavitve pokrivajo pogoste primere; vsaka sprememba postane na novo podpisan paket, ki ga vaši enforcerji samodejno prevzamejo.

Odpri središče za agente →