
Canarytokens helps track activity and actions on your network
by Thinkst Applied Research
Canarytokens help track activity and actions on your network.
If you have any issues please check out our FAQ over here, or create an issue and we'll try to get back to you as soon as possible.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
We recommend the Docker image installation process.
The Canarytokens server can use many different settings configurations. You can find them in settings.py. There are two
main settings files: frontend.env and switchboard.env.
The frontend.env contains the frontend process settings such as:
The switchboard.env contains the switchboard process settings such as:
Please note that when choosing which email provider you would like to use, you MUST only provide
information related to that provider. E.g. if you have CANARY_MAILGUN_API_KEY then you must remove the others such as
CANARY_SENDGRID_API_KEY and CANARY_MANDRILL_API_KEY.
If you are using Mailgun's European infrastructure for your Canarytokens Server, you will need to add CANARY_MAILGUN_BASE_URL=https://api.eu.mailgun.net to your switchboard.env. If you do not specify that,
we will use the regular URL as 'https://api.mailgun.net' as the default.
AWS API key Canarytokens use AWS-side infrastructure to allocate IAM users and run safety-net checks. That infrastructure has moved to a private repo.
This repo still owns the Canarytokens-facing integration points:
CANARY_AWSID_URL in frontend.env is the API Gateway/Lambda URL for the LinkAWSIDTokenUserToCanaryConsole endpoint managed from the private repo.CANARY_AWSID_AUTH in frontend.env must match the auth token in the AWS ID secret. The frontend sends domain, token, auth, and guid when creating an AWS key token.CANARY_AWSID_GUID identifies the Canarytokens instance when allocating and deleting AWS key tokens.CANARY_AWSID_CONTROL_ACCOUNT_ID is the AWS account ID that owns the AWS ID deletion queue.CANARY_AWSID_URL or CANARY_AWSID_AUTH is unset, AWS key token creation is disabled for this Canarytokens instance.When configuring outgoing SMTP please consider the following:
Restrictions:
CANARY_ALERT_EMAIL_FROM_DISPLAY should be in the format: CANARY_ALERT_EMAIL_FROM_DISPLAY=CanaryAlert <[email protected]>The following settings have to be configured in switchboard.env for SMTP to work:
A complete example config in switchboard.env then looks like this:
CANARY_SMTP_SERVER=smtp.yourserver.com
CANARY_SMTP_PORT=587
CANARY_SMTP_USERNAME=<your smtp username>
CANARY_SMTP_PASSWORD=<your smtp password>
[email protected]
CANARY_ALERT_EMAIL_SUBJECT="Canary Alert via SMTP"
By default, unless running in DEBUG mode, no more than 1 alert per unique calling IP per minute is permitted. Activity will still be recorded in the database, and visible in the token management console, but alerts will not be generated (email and/or webhook).
This is tunable with the switchboard ENV variable CANARY_MAX_ALERTS_PER_MINUTE.
After a webhook returns an error 5 times in a row, it is disabled. This behaviour can be
tuned with MAX_ALERT_FAILURES.
We have a FAQ over here
Please check out our Code of Conduct and Contributing documents before submitting a pull request.
We look forward to your valuable contributions.
| Variable Name | Value |
|---|
| CANARY_MAILGUN_DOMAIN_NAME | |
| CANARY_MAILGUN_API_KEY | |
| CANARY_MANDRILL_API_KEY | |
| CANARY_SENDGRID_API_KEY | |
| CANARY_PUBLIC_IP | |
| CANARY_PUBLIC_DOMAIN | |
| CANARY_ALERT_EMAIL_FROM_ADDRESS | [email protected] |
| CANARY_ALERT_EMAIL_FROM_DISPLAY | "Canarytoken Mailer" |
| CANARY_ALERT_EMAIL_SUBJECT | "Alert" |
| CANARY_MAX_ALERTS_PER_MINUTE | 1000 |
| CANARY_SMTP_USERNAME | |
| CANARY_SMTP_PASSWORD | |
| CANARY_SMTP_SERVER | smtp.gmail.com |
| CANARY_IPINFO_API_KEY | <ipinfo.io api key> |
| CANARY_SMTP_PORT | 587 |
| CANARY_WEB_IMAGE_UPLOAD_PATH | /uploads |
| LOG_FILE | switchboard.log |
| ERROR_LOG_WEBHOOK | |
| CANARY_FORCE_HTTPS | force https protocol scheme for Canarytokens |
| CANARY_LAMBDA_AWS_CRED_REPORT_AUTH |
CANARY_LAMBDA_AWS_CRED_REPORT_AUTH in switchboard.env enables the /a/cr callback used by the AWS ID credential report checker.