Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] La gestion des utilisateurs

icon 09/06/2020

English version: [pfSense] Local user management

Dans cet article nous traitons de la gestion des utilisateurs et des droits associés sous pfSense. Cette gestion permet de donner des droits aux utilisateurs pour l'accès à l'interface d'administration du pfSense ou pour l'authentification des utilisateurs sur les connexions VPN.



Gestion des utilisateurs


Il existe deux types d'utilisateurs sous pfSense : les utilisateurs locaux, c'est-à-dire dont l'administration (création, modification, suppression) va être gérée localement sur le pfSense ; et les utilisateurs externes authentifiés par un serveur d'authentification, c'est-à-dire des utilisateurs dont l'administration s'effectue depuis un serveur centralisé de type LDAP ou Radius.

Les utilisateurs peuvent être inclus dans un ou plusieurs groupes. Des droits sont donnés soit à l'utilisateur directement, soit au groupe. Les droits appliqués à un groupe s'appliquent à l'ensemble des utilisateurs membres du groupe.

La gestion des droits permet de définir avec précision les autorisations d'accès à l'interface du pfSense. Pour chaque utilisateur (ou chaque groupe), il est possible de définir jusqu'à quelle page précisément il a accès.
La gestion des utilisateurs permet également l'authentification pour les connexions VPN (OpenVPN ou IPsec) des utilisateurs nomades.

La gestion des droits s'opère depuis le menu System > User Manager :

menu System > User Manager sous pfSense - Provya


C'est depuis ce menu que sont gérés les utilisateurs, les groupes et les serveurs d'authentification.



Gestion des droits


Les droits peuvent être gérés au niveau des utilisateurs ou au niveau des groupes. Que l'on souhaite donner un droit à un utilisateur ou à un groupe, l'ordre des opérations à réaliser sera exactement le même : il faut d'abord créer l'utilisateur ou le groupe, puis modifier cet utilisateur (ou ce groupe) afin de lui attribuer les droits souhaités.

Pour chaque utilisateur, les droits attribués sont listés dans le tableau Effective Privileges. Pour chaque droit existant, il existe un champ description qui permet de facilement comprendre le périmètre associé.

Exemple gestion des droits utilisateur sous pfSense - Provya


Sur la capture d'écran ci-dessus, on peut voir que l'utilisateur dispose du droit "WebCfg - Diagnostics: Halt system" qui se lit : accès à l'interface web (WebCfg), menu Diagnostics, page Halt System. Le champ description nous précise que ce droit "permet d'accéder à la page 'Diagnostics: Halt system'.".

Il est possible d'ajouter de nouveaux droits en cliquant sur le bouton "+ Add" se trouvant sous le tableau des droits déjà attribués.

Les droits disponibles sont affichés sous la forme d'une liste. Il est possible de sélectionner plusieurs éléments dans la liste en maintenant la touche "Ctrl" enfoncée.

Le champ Filter permet de filtrer sur un terme précis (il faudra cliquer sur le bouton "Filter" en bas de page pour activer le filtre).

Enfin, le champ sur fond bleu en bas de la page présente la description liée au droit sélectionné.

Exemple de recherche sur la gestion des droits utilisateur sous pfSense - Provya


Sur la capture d'écran ci-dessus, une recherche sur le terme "openvpn" a été faite (1). La ligne "WebCfg - Status: OpenVPN" a été sélectionnée (2) et le champ description sur fond bleu en bas de page nous précise que ce droit permet l'accès à la page 'Status: OpenVPN' (3).

Les principaux droits couramment utilisés sont les suivants :

  • WebCfg - All Pages : donne l'accès à toutes les pages de l'interface web de pfSense.
  • WebCfg - Dashboard (all) : donne l'accès uniquement au tableau de bord et à toutes ses fonctions associées (widgets, graphs, etc.).
  • WebCfg - System: User Password Manager : donne accès uniquement à la page de modification de son mot de passe et à rien d'autre.
  • User - System: Shell account access : donne le droit de se connecter en SSH au pfSense. Cependant, si l'utilisateur ne dispose pas d'un compte root, les fonctionnalités offertes seront limitées...



Ajout / Modification d'un utilisateur


L'ajout d'un utilisateur se fait en cliquant sur le bouton "+ Add" en bas à droite de la page "Users" (page par défaut du menu System > User Manager). Les champs configurables sont les suivants :

  • Disabled : cocher cette case pour désactiver l'utilisateur sans pour autant le supprimer ;
  • Username : le login de l'utilisateur. Le nom d'utilisateur peut faire jusqu'à 16 caractères au maximum et ne doit contenir que des lettres, chiffres, points, tirets ou underscores ;
  • Password : le mot de passe et sa confirmation ;
  • Full name : le nom complet de l'utilisateur ;
  • Expiration date : il est possible de définir une date d'expiration au compte utilisateur. Si ce champ est laissé vide, le compte n'expirera jamais. Si l'on souhaite renseigner une date il faut faire attention au format qui est le format américain (MM/JJ/AAAA - Mois/Jour/Année) ;
  • Custom Settings : permet de modifier les paramètres d'affichage pour l'utilisateur comme le thème de l'interface web, le comportement du menu, l'ordre d'affichage des interfaces réseaux, etc. ;
  • Group membership : les groupes d'appartenance de l'utilisateur. Un utilisateur peut faire partie de plusieurs groupes. Les droits de chaque groupe s'applique alors à l'utilisateur ;
  • Effective Privileges : ce tableau permet d'attribuer des droits directement à l'utilisateur. Il est à noter que ce tableau n'apparaît qu'à la modification d'un utilisateur, il n'est pas proposé lors de la création ;
  • Certificate : permet la création d'un certificat utilisateur. Il est à noter que cette section n'a pas exactement le même affichage suivant si l'on crée ou si l'on modifie l'utilisateur. Lors de la modification d'un utilisateur, il sera possible de lui associer un certificat existant. Pour davantage d'informations sur la création d'un certificat, voir notre article [pfSense] La gestion des certificats pour les connexions OpenVPN ;
  • Authorized keys : une clé publique pour l'authentification SSH peut être saisie ici. Ainsi, l'utilisateur pourra s'authentifier avec sa clé privée plutôt qu'avec un son mot de passe ;
  • IPsec Pre-Shared Key : utilisé uniquement si l'on utilise un VPN IPsec mobile avec une clé pré-partagée pour une authentification non-XAuth (Extended Authentication). Dans le cas contraire, ce champ doit être laissé vide.

Si certaines options ne sont pas accessibles lors de la création de l'utilisateur, il faut sauvegarder, puis modifier l'utilisateur pour y avoir accès.



Ajout / Modification d'un groupe


Les groupes sont le moyen le plus pratique pour gérer les droits affectés aux utilisateurs sans avoir besoin de les gérer individuellement utilisateur par utilisateur.
Un utilisateur bénéficiera des droits cumulés de chaque groupe dont il fait partie.

Comme pour les utilisateurs, il faut d'abord créer un groupe avant de pouvoir lui attribuer des droits. Il faut donc créer un groupe, puis le modifier pour lui ajouter des droits.

L'ajout d'un groupe se fait en cliquant sur le bouton "+ Add" en bas à droite de la page "Groups" (accessible depuis le menu System > User Manager). Les champs configurables sont les suivants :

  • Group name : le nom du groupe. Le nom du groupe peut faire jusqu'à 16 caractères au maximum et ne doit contenir que des lettres, chiffres, points, tirets ou underscores ;
  • Scope : la portée du groupe. Deux valeurs sont possibles : local - crée le groupe localement pour des utilisateurs locaux ; remote utilisé pour l'authentification via un serveur externe ;
  • Description : champ optionnel purement informatif ;
  • Group Membership : la liste des utilisateurs membres du groupe ;
  • Assigned Privileges : Ce tableau permet d'attribuer des droits aux membres du groupe. Il est à noter que ce tableau n'apparaît qu'à la modification d'un groupe, il n'est pas proposé lors de la création.



Quelques options avancées


L'onglet Settings permet de configurer deux éléments : la durée de validité d'une session et comment les utilisateurs sont authentifiés.

Durée de validité de la session (Session timeout)


La durée de validité d'une session est, par défaut, de quatre heures (240 minutes). Il est possible de réduire ou d'augmenter la durée de validité de la session. La durée de session est exprimée en minutes.
Il est également possible de faire en sorte que les sessions n'expirent jamais ; il faut pour cela passer la valeur à 0.

Notre recommandation est d'avoir une validité de session d'une durée d'une heure au maximum.


Serveur d'authentification (Authentication Server)



Cette option permet de choisir le serveur primaire d'authentification. Ce peut être un serveur distant Radius ou LDAP, ou la base de données locale de pfSense.
Dans le cas, où une authentification via un serveur distant est configurée et que celui-ci n'est pas accessible, l'authentification se fera via la base de donnée locales en secours.

Lorsque l'on souhaite utiliser l'authentification via un serveur Radius ou LDAP, les utilisateurs et/ou les groupes doivent également être définis côté firewall afin que les droits soient correctement alloués. Il n'y a pas vraiment de solution pour obtenir dynamiquement les autorisations à partir d'un serveur d'authentification.

Ainsi, pour que les droits attribués à un groupe fonctionnent, il faut :

  1. Que le groupe existe sur le serveur d'authentification distant.
  2. Que le même groupe (avec le même nom) existe en local sur le firewall.
  3. Que le pfSense puisse joindre le serveur d'authentification et récupérer la liste des groupes.

Nous avons fait le tour des éléments à connaître pour la gestion des utilisateurs sous pfSense.
L'authentification via un serveur externe fera l'objet d'un autre article détaillé.



Pour aller plus loin


Best practices / Recommandations pour la configuration de votre firewall
[pfSense] La gestion des certificats pour les connexions OpenVPN
[pfSense] Sécurisez l'accès distant de vos collaborateurs nomades avec OpenVPN
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.


Retrouvez nos services et firewall pour pfSense & OPNsense



Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Soho pour pfSense et OPNsense         Firewall pro-Maxi pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

2 commentaires

S4nji - 01/06/2023 à 09:56:33

Bonjour, étant je pense dans la bonne section, j'aimerai savoir si cela est-il possible dans la gestion des utilisateurs (ou client) d'avoir accès à leur navigation sur une période spécifique ? (du flicage si vous voulez).

Je me suis un peu penché sur darkstat et d'autres plugins dans le même genre, mais rien de réellement concret ou pratique d'utilisation.

En avez-vous une idée?

merci d'avance !

@répondre #lien

Guillaume - 19/06/2023 à 09:59:25

@S4nji :

Bonjour,

Il existe plusieurs manières de faire. Vous pouvez, par exemple, soit passer par un proxy (plugins squid, squidGuard et LightSquid), soit journaliser les requêtes DNS et les règles de filtrage du firewall.

Cordialement,

Guillaume
--
Provya

@répondre #lien

icon Flux RSS des commentaires de cet article