====== Exquisite Security ====== Protecting the Exquisite community is paramount to us, on every level. This document highlights the more technical measures we have taken to secure the Mastodon instance. ==== High-level ==== * We regularly patch and install updates, * We work through the least priviledge model, * We use encryption wherever possible, * Processes are thoroughly isolated, * The security is continuously monitored. {{ :infra:security.png?nolink |}} === Server === * The OS and software is updated every week (Thursdays, 22:00 - 23:59 CEST), * The storage on the server is fully encrypted (using ''AES-XTS-256''), * The server solely runs Mastodon and the required stack, thus preventing additional attack surface. === Web front-end === * Any plain-text (HTTP) traffic is redirected to the TLS secure counterpart (HTTPS), * TLS (or more specifically: TLSv1.2 and TLSv1.3) is used for transit encryption - with HSTS and robust ciphers, * OCSP stapling is enabled, * TLS session tickets are disabled (at least until Nginx fixes this properly). === Networking === * The server itself is strictly firewalled (using ''pf(8)''), both egress and ingress - on a daemon/service level, * Internal service communication is encrypted (eg: Mastodon is configured to connect to the local PostgreSQL server using TLS). === Etc === * Backups are made every 24 hours, using a 'pull mechanism'. The Mastodon server does NOT have access to the backup repository, * SSH is hardened (PKI authentication, MFA via hardware tokens), * SSH ciphers are hardened. ====== Account security ====== The security of your account is paramount to us. However, it is only as strong as the weakest link. In this article, we explain the basics of account security. * Use a strong and unique password, preferably by using a password manager * Enable multifactor authentication * Make sure your contact address is kept up to date ==== Passwords ==== Use a strong and unique password for your account. Mind you: this is not exclusive to Exquisite or Mastodon. We highly recommend use of a password manager - as this helps to create and securely store a larger number of credentials and sensitive information. If you are completely new to a password manager: a solid recommendation is either [[https://keepassxc.org|KeePassXC]] or [[https://bitwarden.com|Bitwarden]]. The latter has a selfhostable server implementation in Rust, dubbed [[https://github.com/dani-garcia/vaultwarden|Vaultwarden]] ==== MFA ==== MFA - or Multi-Factor Authentication - drastically limits the consequences of a stolen password. It adds a different and unique factor to the authentication process. TOTP is the most often seen second factor; it generates a time limited token of six characters. Mastodon supports both TOTP and FIDO2 / WebAuthn. The latter is more secure, but requires a hardward token. In order to setup TOTP or FIDO2, please [[https://exquisite.social/settings/two_factor_authentication_methods|follow this link]]. === Recommendations for TOTP === * **Android:** [[https://getaegis.app|Aegis]] * **iOS/iPadOS:** [[https://raivo-otp.com|Raivo]] ==== Direct messages ==== Direct messages on Mastodon are not end-to-end encrypted. Therefor, they should not be relied on to exchange sensitive communication.