Plage horaire en fonction de l'utilisateur



  • Bonjour à la communauté pfsense

    Contexte :
    Je souhaite mettre en place des règles d'accès dans une école/internat

    Besoin :
    deux types de personnes sont présents. Des lycéens et des étudiants. Chaque élève vient en cours avec son propre PC portable. Je souhaite pouvoir définir des plages horaires en fonction de l'utilisateur

    Schéma :
    BOX ORANGE –-------> PFSENSE ---------> SWITCH ----------->BORNE WIFI ---------> PCs PORTABLEs

    J'ai installer un serveur Pfsense avec un portail captif et un proxy (je sais c'est pas bien d'avoir les deux sur une même machine mais l'école n'a pas de sous)
    Comme les PC ne nous appartiennent j'ai activer le proxy (Squid + squidguard) en mode transparent car je ne peux pas paramétrer le proxy sur leur poste.
    Tous les PC sont connecté sur le même réseau WIFI (impossible d'avoir des câbles) donc pas de possibilité de filtrer par adresses IP
    Dans PFsense j'ai créé dans le menu System > User Manager un compte pour chacun des utilisateurs que j'ai associé à un groupe (Etudiant ou Lycéen)
    Suite à la lecture de plusieurs post je comprend que le portail captif utilise ces comptes pour laisser passé Internet mais que Squid ne récupère pas ces identifiants pour pouvoir faire des filtres ?
    J'ai réussi a tout paramétré (proxy, internet, interface, blacklist, log...)

    Question :
    Comment puis-je faire pour définir des plages horaires d'utilisation d'internet pour ces deux groupes ou au pire par utilisateur ?

    Pistes imaginées :
    J'ai essayé de mettre l'authentification de squid avec la méthode Captive Portal ou Local mais cela demande de ne pas avoir un proxy en transparent…
    Je me dit qu'il faudrait sinon qu'une fois identifié avec le portail captif il faudrait que je récupère son adresse ip créer une règle mais le DHCP fait que son ip va bouger...

    Avez-vous une idée pour réaliser ce projet?

    Merci

    Logs et tests : complément de "Recherches" : quels sont les résultats des tests effectués (section qui ne peut être vide !)



  • La réponse est extrêmement simple: proxy transparent = accès anonyme, et donc il est impossible de mettre en place un service "par utilisateur" au travers du proxy HTTP.

    D'un autre coté, le fait de ne pas vouloir configurer le proxy sur chaque PC (que tu ne gères pas) ne signifie pas que ce proxy ne peut pas ^tre, la plupart du temps, configuré de manière automatique.
    WPAD est une des solutions  ;)



  • Bonjour,

    Merci pour votre réponse je m'en doutais mais je ne voulais pas y croire

    Par contre pour WPAD je suis en train de le configurer mais il faut absolument avoir un domaine.

    Je suppose qu'il utilise le domaine pour identifier l'utilisateur avec ses données de connexion  ?

    Le soucis c'est que mes utilisateurs on leur propre PC perso sans Windows Pro et donc je n'ai pas la possibilité de le mettre sur un domaine.

    Est ce possible sans domaine ?

    Cordialement



  • @carbone:

    Est ce possible sans domaine ?

    WPAD ne signifie absolument pas qu'il faut un domaine.
    WPAD, c'est, en claire, la méthode pour pousser l'adresse du proxy.pac aux browser ainsi que le décrit assez bien la RFC 3040.
    Il y a différentes manière de le faire, l'approche GPO (et donc domaine) n'étant qu'une manière un peu particulière et limitée de le faire, en dehors du WPAD initial.

    Extrait de la RFC 3040:

    The resource discovery mechanisms utilized by WPAD are as follows:
          *  Dynamic Host Configuration Protocol DHCP
          *  Service Location Protocol SLP
          *  "Well Known Aliases" using DNS A records
          *  DNS SRV records
          *  "service: URLs" in DNS TXT records

    Il est parfois nécessaire de déployer plusieurs méthodes en parallèle et également de garder à l'esprit qu'il y a quelques devices qui ne vont pas fonctionner en WPAD.

    Mais pour ces quelques exceptions, en dehors de la configuration manuelle du proxy,  il est toujours possible de mettre une page statique d’explication au niveau d'un portail captif.

    De toute manière, au delà de ces aspects techniques, si tu veux faire des règles "par utilisateur", il faut identifier celui-ci, ce qui passe le plus souvent par de l'authentification, donc de la gestion des comptes. Pas nécessairement dans AD d'ailleurs, mais gestion des comptes quand même.



  • Merci,

    J'ai configurer WPAD et cela fonctionne. Dommage que l'option ne soit pas cochée par défaut dans les navigateurs (Je suppose pour des raisons de sécurité si on se connecte sur un réseaux qu'on ne maitrise pas…).

    Du coup j'ai activé le portail captif et j'ai fait une page HTML pour expliquer aux personnes comment paramétrer leurs comptes. Faute de mieux...

    J'ai activer squid en mode explicite avec les utilisateurs en local que je vais rentrer dans pfsense.

    Enfin j'ai vu qu'on pouvait faire des règles avec des périodes horaire par utilisateur qui devrait solutionner mon problème.

    Merci à vous.

    En parcourant le forum j'ai découvert pas mal d'infos mais je dois dire que je me pose quelques questions :

    Sur des posts il est dit que pour des raisons de sécurité le proxy doit être sur une autre machine. Pourquoi cela est-il plus sécurisé si on change de machine. Si la faille est la même cela engendre le même problème ?

    Dans ce cas est ce que je peux utiliser ma box orange pour faire firewall et recycler ma machine pfsense que je formatte et je met debian + squid ? Est ce qu'il y a une différence de sécurité entre un firewall d'une box et un firewall pfsense si on met les mêmes règles ?

    Merci



  • Ce n'est pas, de mon point de vue du moins, une question de sécurité, ou en tous cas pas au sens ou tu l'entends peut-être.

    L'idée est de spécialiser chaque composant et de bien séparer les fonctions, de dire que le firewall ne doit faire que firewall etc… ce qui n'est pas faux mais il faut mettre ça dans son contexte.

    Certains des partisans de ce design "idéal"  ne sont cependant pas gênés d'avoir sur le firewall un serveur VPN ou un portail captif...
    Bref, en terme de sécurité pour une TPE/PME qui va plutôt viser une solution UTM, c'est à mon avis justifiable d'avoir un proxy et un FW sur la même machine. Dans tous les cas beaucoup mieux que de ne pas avoir de proxy du tout.

    Il y a ensuite un aspect lié au fait que le proxy HTTP, dans la solution pfSense, ne fait pas partie du développement de base. C'est un package additionnel, avec tout ce que cela comporte de risque. Ce n'est pas faux non plus. D'ailleurs, je suppose que ceux qui s'opposent à ce design ne déploient jamais aucun package à cause de ce risque. Mon comment aire est le même que pour la sécurité. Dans une TPE/PME... n'est-ce pas acceptable ?

    Reste ensuite la problématique de la performance de la machine: bien évidement, si tu as dimensionné ton FW pour servir uniquement de FW, il ne va probablement pas tenir la charge imposée par le proxy. Si d'un autre coté tu as une idée des services que tu vas héberger, il faut choisir ton hardware en conséquence.
    Le point le plus délicat, c'est la gestion des logs qu'il faut conserver assez longtemps donc très probablement externaliser. Le problème existe quelque soit la machine mais c'est une peu plus délicat sur ta machine unique.

    Donc au final, techniquement, c'est faisable sur une machine unique, un peu plus compliqué cependant sur les aspects "opération" et "exploitation".
    Normalement, pour que WPAD fonctionne, tu as un serveur qui expose l'URL. Cette machine ne peut pas te servir de proxy ?

    Utiliser ta box comme FW ?  non définitivement non !



  • Ok c'est compris.

    Dernière question : Comme il faut avoir plusieurs serveurs si l'infrastructure commencent à être importante peut-on tout mettre sur un hyperviseur (genre hyperV ou proxmox) et faire une VM pour pfsense une VM pour le proxy une VM pour le deuxième pfsense pour cloisonner la DMZ et une VM par serveur applicatif ?

    Est ce daugeureux d'avoir les pfsense sur la même machine physique ?

    En terme de budget de place je préférerais tout avoir dans un seul serveur…

    Merci