Security
This page describes important security consideration for the Weka cluster management.
Overview
General security considerations are described below.
For data security features, such as encryption via KMS, refer to the KMS Management section.
For security around mounting and separation of organizations, refer to the Organizations section.
Different user roles and AD/LDAP authentication is described in the User Management section.
Obtaining an Authentication Token
An authentication token is used to access the Weka cluster API, and allow mounting secure filesystems.
It is first required to log in to obtain an access token. Log in via the CLI (using the weka user login
CLI command, a token file is created in ~/.weka/auth-token.json
) or via the API (using the POST /login
API).
This provides an access token to be used to authenticate the command, as long as a longer-lived refresh-token, to allow re-obtaining additional access-tokens without providing the username/password again.
Access-Token for API usage
When working with REST API, it is sometimes desired to use a longer-lived token (one that doesn't require a refresh every 5 minutes). It is possible to generate such a token for internal Weka users using the weka user generate-token [--access-token-timeout timeout]
CLI command (default to 30 days).
Access-tokens are revoked when calling the weka user revoke-tokens
CLI command.
TLS
By default, the Weka system deploys a self-signed certificate to access the GUI, CLI, and API via HTTPS.
The Weka system allows using only TLS 1.2 and higher with at least 128-bit ciphers.
You can deploy your certificates using the weka security tls set
CLI command. The command receives an unencrypted private key.
For example, this is a similar command to what Weka uses to generate the self-signed certificate using OpenSSL:openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days <days> -nodes
Certificate Replacement/Rotation
To replace the certificate, use the weka security tls set
CLI command to set a new one. Once a certificate has been issued, it is used for connecting to the cluster (for the time it has been issued), while the revocation is handled by the CA and propagating its revocation lists into the various clients.
Custom CA Certificates
Weka uses well-known CAs to establish trust with external services, e.g., when using a KMS. If a different CA is required for Weka servers to establish trust, use weka security ca-cert set
CLI command to install this custom CA certificate on the Weka servers.
Password Management
Password Requirements
at least 8 characters
an uppercase letter
a lowercase letter
a number or a special character
The First User created by default is admin (with admin
password), and the password is prompt to change on the first login.
Account Lockout
To prevent brute force attacks, if several login attempts fail (5 by default), the user account will be locked out for several minutes (2 by default).
The defaults can be controlled using the weka security lockout-config show/set/reset
CLI commands.
GUI
The Weka GUI is (only) accessible from the backend servers via port 14000.
The GUI session will automatically be terminated, and the user will get logged out after 30 minutes of inactivity.
Security Login Statement
It is possible to set a security/legal login statement that will add a banner with that statement on the GUI login page.
To set the statement, use the weka security login-banner set|show|reset|enable|disable
CLI command or the GUI Login Banner
menu.
Last updated