Restreindre l'accès à des répertoires Apache
Résolu/Ferméyg_be Messages postés 23350 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 - 25 oct. 2022 à 11:56
- L'accès à live studio sera bientôt disponible. reste à l'écoute pour de nouvelles mises à jour.
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mettre à jour ses pilotes - Guide
- Mise a jour kindle - Guide
2 réponses
2 sept. 2022 à 12:01
bonjour,
peut-être en envoyant un lien spécifique à chaque organisation, genre
infos.abc.fr/bienvenue?ks=ef4ez54fe4gf4ese6g4f
2 sept. 2022 à 12:47
Bonjour,
Le filtrage par IP peut servir à limiter le trafic indésirable mais ne doit certainement pas être un substitutif à une authentification au niveau de l'application. Par exemple, avec ton modèle actuel, n'importe qui connecté au réseau de l'organisation (même un guest) pourrait accéder à la ressource que tu fournis, ce qui impliquerait que l'organisation doit aussi mettre en place un filtrage de son côté basé sur les IP.
Il vaut mieux mettre en place une authentification :
- Avec nom d'utilisateur / mot de passe ; implémenté au niveau de ton application Web
- Avec nom d'utilisateur / mot de passe ; implémenté au niveau du serveur HTTP
- Avec un jeton (méthode proposée par yg_be) qui est finalement une chaine aussi compliquée à deviner qu'un couple utilisateur + mot de passe.
- SSO (SAML / OIDC)
Et une fois l'utilisateur authentifié, il faut gérer la partie "autorisation" pour déterminer à quelles ressources il a accès. https://www.onelogin.com/learn/authentication-vs-authorization
Bonjour et merci pour ta réponse. Je comprends l'idée globalement, par contre je n'arrive pas à comprendre comment peut-on ajouter à la fois une authentification sur le serveur http et sur l'application web.
Pour moi, avec Apache, il est facile de configurer une authentification avec utilisateur et mot de passe avec mod_auth_form il me semble, dans :
/etc/apahce2/sites-availables/site.conf
qui est dans ce cas, l'authentification pour le serveur http, mais pour l'application web je ne vois pas :/
2 sept. 2022 à 14:43
Bonjour,
Je pensais plutôt à une authentification HTTP avec htaccess/htpasswd :
https://httpd.apache.org/docs/2.4/howto/auth.html
Cette solution convient si le contenu que tu publies n'est rien de plus que des fichiers statiques et qu'il n'y a pas d'application derrière.
Si en revanche ton contenu est publié par le biais d'une application côté serveur (PHP, NodeJS, Python, ...), le mieux est de gérer l'authentification au niveau de l'application, afin de ne pas créer une dépendance par rapport au type de serveur qui déploie l'application. Imaginons que tu mettes en place une authentification avec Apache, il faudra tout recréer si plus tard tu passes sur Nginx. Si tu intègres l'authentification au niveau du code qui constitue ton application Web, le changement de serveur sera transparent.
2 sept. 2022 à 16:16
Si tu n'as pas d'application, tu peux utiliser le token comme nom de page, ou nom de dossier.
2 sept. 2022 à 17:02
Super, je vais réfléchir à tout ceci, merci à vous deux !!
Bonjour :)
Je reviens vers vous, je ne sais pas si je fais bien de répondre à ce sujet 1 mois et demi après ?
Bon, quoi qu'il en soit, j'étais occupée par autre chose puis je suis revenue sur ma recherche en étudiant vos réponses.
J'ai testé l'authentification, avec gestion de mot de passe sur base de donnée, c'est plutôt pas mal.
Cependant, j'ai peut-être trouvé une autre solution, avec les certificats. En effet, j'ai vu qu'avec la directive Apache :
SSLVerifyClient
on pouvait vérifier que le client qui se connecte à un certificat SSL valide. Ce serait donc un certificat que j'aurais signé moi-même, avec ma propre autorité de certification, puis envoyé au client.
Cependant, je souhaite payer un certificat SSL chez Globalsign (car je n'ai qu'une IP et Globalsign permet de le faire sans nom de domaine).
Ma question est donc que pour l'authentification par certificat sur Apache, il faut obligatoirement avoir notre propre autorité de certification ?
2 sept. 2022 à 12:18
Je n'y avais pas pensé. Mais cela n'est pas "hyper" sécure, non ?
Bien qu'il est toujours compliqué de trouver une solution très sécurisée..
2 sept. 2022 à 13:35
Ton projet ne me semble pas "hyper" pro, si?
Tu pourrais demander à chaque utilisateur de s'enregistrer, vérifier qu'ils ont une adresse email de l'organisation cliente, et ensuite s'authentifier par mot de passe.
Tu peux ensuite vérifier régulièrement si ils ont toujours accès à cette adresse email.
Si cela n'est pas assez sécurisé, tu peux y ajouter une authentification à deux facteurs.