
Configurazione Docker per configurare rapidamente i tuoi Canarytokens.
di Thinkst Applied Research
I Canarytokens aiutano a tracciare l'attività e le azioni sulla tua rete.
Se hai problemi, consulta le nostre FAQ qui, oppure apri una segnalazione e cercheremo di risponderti il prima possibile.
Questo progetto e tutti coloro che vi partecipano sono disciplinati dal Codice di Condotta. Partecipando, ti impegni a rispettare questo codice. Segnala comportamenti inaccettabili a [email protected].
docker compose -f docker-compose.yml down
oppure docker compose -f docker-compose-letsencrypt.yml downdocker-compose non funziona più e dovrai eseguire docker network prune prima di avviare la tua istanza Canarytokens con docker compose. Canarytokens v2 funzionerà comunque.canarytokens-docker.docker compose -f docker-compose.yml up -d
oppure docker compose -f docker-compose-letsencrypt.yml up -dNB: il repo canarytokens-docker aggiornato non contiene più il Dockerfile per Canarytokens v2, quindi per eseguirlo è necessario usare l'immagine taggata thinkst/canarytokens:v2_latest. Consigliamo vivamente di passare alla v3. Contattaci se stai lottando con la migrazione.
$ git clone https://github.com/thinkst/canarytokens-docker
$ cd canarytokens-docker
$ sudo apt-get install python3-pip python3-dev
$ sudo pip install -U docker-compose
#if this breaks with PyYAML errors, install the libyaml development package
# sudo apt-get install libyaml-dev
switchboard.env.dist e frontend.env.dist. Dovrai copiarli/rinominarli rispettivamente in switchboard.env e frontend.env (questo garantisce che la tua configurazione non venga cancellata se esegui un pull delle modifiche). Una volta fatto, puoi modificarli:Esamina entrambi i file di configurazione appena creati, switchboard.env e frontend.env, e compila la sezione Required Settings. Le Optional Settings non sono necessarie per il funzionamento e hanno valori predefiniti sensati, quindi non modificarle se non serve.
Decidi poi quale provider email vuoi usare per inviare gli avvisi. Dovrai scegliere tra mailgun, SMTP e sendgrid. I dettagli richiesti si trovano nel file .env corrispondente.
Genera un singolo seed univoco per la chiave WireGuard da impostare come CANARY_WG_PRIVATE_KEY_SEED sia in switchboard.env che in frontend.env con il comando:
dd bs=32 count=1 if=/dev/urandom 2>/dev/null | base64
i domini example1.com, example2.com ed example3.com (PDF) per i trigger di canarytoken tramite switchboard
l'IP pubblico 1.1.1.1 per i trigger di switchboard
il dominio 'my.domain' per servire il frontend
il nome di dominio Mailgun 'x.y' e la chiave API 'zzzzzzzzzz'
il seed della chiave WireGuard vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=
frontend.env
#These domains are used for general purpose tokens
CANARY_PUBLIC_IP=1.1.1.1
CANARY_DOMAINS=example1.com,example2.com
#These domains are only used for PDF tokens
CANARY_NXDOMAINS=example3.com
#Requires a Google Cloud API key to generate an incident map on the history page with the Maps JavaScript API
CANARY_GOOGLE_API_KEY=<grab google maps api key>
LOG_FILE=frontend.log
CANARY_PUBLIC_DOMAIN=mydomain.com
LOG_FILE=switchboard.log
CANARY_MAILGUN_DOMAIN_NAME=x.y
CANARY_MAILGUN_API_KEY=zzzzzzzzzz
[email protected]
CANARY_ALERT_EMAIL_FROM_DISPLAY="Example Canarytokens"
CANARY_ALERT_EMAIL_SUBJECT="Canarytoken"
CANARY_WG_PRIVATE_KEY_SEED=vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=
$ docker compose up
$ docker compose up -d
NOTA: se possiedi un solo dominio e desideri usare i token PDF, puoi usare sottodomini per CANARY_NXDOMAINS. Usando example.com come dominio, puoi impostare CANARY_NXDOMAINS su nx.example.com. Poi accedi alla console del tuo gestore DNS (dove puoi modificare i record DNS del dominio) e aggiungi un record NS di nx.example.com che mappa a example.com.
I token vengono salvati in un file di database Redis che si trova al di fuori dei contenitori Docker. Cerca dump.rdb nella directory canarytokens-docker/data.
Se vuoi cancellare tutti i tuoi token, elimina dump.rdb.
Abbiamo un file docker-compose separato che automatizzerà (in gran parte) la messa in funzione di un server Canarytokens con HTTPS. Dovrai fare quanto segue:
certbot.env. Dovrai fornire il tuo dominio e il tuo indirizzo email (sono necessari per il processo di registrazione di certbot).
Es.:# Specify a single domain name
MY_DOMAIN_NAME=example.com
# or multiple domains names with this different key (comment out MY_DOMAIN_NAME above if you do):
# MY_DOMAIN_NAMES=example.com anotherexample.net thirdexample.org
[email protected]
Quando vuoi avviare il server, userai docker compose -f docker-compose-letsencrypt.yml up che eseguirà il server in primo piano così puoi assicurarti che tutto si avvii correttamente.
Se tutto è in esecuzione, potresti voler premere CTRL+C, eseguire docker compose -f docker-compose-letsencrypt.yml down per tornare a uno stato pulito, e poi rieseguire docker compose -f docker-compose-letsencrypt.yml up -d con l'aggiunta di -d per eseguire il server in background (in modalità daemon)
Tieni presente che usando il metodo HTTPS verranno usati l'email e il nome di dominio specificati per registrare il certificato. Puoi leggere il processo di let's encrypt (usando certbot) qui. Il processo prevede la verifica che tu sia il proprietario del dominio specificato e la registrazione presso let's encrypt.