Restreindre l’accès à 1 site: SSO, filtrage par REFERER, autres ?...

Restreindre l’accès à 1 site: SSO, filtrage par REFERER, autres ?... - Sécurité - Réseaux grand public / SoHo

Marsh Posté le 14-02-2014 à 00:37:15    

Bonjour tout le monde,
 
En qq mots : Je souhaiterais faire en sorte qu’un site ne soit accessible que depuis un lien figurant sur un autre site (sur une page sécurisée), et qu'il ne soit pas visible (ou du moins, qu’il soit difficile à trouver…) par un internaute "lambda". J’aimerais connaître les différentes approches envisageables pour arriver à ce résultat. Je précise que je suis débutant en développement web et PHP.
 
Voici les caractéristiques des 2 sites :
 
a) Le site A est un site institutionnel. Il a été développé en ASP.NET et est hébergé chez un prestataire, sous Windows/IIS. Il s'agit d'un système propriétaire, sur lequel nous n'avons que partiellement la main.
 
b) Le site B (celui que j’ai prévu de créer) est un mini-site consistant en un dictionnaire scientifique spécialisé. Il sera hébergé sur un autre serveur (peut-être en local) et sera associé à un sous-domaine. J'ai déjà pas mal travaillé sur les données, j'ai créé la base MySQL et j'ai fait une première ébauche d'interface de recherche. Le projet me paraît assez facile, à un détail près…
 
Voici le problème :
 
Je pensais pouvoir mettre ce site B en accès libre (ou au pire, mettre en place un système d'inscription et d'authentification distinct de celui du site A) mais mon directeur voit les choses autrement : il souhaite que le site B ne soit accessible qu’aux utilisateurs authentifiés sur le site A (via un lien sur une page sécurisée) et que ces utilisateurs n'aient pas à s'authentifier une 2e fois sur le site B. En même temps, il reconnaît que l'accès au site B n'a pas besoin d'être très sécurisé. En fait, il veut simplement qu'un internaute "lambda" ne puisse pas y accéder facilement (ni évidemment, tomber dessus via Google), mais il ne jugerait pas très grave qu'une minorité de gens arrive à contourner le système.  
 
En résumé : il doit y avoir une porte pour dissuader la "masse" des gens d'entrer, mais si la porte n'est pas fermée à clé, ce n'est pas très grave.
 
Voici mes questions :
 
Compte tenu de ces demandes, j'imagine plusieurs possibilités :
 
a) Mise en place d'un SSO entre les 2 sites : je ne me rends pas compte de la faisabilité et de la complexité de ce genre de développement. Savez-vous ce que ce que ça impliquerait techniquement de mon côté (site B) et éventuellement du côté du prestataire (site A) ?  
 
b) "Camouflage" du site B via diverses techniques : je pense que cela pourrait largement suffire (car on n'a pas besoin d'un niveau de sécurité élevé), mais je ne sais pas dans quelle mesure c’est faisable. Dans la configuration des htaccess, j'ai lu qu'il était possible de mettre en place un filtrage par REFERER, de façon à n'autoriser que les visiteurs en provenance du site A : est-ce une bonne solution ? Je m'interroge aussi sur la possibilité de faire en sorte que le site B soit associé à une URL complexe, difficile à deviner par une personne lambda, mais je ne sais pas si c'est réalisable…  
 
Voilà. Savez-vous si ces solutions sont réalistes, si elles sont faciles à mettre en œuvre, ce qu'elles impliquent comme difficultés, etc. ? Sinon, existe-t-il d'autres solutions ?
 
Un grand merci d'avance à celles et ceux qui pourront m'éclairer !
 
Pascal

Reply

Marsh Posté le 14-02-2014 à 00:37:15   

Reply

Marsh Posté le 14-02-2014 à 00:40:44    

pourquoi pas un lien qui contient un login/mot de passe HTTP tout simplement ?


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

Marsh Posté le 20-02-2014 à 17:13:05    

Misssardonik a écrit :

pourquoi pas un lien qui contient un login/mot de passe HTTP tout simplement ?


 
Merci pour ta réponse (et désolé pour le retard !). Je vais sans doute faire quelque chose dans le genre de ce que tu suggères.


Message édité par pascalpa le 20-02-2014 à 17:13:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed