J'utilisais Google Authenticator dans le passé, outre le fait que ça me dérangeait un peu de tout confier à Google, il m'est arrivé une "blague", j'ai changé de téléphone et j'ai oublié de sauvegarder le nécessaire pour mes 2FA.
C'est le drame. Je prends énormément de soin à sauver mes serveurs, mais ça, j'avais complètement oublié de le faire...
J'ai donc cherché une alternative solide et je suis tombé sur 2FAuth et depuis, je n'ai pas changé. De plus elle offre des possibilités que Google Authenticator n'offre pas comme le temps qu'il s'écoule avant que le code change, le partage d'accès,...
2FAuth est une alternative Web auto-hébergée aux générateurs de codes d'accès à usage unique (OTP) comme Google Authenticator, conçue pour les appareils mobiles et les ordinateurs de bureau.
Il vise à vous faciliter la réalisation de vos démarches d'authentification 2FA quel que soit l'appareil que vous manipulez, avec une interface claire et adaptée.
⚡Caractéristiques
- Gérez vos comptes 2FA et organisez-les à l'aide de groupes.
- Scannez et décodez n'importe quel code QR pour ajouter un compte en un rien de temps.
- Ajoutez un compte personnalisé sans QR code grâce à un formulaire avancé
- Modifier les comptes, même ceux importés.
- Générez des codes de sécurité TOTP et HOTP et des codes Steam Guard.
- Partagez un accès 2FA avec une personne de confiance.
- Adapté au mobile et tablette.
L'installation
Avec Cosmos Cloud
Cette application peut-être installée en un clic sur votre Cosmos Cloud en cliquant sur l'image ci-dessous:
Avec docker-compose
- On commence par créer le dossier ou on va installer 2fauth:
sudo mkdir 2fauth
On donne les bons droits comme le recommande la documentation:
chown 1000:1000 2fauth
chmod 700 2fauth
On va se rendre dans le dossier pour l'étape 2:
cd 2fauth
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: "3"
services:
2fauth:
image: 2fauth/2fauth
container_name: 2fauth
volumes:
- /srv/appdata/2fauth:/2fauth
ports:
- 8000:8000/tcp
environment:
# You can change the name of the app
- APP_NAME=2FAuth
- APP_ENV=local
- APP_DEBUG=false
- SITE_OWNER=mail@example.com
- APP_KEY=SomeRandomStringOf32CharsExactly #32 caractères
# This variable must match your installation's external address.
# Webauthn won't work otherwise.
- APP_URL=http://localhost
- IS_DEMO_APP=false
- LOG_CHANNEL=daily
- LOG_LEVEL=notice
- DB_DATABASE="/srv/database/database.sqlite"
- CACHE_DRIVER=file
- SESSION_DRIVER=file
# - MAIL_DRIVER=log
# - MAIL_HOST=smtp.mailtrap.io
# - MAIL_PORT=2525
# - MAIL_USERNAME=null
# - MAIL_PASSWORD=null
# - MAIL_ENCRYPTION=null
# - MAIL_FROM_NAME=null
# - MAIL_FROM_ADDRESS=null
- MAIL_VERIFY_SSL_PEER=true
- THROTTLE_API=60
- LOGIN_THROTTLE=5
- AUTHENTICATION_GUARD=web-guard
- AUTH_PROXY_HEADER_FOR_USER=null
- AUTH_PROXY_HEADER_FOR_EMAIL=null
- PROXY_LOGOUT_URL=null
- WEBAUTHN_NAME=2FAuth
- WEBAUTHN_ID=null
- WEBAUTHN_ICON=null
- WEBAUTHN_USER_VERIFICATION=preferred
- TRUSTED_PROXIES=null
- PROXY_FOR_OUTGOING_REQUESTS=null
- BROADCAST_DRIVER=log
- QUEUE_DRIVER=sync
- SESSION_LIFETIME=120
- REDIS_HOST=127.0.0.1
- REDIS_PASSWORD=null
- REDIS_PORT=6379
- PUSHER_APP_ID=
- PUSHER_APP_KEY=
- PUSHER_APP_SECRET=
- PUSHER_APP_CLUSTER=mt1
- VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
- VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
- MIX_ENV=local
SITE_OWNER=mail@example.com => indiquez votre mail, au choix
APP_KEY=SomeRandomStringOf32CharsExactly => choisissez une clé de 32 caractères, pas un de plus, pas un de moins.
APP_URL => cette variable doit correspondre à l'adresse externe de votre installation, ou, pour une utilisation en http mettre l'ip:port. Mais vivement déconseillé! Préférez le HTTPS.
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi.
En HTTP:
http://ip:8000
ou votre domaine:
https://ndd.tml
Il vaut évidemment mieux choisir de se connecter avec du HTTPS, même en local!
chown 1000:1000 2fauth
chmod 700 2fauth
- Créez votre compte et commencez à utiliser 2fauth:
Configurer le serveur mail
Pour activer le serveur mail, veillez à décommenter les lignes suivants et remplir les informations demandées:
MAIL_DRIVER=smtp
MAIL_HOST=SSL0.OVH.NET
MAIL_PORT=465
MAIL_USERNAME=john.doe@example.com
MAIL_PASSWORD=MyP4Ssw0rd
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME="John"
MAIL_FROM_ADDRESS=john.doe@example.com
Si vous n'avez pas de serveur mail personnel, vous pouvez utiliser votre Gmail, votre mail Microsoft,...: