Fonctionnement d'EvoAuth
------------------------
1 - Partie WEB et utilisateur
-----------------------------
Voici le déroulement d'une connexion authentifiée sur le logiciel
Evoauth.
L'utilisateur saisit ses identifiants (login et mot de passe) et
parvient à une page sur laquelle il est authentifié. Il peut :
- activer son accÚs : son adresse ip est récupérée et indexée dans
un fichier historique. une rÚgle d'autorisation est chargée dans
le firewall et l'utilisateur reste connecté jusqu'à ce que la
pop-up soit fermée ou que sa connexion se termine (un script
annexe supprimera des connexions actives). L'utilisateur peut
consulter son crédit restant, celui-ci est mis à jour chaque
minute.
- changer son mot de passe : l'utilisateur est invité à saisir
à deux reprises son nouveau mot de passe, sur une page dédiée.
- se déconnecter, lorsque l'utilisation d'Evoauth est terminée.
2 - Partie WEB et administrateur
--------------------------------
Celui-ci possÚde toutes les possibilités précédemment évoquées. Les
identifiants sont :
login : admin
pass : ...
Voici les fonctionnalités proposées :
- ajout d'un nouvel utilisateur
- suppression d'un ou plusieurs utilisateur(s)
- désactivation d'utilisateurs
- expulsion d'un utilisateur (provisoirement)
- changement du texte de bienvenue des utilisateurs
3 - Suivis de l'activité
------------------------
Lorsqu'une personne se connecte, se déconnecte ou est automatiquement
supprimée, un email est envoyé à l'administrateur evoauth (email
précisée dans le fichier de configuration evoauth.conf).
Un journal de l'activité (connexions, déconnexions, suppressions d'ip)
est Ă©galement disponible dans /var/log/evoauth.log.
La nomenclature utilisée est la suivante :
- [E] : EvĂšnement (exemple : connexion d'un utilisateur)
- [W] : Warning (exemple : échec de connexion à la base de données)
- [A] : Action (exemple : suppression d'une ip)
- [C] : Controle (exemple : dĂ©marrage d'Evoauth, arrĂȘt..)
4 - Maintenance
---------------
Le script perl "evoauth" doit ĂȘtre ajoutĂ© Ă la crontab (vous pouvez pour
celĂ vous inspirer du fichier install/crontab.sample) et permet de
supprimer du fichier de status les adresses ip des utilisateurs qui ne
sont plus connectés.
La suppression est par défaut effectuée sur une durée de 70 secondes
(variable 'timetodel' dans evoauth.conf'). Vous accédez aux fonctions
principales suivantes grĂące au script /usr/local/bin/evoauth :
- le démarrage (initialisation) d'Evoauth, via l'option '-i'
- l'arrĂȘt d'Evoauth, via l'option '-s'
- le redémarrage d'Evoauth, via l'option '-r'
D'autres options non détaillées ici permettent d'influer directement sur
le comportement d'Evoauth.
Lors d'un changement de configuration (evoauth.conf) ou des rĂšgles
(evoauth.rules), veillez à redémarrer Evoauth via l'option '-r' afin que
les changements deviennent effectifs.
Arborescence par defaut
-----------------------
/usr/local/bin/evoauth : script d'administration
/etc/evoauth/evoauth.conf : fichier de configuration
/etc/evoauth/evoauth.rules : fichier de rĂšgles firewall
/var/www/evoauth/{,images,includes} : interface web
/var/www/evoauth/accueil.txt : texte d'accueil
/usr/local/share/doc/evoauth : documentation, licence
/var/log/evoauth.log : journal d'utilisation
FAQ
---
1 - Q : J'obtiens une erreur de type :
iptables: Bad rule (does a matching rule exist in that chain?)
R : Vous avez probablement oublié d'initialiser Evoauth, ceci peut
ĂȘtre fait par la commande 'evoauth -i'
2 - Q : J'ai modifiĂ© les rĂšgles de firewall, arrĂȘtĂ© et relancĂ© Evoauth,
et certaines rÚgles ont été conservées bien qu'obsolÚtes.
R : Il faut procĂ©der Ă l'arrĂȘt d'Evoauth avant de modifier les
rĂšgles du fichier evoauth.rules. Une fois ceci fait, vous pouvez
relancer Evoauth en tout sérénité.
3 - Q : Une personne de ce bureau s'est déconnectée, et mon accÚs à été
coupé.
R : Ce mécanisme est basé sur le firewall Iptables, et fonctionne,
mĂȘme si les adresses MAC seront Ă terme gĂ©rĂ©es, avec des adresses
IP. A cause du mécanisne de NAT, toutes les personnes connectées
via une mĂȘme IP seront affectĂ©es par une dĂ©cision.