This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

Classement

  1. PiwiLAbruti

    PiwiLAbruti

    SynoCommunity


    • Points

      3

    • Compteur de contenus

      7 446


  2. Brunchto

    Brunchto

    Membres


    • Points

      2

    • Compteur de contenus

      1 301


  3. maxou56

    maxou56

    Membres


    • Points

      2

    • Compteur de contenus

      3 283


  4. .Shad.

    .Shad.

    Membres


    • Points

      2

    • Compteur de contenus

      5 157


Contenu populaire

Affichage du contenu avec la meilleure réputation depuis le 21/05/2022 dans toutes les zones

  1. synology active backup. avec chiffrement, compression, versionning
    2 points
  2. C'est dommage que Synology utilise des dénominations différentes. En plus il n'y a pas de cohérence complète avec la documentation d'Open vSwitch où Balance-TCP s'appelle LACP Bonding. Pour plus de lisibilité (les correspondances sont en couleur) : Sans Open vSwitch : Adaptive Load Balancing IEEE 802.3ad Dynamic Link Aggregation Balance XOR Actif/Veille Avec Open vSwitch : Balance-SLB Balance-TCP Mode actif/sauvegarde Source [Fr] : https://kb.synology.com/fr-fr/DSM/help/DSM/AdminCenter/connection_network_linkaggr?version=7#b_9 Source [En] : https://kb.synology.com/en-us/DSM/help/DSM/AdminCenter/connection_network_linkaggr?version=7#b_9
    2 points
  3. Bonjour, je passe donc brièvement par la case présentation "Ce qu’on attend dans une belle présentation" : - Votre âge : 71. - Votre niveau en informatique : éclairé (à la lampe à pétrole puis par LED depuis 1980)... - Vous avez quel modèle de nas et de disque dans celui-ci : DS720+ 2 HDD NAS WD x 6 To (en raid SHR) - Vous êtes utilisateur d’un synology depuis longtemps ? oui, depuis un paquet de jours, soit environ un mois (c'est long quand on n'y connaît rien et qu'on découvre…) - Un peu d’informations sur votre utilisation, services, paquets, etc... : essentiellement stockage, ainsi qu'appel de documents à distance (quand ça marche). Un gros paquet… de paquets installés dont je comprends même pas à quoi ils servent.
    1 point
  4. Bonjour à tous, Je frole les 50 ans et j'ai commencé à bidouiller l'informatique à l'age de 18 ans lorsque j'ai acheté mon premier pc (486 SX25). J'ai depuis touché à pratiquement toutes les versions de Windows et beaucoup de distributions Linux ainsi que Mac bien entendu. J'administre également un serveur personnel chez OVH sous Debian. Actuellement trois NAS Synology (DS212, DS118 et DS1019+) avec un passage par un NAS monté sous Linux à l'aide de OpenMediaVault pour tester. Ils sont bien entendu connectés sur onduleur. Leurs utilisations sont en grande partie pour de la sauvegarde, de la videosurveillance, du partage de fichiers, du FTP et des tests divers et variés. Je ne suis pas expert mais plutot un utilisateur confirmé. J'espere avoir été suffisamment précis dans ma présentation
    1 point
  5. Bonjour. Bientot 45 ans et toujours fan de technologie. De nombreuses années sur pc à bidouiller mais aujourd'hui sur Mac, ça change.. Je me lance dans mon premier Nas.. Merci à vous
    1 point
  6. Parce que ton NAS n'est pas une passerelle Internet. Cela nécessite du routage statique entre tes deux réseaux. Ça pose aussi la question de la gestion du NAT pour le réseau atelier. DSM n'est pas pensé pour faire office de routeur. Car il faudra autoriser les requêtes sortantes du réseau atelier vers le net, et ça implique d'ouvrir tous les ports entrants du NAS par exemple. Et faire du NAT de port d'une interface vers l'autre, bref rien d'aisé sans faire de l'iptable, qui est encore moins aisé. Pour moi, tu aurais plus simple à prendre un bête routeur basique à 30 balles. Tu le mets sur un des ports de ta box, puis à son cul tu branches tous les équipements du réseau atelier. Si tu as besoin du boot PXE tu laisses le NAS en serveur DHCP et tu désactives celui du routeur. Autre solution, tu prends un routeur qui gère les vlan (bientôt le cas des routeurs Synology avec SRM 1.3) ou autre ddwrt, openwrt, pfSense, etc... Et là tu fais tout ce que tu veux. En revanche il te faudra plus que probablement (suivant le nombre d'équipements) un switch administrable pour séparer les réseaux maison et atelier.
    1 point
  7. Tu raisonnes Windows, ou il est possible de découper un disque en plusieurs partitions, et de voir ça comme plusieurs disques... Avec le NAS, cela marche comme cela : Tu as la notion de groupe de stockage : c’est l’association de plusieurs disques durs pour créer une seule unité de stockage. C’est lui qui gère la protection des données de type Basic, RAID 1, RAID 5, RAID 6… (SHR sans protection de données, SHR, SHR2 dans le terminologie Syno) Tu as la notion de Volume : c’est l’espace de stockage accessible sur le NAS, qui a été défini sur un groupe de stockage. Tu peux définir un ou plusieurs volumes dans un groupe de stockage. Tu as la notion de Dossier Partagé, qui sont définis sur dans un Volume. Techniquement, ce sont ces dossiers partagés que tu vois dans ton NAS, et dans lesquels tu peux stocker tes données Donc au final, quand tu accèdes à tes données, tu accèdes à des dossiers partagés. Et tu n'as aucune notion de disque physique sur lequel sont stockées ces données ...
    1 point
  8. Tu as bien vérifier? même pour un administrateur, ou le groupe administrateur ça peut être désactivé. Dans panneau de configuration > utilisateur…> groupe > modifier > application > file station
    1 point
  9. Je ne pense pas que le reverse DNS soit validé ainsi, normalement la résolution de l'adresse IP doit pointer vers le nom de domaine d'expédition. La réponse est dans le logs de MailPlus Server (Audit en cours > Journal > Journal de sécurité) : 2022-05-23 15:47 195.154.82.101 postmaster@nstools.fr postmaster@domain.tld SPF reject RCPT for 550 5.7.1 <postmaster@domain.tld>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.open-spf.org/Why?s=helo;id=nstools.fr;ip=195.154.82.101;r=postmaster@domain.tld 2022-05-23 15:47 195.154.82.101 postmaster@nstools.fr abuse@domain.tld SPF reject RCPT for 550 5.7.1 <abuse@domain.tld>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.open-spf.org/Why?s=helo;id=nstools.fr;ip=195.154.82.101;r=abuse@domain.tld Plus précisément : Message rejected due to: SPF fail - not authorized. J'ai vérifié, l'adresse d'expédition 195.154.82.101 est bien absente de leur SPF : Ça serait bien qu'ils testent leur propre configuration avant de tester celle des autres : https://nstools.fr/nstools.fr (absence d'enregistrement DMARC)
    1 point
  10. Bonjour RealJesus, Pour voir ton groupe de stockage augmenter il te faut remplacer un autre disque dur de 2 to par un 6To car actuellement tu as ça https://www.synology.com/fr-fr/support/RAID_calculator?hdds=2 TB|2 TB|2 TB|6 TB et si tu veux passer à 10 d’après le comparateur de raid ( il faut faire ce que j'ai dit plus haut) https://www.synology.com/fr-fr/support/RAID_calculator?hdds=2 TB|2 TB|6 TB|6 TB.
    1 point
  11. Bonjour, L’update 6 est disponible: (A noter pas de redémarrage) https://www.synology.com/fr-fr/security/advisory/Synology_SA_22_06 https://www.synology.com/fr-fr/releaseNote/DSM#6_2 Lien direct pour l'update: https://archive.synology.com/download/Os/DSM/6.2.4-25556-6
    1 point
  12. Bonjour, si tu es chez Free et que ton ip a changé après que tu sois passé en ip partagée et remis en full stack, tu ne pourras pas te délister. Ton ip "fixe" est considérée comme pas fixe et même après avoir fait la procédure que tu cites, ça ne fonctionne pas. Free ne fera rien pour rétablir la situation.
    1 point
  13. Bonjour, Alors bonne nouvelle le spk est déjà compilé pour le ds220j (rtd1296). Je viens d'installer le paquet, créer la config. Et....: Magnifique C'est largement mieux que openvpn. Manque plus qu'une interface web pour contrôler le paquet... Je viens de dl un torrent via vpn wireguard: 20Mo/s de moyenne Le cpu de la vm pfsense souffre 65% utilisé
    1 point
  14. Un petit DS220+ ? Ce n'est pas vraiment une entrée de gamme
    1 point
  15. 1. Qu'est-ce qu'Authelia ? Authelia est un serveur d'authentification open-source proposant une authentification unique ou à deux facteurs à la demande. C'est donc un moyen de venir appliquer une couche de sécurité supplémentaire sur une application critique ou sur une application qui en serait dépourvue d'élément d'authentification. L'authentification deux facteurs peut se faire via : TOTP (Time-based One-Time Password) : l'authentification à deux facteurs telle que Synology la propose, un code valable x secondes à valider après la saisie du mot de passe. Notifications PUSH : via l'application DuoAPI, on va pouvoir recevoir des notifications push sur notre téléphone pour valider la connexion. Clés de sécurité avec jeton type Yubikey. OpenID Connect (en beta) : Vous vous servez de votre ID OpenID pour vous connecter à vos applications. Seuls les points 1 et 2 seront développés dans ce tutoriel. 2. Prérequis Difficulté : moyenne-avancé Vous devez disposer d'un NAS compatible Docker, vous pouvez en retrouver la liste mise à jour à cette adresse : https://www.synology.com/fr-fr/dsm/packages/Docker Avoir mis en place SWAG (proxy inversé multi-fonctionnel) dont un tutoriel de mise en route est disponible sur ce forum : Disposer d'une instance MySQL (ou MariaDB) Savoir se connecter en SSH en root Savoir éditer les différents fichiers de configuration par la méthode de votre choix (nano, vim, WinSCP, File Station, etc...) Utiliser Docker-compose NOTE : Certaines notions sont longuement explicitées dans le tutoriel pour la mise en place de SWAG, une double astérisque ** sera présente à côté des points concernés. 3. Principe Lorsque Nginx reçoit une requête vers exemple.ndd.tld et que ce sous-domaine est l'objet d'une entrée de proxy inversé, il vérifie si un appel à Authelia est demandé. Si c'est le cas, la demande est transférée à ce dernier, qui va exiger une authentification (ou pas) afin de poursuivre. Suivant les ACL (Access Control Lists) qu'on aura défini dans sa configuration, l'accès peut être : refusé autorisé autorisé sous réserve d'authentification par login et mot de passe autorisé sous réserve d'authentification à deux facteurs On peut donc en résumer le principe suivant ce schéma (dans notre cas, nous détaillerons l'installation pour Nginx uniquement, mais Traefik et HAProxy sont également compatibles) : Authelia doit être vu comme un complément de Nginx, même si les deux permettent un filtrage par ACL (et Nginx un blocage GeoIP de surcroît, qu'Authelia n'intègre pas). Il utilise le port 9091, qui n'est pas un port utilisé par défaut par DSM, comme pouvaient l'être les ports 80 et 443, raison pour laquelle SWAG est déployé sur un réseau macvlan. Il sera donc déployé sur un réseau bridge. 4. Hypothèses Quelques conventions pour s'y retrouver par la suite : IP de l'hôte : 192.168.1.100 IP virtuelle de l'hôte : : 192.168.1.200 Réseau bridge personnalisé : 172.25.0.0 Les commandes via SSH sont exécutées en tant que root. 5. Création d'un réseau bridge personnalisé A priori, on pourrait utiliser le réseau bridge par défaut (172.17.0.0/16), néanmoins afin de garantir un minimum de changement au cas où vous souhaiteriez utiliser Redis (voir fonctionnalités avancées) en conjonction avec Authelia, on va créer un réseau bridge personnalisé qui facilitera la communication inter-conteneurs. mkdir -p /volume1/docker/networks && cd $_ nano net-db.sh On y insère le code suivant : docker network create -d bridge \ --subnet=172.25.0.0/16 \ --gateway=172.25.0.1 \ --opt "com.docker.network.bridge.name"="br_net-db" \ net-db On rend le script exécutable : chmod u+x net-db.sh On l'exécute : bash net-db.sh Si la commande se termine avec succès, un identifiant composé de lettres et de chiffres s'affiche à l'écran. 6. Installation 6-A. Fichier docker-compose Voici une proposition de fichier docker-compose adapté aux versions 2.x, libre à vous de vous inspirer de ce qui est recommandé dans la documentation d'Authelia : version: '2.1' services: authelia: image: authelia/authelia container_name: authelia networks: - net-db environment: - AUTHELIA_JWT_SECRET_FILE=/config/secrets/jwt - AUTHELIA_STORAGE_MYSQL_PASSWORD_FILE=/config/secrets/mysql - AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE=/config/secrets/smtp - AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE=/config/secrets/encryption - TZ=Europe/Brussels ports: - 9091:9091/tcp volumes: - /volume1/docker/authelia/config:/config restart: unless-stopped networks: net-db: external: true NOTE : Pour l'instant on ne crée pas le conteneur via la commande docker-compose, cela n'interviendra que bien plus tard. 6-B. Secrets Authelia ne permet pas de stocker des credentials (login et mot de passe) directement en clair dans les variables, ni même dans un fichier .env. On peut donc soit utiliser la fonctionnalité secrets de Docker (compatible sur les implémentations de Docker pour DSM 7 et +), soit définir les variables dans des fichiers et les monter au moyen de variables d'environnement, c'est cette seconde méthode que nous privilégierons (voir docker-compose ci-avant). On crée les dossiers où seront stockées nos données en s'y plaçant dans la foulée : mkdir -p /volume1/docker/authelia/config/secrets && cd $_ Puis on crée les fichiers contenant les mots de passe que le fichier de configuration d'Authelia utilisera. N'hésitez pas à utiliser des mots de passe longs (privilégiez la longueur du mot de passe sur la présence abusive de caractères spéciaux). 30 caractères par exemple est une valeur satisfaisante : echo 'MOT_DE_PASSE_1' > jwt echo 'MOT_DE_PASSE_2' > mysql ## Le mot de passe pour MySQL doit conteneur au moins 1 caractere special !! echo 'MDP_SMTP_MAIL' > smtp ## Correspond au mot de passe du serveur SMTP qu'Authelia utilisera echo 'MOT_DE_PASSE_3' > encryption ## Minimum 20 caracteres, idealement 64 On vérifie la présence de nos fichiers : ls -l Ce qui devrait vous donner ceci : total 12 -rwxr-xr-x+ 1 root root 31 Jul 25 00:15 jwt -rwxr-xr-x+ 1 root root 31 Jul 25 00:16 mysql -rwxr-xr-x+ 1 root root 14 Jul 26 00:09 smtp -rwxr-xr-x+ 1 root root 14 Jul 26 00:09 encryption Comme on peut le constater, malgré le fait que les fichiers appartiennent à l'utilisateur et au groupe root, DSM applique ses ACL (le "+" à la fin des permissions UNIX), ce qui fait que n'importe quel utilisateur possédant des droits de lecture et ou d'écriture dans le dossier partagé docker pourra consulter le contenu de ces fichiers. On sécurise donc les fichiers : chmod 660 ./* chown your-personal-user:root ./* NOTE : Il faut évidemment remplacer l'utilisateur your-personal-user par l'utilisateur dont vous souhaitez qu'il soit propriétaire des dits fichiers. 6-C. Configuration 6-C-1. Génération du fichier configuration.yml d'Authelia On va exécuter une première fois le conteneur, qui s'arrêtera aussitôt, mais dont l'exécution permettra de générer un fichier de configuration, il a l'avantage d'être entièrement commenté et vous sera d'une aide précieuse si vous souhaitez creuser plus amplement les possibilités d'Authelia. On exécute la commande suivante : docker run --rm -v /volume1/docker/authelia/config:/config authelia/authelia A la suite de quoi on a un fichier configuration.yml dans /volume1/docker/authelia/config 6-C-2. Préparation de SWAG Le cadre d'utilisation par défaut prévu pour SWAG est d'être dans le même réseau bridge personnalisé qu'Authelia, ce n'est pas le cas ici vu que SWAG est déployé sur un réseau macvlan. 6-C-2-a. Modification de la configuration serveur On va devoir éditer les fichiers de configuration pour Authelia dans SWAG, notamment le fichier authelia-server.conf : cd /volume1/docker/swag/config/nginx && nano authelia-server.conf Ce qui donne : ## Version 2021/05/28 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/authelia-server.conf # Make sure that your authelia container is in the same user defined bridge network and is named authelia location ^~ /authelia { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_authelia 192.168.1.200; ## On remplace "authelia" par l'IP virtuelle du NAS proxy_pass http://$upstream_authelia:9091; } location = /authelia/api/verify { internal; if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]]) { return 401; } include /config/nginx/resolver.conf; set $upstream_authelia 192.168.1.200; ## On remplace "authelia" par l'IP virtuelle du NAS proxy_pass_request_body off; proxy_pass http://$upstream_authelia:9091; proxy_set_header Content-Length ""; [...] } ATTENTION : Avec DSM 7, les appels API pour le bureau DSM comprennent des caractères normalement ignorés par Authelia (des accolades), il faut les ajouter dans la ligne : if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]]) { devient if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]\{\}]) { On valide les modifications. 6-C-2-b. Modification des entrées de proxy inversé** Pour que Nginx prenne Authelia en compte, il suffit d'éditer une entrée de proxy inversé existante, et de décommenter les deux lignes suivantes : #include /config/nginx/authelia-server.conf; [...] #include /config/nginx/authelia-location.conf; Il faudra ensuite que le domaine correspondant à cette entrée soit pris en charge dans les ACL d'Authelia (voir point 6-C-3-f.) 6-C-2-c. Création d'entrée pour Authelia** On va également en profiter pour créer une entrée de proxy inversé pour la page d'Authelia, dont on va se servir pour configurer nos accès : cd /volume1/docker/swag/config/nginx/proxy-confs cp authelia.subdomain.conf.sample authelia.subdomain.conf nano authelia.subdomain.conf Puis on adapte à notre besoin : ## Version 2021/05/18 # make sure that your dns has a cname set for authelia # the default authelia-server and authelia-location confs included with letsencrypt rely on # subfolder proxy at "/authelia" and enabling of this proxy conf is not necessary. # But if you'd like to use authelia via subdomain, you can enable this proxy and set up your own # authelia-server and authelia-location confs as described in authelia docs. server { listen 443 ssl; listen [::]:443 ssl; server_name authelia.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app 192.168.1.200; ## On utilise l'IP virtuelle du NAS set $upstream_port 9091; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } _______________________ Une fois ceci fait, on redémarre le conteneur SWAG, on n'aura plus besoin d'y toucher. docker restart swag 6-C-3. Personnalisation du fichier de configuration d'Authelia Le fichier regorge d'options, parcourons-le donc et voyons ce qu'il convient de faire au fur et à mesure. Les parties que je ne mentionne pas ne sont pas sensées être modifiées (du moins pour l'application qu'on en fera ici (voir la documentation pour une utilisation plus experte)) ou ont un intérêt évident/trivial (theme par exemple). 6-C-3-a. server # Configuration options specific to the internal http server server: [...] path: "authelia" Donner la valeur "authelia" à path est un prérequis du bon fonctionnement de l'application suivant la configuration embarquée dans SWAG. 6-C-3-b. log_level log_level: info Par défaut, le réglage se situe sur debug, qui est déjà très verbeux (trace est encore pire). Je vous conseille de passer sur info et éventuellement switcher sur debug en cas de problème. 6-C-3-c. jwt_secret jwt_secret: Il est important de noter que jwt_secret n'ait aucune valeur, afin que le secret défini dans le fichier jwt soit pris en compte. Si vous laissez la chaîne de caractères par défaut "a_very_important_secret", le contenu du fichier jwt ne sera pas utilisé. NOTE : Cette remarque est valable pour toutes les autres clés faisant appel au contenu des fichiers définis par avant (jwt, mysql, etc...). 6-C-3-d. default_redirection_url default_redirection_url: https://ndd.tld Authelia est directement accessible par proxy inversé, c'est un des templates de fichier conf de SWAG. Lorsque vous vous identifierez sur cette page, vous serez redirigé vers la page définie par default_redirection_url. 6-C-3-e. authentication_backend Deux possibilités existent : l'utilisation d'un annuaire LDAP ou un fichier d'utilisateurs défini localement. Nous utiliserons la seconde option. Il faut par conséquent commenter toutes les clés, listes, etc... liées à la configuration du serveur LDAP : ## ## LDAP (Authentication Provider) ## ## This is the recommended Authentication Provider in production ## because it allows Authelia to offload the stateful operations ## onto the LDAP service. # ldap: [...] # implementation: custom [...] # url: ldap://127.0.0.1 ## Use StartTLS with the LDAP connection. # start_tls: false # tls: [...] # skip_verify: false ## Minimum TLS version for either Secure LDAP or LDAP StartTLS. # minimum_version: TLS1.2 [...] # base_dn: dc=example,dc=com [...] # additional_users_dn: ou=users [...] # users_filter: (&({username_attribute}={input})(objectClass=person)) [...] # additional_groups_dn: ou=groups [...] # groups_filter: (&(member={dn})(objectclass=groupOfNames)) [...] ## The username and password of the admin user. # user: cn=admin,dc=example,dc=com # password: password Nous utiliserons la deuxième option disponible : la définition locale d'utilisateurs dans une liste, cela se fait au moyen d'un fichier users_database.yml. On utilise le modèle disponible sur GitHub : cd /volume1/docker/authelia/config wget https://raw.githubusercontent.com/authelia/authelia/master/examples/compose/local/authelia/users_database.yml Qu'on personnalisera de la sorte : --- ############################################################### # Users Database # ############################################################### # This file can be used if you do not have an LDAP set up. # List of users users: toto: displayname: "Thomas" password: "$argon2id$v=19$m=65536,t=1,p=8$VmFaM3FKckFRZVY5TUJ5eg$81mBJ3QSw8WQM2rm4yNJeS7j2YQMra183gHCxGALOAs" email: mail@ndd.tld groups: [] # - admins # - dev ... toto sera le nom d'utilisateur qui sera utilisé pour l'authentification simple ou double facteur. De préférence choisissez un nom d'utilisateur plus long et complexe. Thomas sera le nom d'affichage. <PASSWORD> sera le mot de passe utilisé pour s'authentifier, mais il ne sera pas lisible en clair, Authelia utilise un algorithme de chiffrement en ce sens. On va utiliser la commande suivante : docker run --rm authelia/authelia:latest authelia hash-password 'MOT_DE_PASSE' Suivant votre modèle de NAS et la complexité de votre mot de passe, cette opération pourrait prendre un certain temps, mais à la fin de quoi vous devriez obtenir un renvoi de la sorte : $argon2id$v=19$m=65536,t=1,p=8$aC8raDhGRWh4eDlmRmp5aw$PsiuwaVbWsXkIThpLLeI3JZdT3NCe3CUeAXORQzsSpg C'est cette ligne qu'il vous faut mettre à la place de <PASSWORD>. Pour l'email, c'est l'adresse qui sera utilisée en cas de demande de renouvellement de mot de passe, etc..., à personnaliser. Pour les groupes, je conseille de ne pas vous en servir dans un premier temps, il vous suffit de modifier ainsi : groups: [] # - admins # - dev NOTE : Le fichier ne donnant pas d'information sensible, et afin de permettre aux différents utilisateurs de modifier éventuellement leur mot de passe, on peut laisser les permissions par défaut (celles de DSM avec les ACL). _______________________ On décommente la section file : authentication_backend: # Disable both the HTML element and the API for reset password functionality disable_reset_password: false [...] refresh_interval: 5m [...] file: path: /config/users_database.yml password: algorithm: argon2id iterations: 1 key_length: 32 salt_length: 16 memory: 1024 parallelism: 8 6-C-3-f. access_control Une des parties les plus importantes, elle concerne les contrôles d'accès et la manière dont Authelia va se comporter en fonction de l'IP d'origine et le domaine demandé lors de la requête. Pour plus d'information, la documentation est consultable à cette adresse. On va se placer dans le cas (pour exemple) où on autorise tous les accès en local et VPN, et on limite ensuite de façon granulaire au gré des sous-domaines : access_control: # Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. # It is the policy applied to any resource if there is no policy to be applied # to the user. default_policy: deny networks: - name: local networks: # LAN network - 192.168.1.0/24 # Docker network - 172.16.0.0/12 - name: openvpn networks: # OpenVPN subnet - 10.0.8.0/24 rules: # Bypass 2FA when connected to VPN on pfSense or being connected to the LAN - domain: - ndd.tld - "*.ndd.tld" policy: bypass networks: - local - openvpn # Open public access - domain: - public.ndd.tld - public2.ndd.tld policy: bypass # Single authentication for applications lacking authentication system - domain: semi-private.ndd.tld policy: one_factor # 2FA for sensitive services - domain: private.ndd.tld policy: two_factor NOTES : Dans la partie networks, on définit des alias pour faciliter la définition des règles et rendre moins fastidieuse leur rédaction. Dans la partie rules, je définis les sites qui auront un accès publique (sans protection supplémentaire que celle dont ils disposent déjà), ceux qui devront faire l'objet d'une simple authentification, et ceux qui doivent être soumis à la 2FA. Si l'accès à un sous-domaine vous est refusé sans raison, c'est qu'aucune des règles définies ne répond à la situation présente, dans ce cas Authelia rejette la demande (par le paramètre default_policy: deny). Vous pouvez temporairement ne pas mettre "*.ndd.tld" dans les domaines by-passés, le temps de mettre en route Authelia. Ou alors faire le test d'authentification depuis une connexion 4G. 6-C-3-g. session session: ## The name of the session cookie. name: authelia_session [...] domain: ndd.tld On pensera à renseigner le domaine racine qu'on souhaite protéger dans la valeur de la clé domain. ATTENTION : Authelia ne peut pas protéger plusieurs domaines racines simultanément. La mise en place de Redis est détaillée dans la partie Fonctionnalités avancées, on va s'en passer pour notre cas d'utilisation et commenter les paramètres qui y ont trait : ## ## Redis Provider ## ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html ## # redis: # host: 127.0.0.1 # port: 6379 ## Use a unix socket instead # host: /var/run/redis/redis.sock ## Username used for redis authentication. This is optional and a new feature in redis 6.0. # username: authelia ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html # password: authelia ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). # database_index: 0 ## The maximum number of concurrent active connections to Redis. # maximum_active_connections: 8 ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. # minimum_idle_connections: 0 6-C-3-h. storage Depuis la version 4.33.0 d'Authelia, il est nécessaire de définir une clé de chiffrement (encryption key) pour éviter les corruptions de base de données. C'est la chaîne de caractères définie dans le fichier encryption créé plus tôt. storage: [...] storage: ## The encryption key that is used to encrypt sensitive information in the database. Must be a string with a minimum ## length of 20. Please see the docs if you configure this with an undesirable key and need to change it. encryption_key: ## ## MySQL / MariaDB (Storage Provider) ## mysql: host: 192.168.1.200 port: 3307 database: authelia username: authelia ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html password: [...] Par défaut, Authelia suggère d'utiliser MySQL, ce que nous allons faire car le paquet MariaDB 10 est disponible dans le centre de paquets. On spécifie l'IP virtuelle du NAS, ainsi que le port de MariaDB (3307 pour MariaDB 10). On se connecte ensuite à phpMyAdmin (paquet) via le menu DSM avec le compte root, et on crée notre utilisateur : On choisit un nom d'utilisateur, on reprend le mot de passe défini dans le fichier mysql créé précédemment et on coche "Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base." On clique sur Exécuter en bas à droite de la page, si l'opération est un succès vous verrez le contenu de la requête affiché en vert dans le haut de la page. Notre base de données est maintenant prête à accueillir les données d'Authelia. 6-C-3-i. notifier notifier: ## You can disable the notifier startup check by setting this to true. disable_startup_check: false [...] smtp: username: mail@ndd.tld ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html password: host: ssl0.ovh.net port: 587 sender: mail@ndd.tld ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost. identifier: localhost ## Subject configuration of the emails sent. {title} is replaced by the text from the notifier. subject: "[Authelia] {title}" ## This address is used during the startup check to verify the email configuration is correct. ## It's not important what it is except if your email server only allows local delivery. startup_check_address: mail@ndd.tld disable_require_tls: false disable_html_emails: false [...] ## Sending an email using a Gmail account is as simple as the next section. ## You need to create an app password by following: https://support.google.com/accounts/answer/185833?hl=en # smtp: # username: myaccount@gmail.com # ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html # password: # sender: myaccount@gmail.com # host: smtp.gmail.com # port: 587 Authelia propose par défaut l'utilisation d'un SMTP externe (type OVH dans l'exemple ci-dessus) ou de passer par un compte Gmail. Dans ce dernier cas, pensez à autoriser les applications moins sécurisées dans les réglages de votre compte Google, sinon l'envoi de mails ne se fera pas. 7. Création et utilisation du code TOTP Le plus dur est fait, il reste maintenant à se logger avec le compte qu'on a créé, on va sur la page https://authelia.ndd.tld (on s'assurera que l'entrée DNS de type A ou CNAME existe déjà, en local ou/et publique) : On entre le nom de l'utilisateur, ici toto, et le mot de passe qu'on lui a attribué. On clique sur Sign In, on arrive sur la page suivante : En cliquant sur Not registered yet?, un email sera envoyé à l'adresse renseignée pour l'utilisateur toto dans le fichier users_database.yml. Dans ce mail, on clique sur l'hyperlien Register, qui nous amène à une page avec un QR-CODE. Si vous possédez déjà une application 2FA, il vous suffit de scanner le code. Sinon vous pouvez suivre les liens pour Play Store et iOS. A titre personnel, j'utilise andOTP sur Fdroid, le store alternatif pour Android. Une fois le code ajouté dans l'application, il suffit de cliquer sur Done et on peut se connecter : Si le code est bon, vous verrez le statut authentifié en vert, et vous serez redirigé vers la page que vous aviez précédemment définie dans default_redirection_url au point 6-C-3-d. Maintenant, vous pouvez accéder à toutes vos applications en choisissant vous-même le curseur de sécurité. 8. Fonctionnalités avancées 8-A. Redis A venir... 8-B. DuoAPI A venir... 9. FAQ Q : J'ai perdu le mot de passe de mon utilisateur, comment retrouver l'accès à mes sous-domaines ? A : A l'écran de login, vous pouvez cliquer sur Reset password?. Q : J'ai perdu mon code accès TOTP, que faire ? A : Une fois loggé, vous pouvez cliquer sur Lost your device?. Vous recevrez alors un mail vous proposant un nouveau QR-CODE. Q : Puis-je désactiver la possibilité pour les utilisateurs de récupérer leur mot de passe ? A : Oui, il faut modifier la valeur de la clé disable_reset_password dans la section authentication_backend à true. Q : J'obtiens une erreur 502 en accédant à mes entrées de proxy inversé, pourquoi ? A : Il y a plusieurs raisons possibles, mais dans le cas présent il se peut que l'interface virtuelle du NAS ait disparu, suite à un arrêt, un redémarrage ou une mise à jour du paquet Docker. Vous avez normalement déjà mis en place un script qui permet de la recréer automatiquement au démarrage du NAS. Mais en cas de perte de l'interface il faudra simplement relancer la tâche manuellement depuis le planificateur de tâches. Màj : 15/01/2022
    1 point
Ce classement est défini par rapport à Bruxelles/GMT+02:00