Utilisation de Signal pour une authentification à double facteur

L'autre utilisation fortement sympathique de la passerelle Signal est aussi pour l'authentification à double facteur. L'idée consiste, pour ceux qui étaient dans un congélateur depuis ces 5 dernières années, a exiger un second mot de passe lors d'une phase d'authentification.

Oui, nous vivons une époque ou 1 mot de passe, même fort, même unique, même [mettre ce que tu veux ici ] ne suffit plus.

Ce second mot de passe est à usage unique et sera transmis sur un canal de communication différent. Dans notre cas, ce canal sera donc Signal.

Il est agréable de constater que nous (nous, les passionnés du self hosted) pouvons aussi bénéficier de sécurité renforcée !

Dans mon cas, j'utilise 2FA a peu près partout et maintenant aussi dans mon instance Nextcloud. Le module 2FA de Nextcloud supporte Signal nativement.

Une fois de plus, la documentation est suffisamment facile à suivre pour éviter d'être copié collé dans ce journal.

En résumé, il faut charger le module dans l'instance en prenant soin d'y configurer quelques informations de base (occ twofactorauth:gateway:configure signal).

Suite à quoi, l'utilisateur pourra l'activer à la demande via son menu personnel settings > security.

A ma connaissance, il n'est pas encore possible d'utiliser des passerelles différentes. Cette limitation peut être pénible dans certains cas, puisque je le rappelle, le numéro de téléphone (identifiant Signal de la source) est unique par passerelle.

Lors de la prochaine connexion, suite à la saisi de votre mot de passe, un code de quelques chiffres vous sera exigé pour finalement ouvrir votre session.

D'un point de vue réseau, il conviendra de prendre les mesures nécessaires entre les conteneurs Nextcloud et la passerelle Signal (utilisation d'un réseau privé entre conteneurs ou reverse proxy SSL) pour éviter que ce genre de paquet ne voyage trop ...

15:44:28.249893 IP 172.18.0.2.55766 > 1.2.3.4.commplex-main: Flags [P.], seq 
POST / HTTP/1.1
Host: 1.2.3.4:5000
User-Agent: GuzzleHttp/6.3.3 curl/7.64.0 PHP/7.3.8
Content-Type: application/x-www-form-urlencoded
Content-Length: 70

to=%2BXXXXXXXXXXX&message=336411+is+your+Nextcloud+authentication+code................

Passez une belle journée.

^EOF

#signal #nextcloud