Security defaults

Start from an environment where every password is generated and every request is recorded.

A new environment generates every password that you do not set, leaves auto-created channels inactive until you turn them on, and records traffic in the audit log from the first request.

Passwords and accounts

A password that you do not set is generated as a uuid4 or an equivalently strong secret, so a new environment has no published default.

The accounts that a new environment has, and where each is documented:

AccountWhat it is forWhere
adminThe Dashboard - its password is Zato_Dashboard_PasswordDashboard authentication
zatoSSH access to the container - the user does not have and does not need sudo powersEnvironment variables
ide_publisherDeploying code straight from an editorEnvironment variables

To change any of them later, see changing passwords.

API credentials

Default API users are HTTP Basic Auth definitions. You find them in the Dashboard under Security → HTTP Basic Auth, and each new security definition that you add joins them there. The /metrics Prometheus endpoint has a separate Basic Auth definition, with the password from Zato_Metrics_Password.

Channels

  • Auto-created REST channels start inactive and have no security definition - an inactive channel does not respond at its URL at all. When you activate a channel, assign it a security definition or group, in the Dashboard or in enmasse.
  • A channel that you create yourself is only as protected as the security definition you assign it - a channel with none is open to anyone who can reach its port. To assign one, see channel security.
  • The built-in firewall is on with no configuration, blocking requests for the URL paths listed in the environment's blocked-paths file.

Recording

The audit log is on for every new channel, connection and topic, so there is a record from the first request - for what the log keeps and for how long, see the audit log.

What you configure yourself

These settings have no useful default, so you set them:

  • Whether TLS is on and which ports are published
  • Who reaches the Dashboard
  • Which channels are open and which are rate limited
  • How long payloads are retained and whether they leave the container

The production checklist lists them in the order in which to make them.

See also

PageWhat it covers
Production security checklistThe pre-production checks that follow from the defaults
Changing passwordsReplacing the generated passwords with your own
Channel securityAssigning security definitions to the channels that you create

Learn more