Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Besoin aide pour Script pour ajouter des utilisateur dans pfsense

    Scheduled Pinned Locked Moved Français
    15 Posts 6 Posters 2.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wariyah
      last edited by

      bonjour bonjour  j ' ai besoin de vos lumière pour mon problème car je m' en sort plus au niveau du code du script a force d' avoir le nez dedans je sais ou est l erreur car meme pfsense ne me dit rien

      Contexte : milieu pro

      Besoin : script pour ajouter des utilisateur via un fichier csv  car je doit ajouter 700 utilisateur

      Schéma : inutilité pour mon probleme poser mais en gros j ai une enorme struture a geree de type (restaurant+hotel+lycee)
      donc 2pfsense
      1 avec squid pour juste bloque facebook pendant les heure de cours  test en interne ok  je ne garde aucun log pour ne pas avoir de probleme de place
      1 pour l hotel et restaurant  qui au totalement acces sans contrainte

      Question : est ce que mon programme est bon ?
      Car quand je l implemente dans le fichier system_usermanager.php il ne se passe rien pas erreur le pfsense boot correctement
      est ce le bon fichier que j' implemente ?

      Voila le programme : encore desole car je ne sais pas comment le mettre bien en page

      $row=1;
      if (($handle=fopen(" /tmp/fichiercsv.csv.",'r+'))!==FALSE) // ouvre le fichier csv fichier test
      {
      while(($data=fgetcsv($handle,0,","))!== FALSE) // recuperation des données du fichier csv
      {
      $compteur=count($data);
      for($i=0; $i < $compteur; $i++)
      {

      $usernamefld=$data[$i].".".$data[$i+1]; // (pas sur ) prend la valeur prenom.nom

      $passwordfld1="1234";
      echo $usernamefld;
      echo $passwordfld1;// prend la valeur mdp
      $passwordfld2="1234"; // prend la valeur mdp
      $sysgroups[]=ETUDIANT; // selectionne le groupe ETUDIANT
      $save=true; // click sur bouton save
      header("https://10.168.3.50/system_usermanager.php?act=new"); // redige sur la page de saisie

      }
      }
      fclose($handle); // ferme le fichier

      }
      ?>

      merci d' avance pour votre aide
      en esperant avoir suivi la procedure de demande

      1 Reply Last reply Reply Quote 0
      • B
        baalserv
        last edited by

        Bonsoir,

        @Wariyah:

        Besoin : script pour ajouter des utilisateur via un fichier csv  car je doit ajouter 700 utilisateur

        pF n'est pas fait pour gérer une base locale d'utilisateurs d'un tel volume (c'est un firewall, pas un couteau Suisse) ; dans un tel contexte on doit s'appuyer sur un annuaire externe (Ldap, AD avec ou sans Radius) !!

        P.S : Il n'est jamais judicieux d'utiliser un outil d'une façon inapropriée (ex: enfoncer un clou avec un tournevis) car même si l'on y arrive, le résultat n'est que très exeptionellement au rendez-vous ; démarrez votre projet avec une architechture saine vous évitera de futur déboires voir gros problèmes !

        Si la connerie humaine fournissait de l'énergie, la Terre serait sauvée …

        1 Reply Last reply Reply Quote 0
        • C
          ccnet
          last edited by

          je ne garde aucun log pour ne pas avoir de probleme de place

          Il se peut qu'un jour vous ayez des problèmes bien plus grave que des problèmes de place … Je vous conseille de mettre à jour les informations dont vous disposez sur les conséquences juridiques de la mise à disposition d'un accès à internet.

          700 entrées dans le User Manager de Pfsense ? vous allez au devant de grosses déconvenues.

          1 Reply Last reply Reply Quote 0
          • TataveT
            Tatave
            last edited by

            salut salut

            lycée = école = juridique = log
            lycée = aussi annuaire éleves / enseignants / encadrant ==> ldap +radius + kerberos + proxy

            donc attention danger et retour de flamme.

            ++

            aider, bien sûre que oui
            assister, évidement non !!!

            donner à manger à un homme, ne lui permettra que de survivre qu'un temps.
            apprendre à un homme comment cuisiner, il sera vivre.

            1 Reply Last reply Reply Quote 0
            • W
              Wariyah
              last edited by

              Bon je prend bien en compte vos remarque  donc je vais essaye  explique ma struture mise en place et sur laquelle nous voulons evolué
              struture en place
              pfsense avec portail captif et ntopng
              au niveaux compte on a  autant de compte qu on a de bornes wifi dans le lycee  il se connecte au portail  avec le meme login et mot de passe que pour la borne auquel il sont connecte donc solution sans proxy qui embete l ecole pour la bonne passante car trop utilisation de facebook en heure de cours et fait ramer tout la struture compte minumun 2 connection par eleve (telephone + pc ) donc on a un reseaux en  /22 car 300 etudiant maximmun dans la journee contraite de l ecole avec session durent 24h car pour les prof quand il sont en cours et pour les client  hotel restaurant wireless open ) 
              struture prévue
              2 pfsense un avec proxy squid + portail captif pour les eleve avec 3 carte reseaux une patte vlan administration ,une patte dans la dmz , et une pour le vlan etudiant donc les bornes wifi du lycee serait pour le vlan etudiant
              le 2eme pfsense lui  pour les client de l hotel et restaurant qui n ' aucune contraite particulier un compte pour les client qu il puisse se connecte et faire leur activite sans contrainte  et donc les bornes wifi qui seront pour les borne de l hotel et restaurant

              au niveaux hadware j ai enorme de marge 2 HD a 900 Go

              l administration a deja  un  LDAP

              je suis encore desole pour les faute et j espere que vous avoir ete plus claire

              encore ùerci pour vos reponse :p

              1 Reply Last reply Reply Quote 0
              • TataveT
                Tatave
                last edited by

                salut salut

                il y a beaucoup de choses qui me chiffonnent :

                • la géolocalisation en terme de pays ou vous vous situez => cela implique si vous être en France de vous conformer aux réglementations et législation du pays qui pour la France est relativement plus que bien encadré surtout pour les établissement scolaire et ou d’enseignement professionnel comme je pense que cela doit être votre cas (école+hotel+restauration).

                • le faites que vous n'ayez pas ou très peu de notion réseau et les impératif légaux de la structure, vous me paressez avoir reçu le dossier sur les genoux par une direction et ou un responsable irresponsable pour ce décharger du problème. J'en suis consterné pour vous, car en cas de vrai problème c'est sur vous que cela retomber.

                • que votre proxy filtre y ou x site c'est sa fonction première mais aussi de loguer des informations datation/qui/ quoi/quand/où couplez cela avec un annuaire nominatif pour vos élèves (1 compte par éleves) est une base incontournable, un radius+kerberos pour l'authenfication, avec un rooming sur vos bornes wifi comme cela vous user pourront de déplacer dans les zones wifi sans avoir à se reloguer mais au niveau du proxy il y aura un log qui dira qu'il est passé de la borne 1 a 3 entre temps.

                • et surtout pour ce type de fonctionnement ne mettez pas cela sur le ou les pf seuls, au pire un seul pf avec autant de vlan que de segments mais aussi une machine dédié aux services (proxy, ldap, radius, kerberos, log) comme cela devrait etre fait dans une bonne structure d'entreprise ou établissement scolaire. cela vous évitera beaucoup de tracasseries dans le futur.

                Cela est certes un changement de structure mais au final un changement nécessaire et je pense obligatoire pour que cela ne vous retombe pas sur le nez.

                ha oui pensez au sauvegarde des log pour la justice quand elle les exigera.
                ++

                aider, bien sûre que oui
                assister, évidement non !!!

                donner à manger à un homme, ne lui permettra que de survivre qu'un temps.
                apprendre à un homme comment cuisiner, il sera vivre.

                1 Reply Last reply Reply Quote 0
                • C
                  chris4916
                  last edited by

                  …
                  l administration a deja  un  LDAP ...

                  Si il y a déjà un serveur LDAP et que celui contient ou peut contenir les comptes visés, c'est très certainement la bonne solution technique  ;)

                  Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                  1 Reply Last reply Reply Quote 0
                  • W
                    Wariyah
                    last edited by

                    Donc du coup pour pas j arrive demain au bureaux en mode deppression et dire que qu on a propose ne fonctionne pas ou a tres peu de chance de fonctionne
                    rappel du contexte en gros
                    struture hotel restaurant lycee
                    lyceen ne doivent pas avoir acces durant leurs cour a facebook
                    mais les client doivent pouvoir y acceder
                    il faudrait du coup
                    1pfsense global avec tout mes vlan
                    un serveur radius pour faire la gestion des compte des utilisateurs le LDAP pour du coup recupere la base de donnes compte pour pouvoir a ne pas rentre chaque compte sur le serveur radius (etudiant / client / enseignant )
                    un proxy. Question est t il possible active le proxy pour un compte donne ou groupe de compte donnée ? car dans ma solution precedente ce n etais pas le cas
                    kerberos alors la c est vraiment un tres gros point interrogation je vais aller me renseigne dessus

                    encore desole  pour les faute merci encore pour vos reponse 
                    si qqn peut me valider ma proposition serait cool :p

                    1 Reply Last reply Reply Quote 0
                    • C
                      chris4916
                      last edited by

                      @Wariyah:

                      rappel du contexte en gros
                      struture hotel restaurant lycee
                      lyceen ne doivent pas avoir acces durant leurs cour a facebook
                      mais les client doivent pouvoir y acceder

                      Si ton besoin est vraiment celui-là, alors c'est beacoup plus simple que ce que tu décris:

                      • tu installes Squid + Squidguard en mode explicite (c'est à dire pas en mode transparent) et tu active l’authentification LDAP.
                        Tu définis, si ce n'est pas déjà fait, un groupe par catégorie d'utilisateur (par exemple, lycée, hotel, etc… et tu mets en place une règle dans Squidguard qui dit que le groupe lycée n'a pas accès à FaceBook pendant les heures de cours.

                      Ce qui peut se compliquer un peu, c'est que tu n'as pas forcément un compte pour tous les utilisateurs de ton infra. Mais comme tu as des VLAN différents, si je comprends bien, alors tu peux assez facilement faire des règles qui autorisent l'accès internet sans restriction pour, par exemple, le VLAN hôtel et qui appliquent la règle ci-dessus pour le VLAN lycée uniquement

                      Pas besoin de Radius

                      Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                      1 Reply Last reply Reply Quote 0
                      • W
                        Wariyah
                        last edited by

                        Mais du coup est ce que je dois faire un serveur Squid appart ou je peut utilise le package de pfsense ?
                        merci pour la reponse chris tu m enleve une épine du pied

                        1 Reply Last reply Reply Quote 0
                        • C
                          chris4916
                          last edited by

                          @Wariyah:

                          Mais du coup est ce que je dois faire un serveur Squid appart ou je peut utilise le package de pfsense ?

                          Squid sur pfSense, pour 700 utilisateurs potentiels (combien en simultané ?) ça nécessite une machine assez grosse plus une gestion des logs un peu compliquée. C'est probablement plus facile à gérer en dehors de pfSense.

                          Avec ce nombre d'utilisateurs, comme on est en mode "proxy explicite" pour que au moins certains des utilisateurs s'authentifient (mais est-ce vraiment nécessaire ?), il faut également penser à mettre en œuvre WPAD sans quoi il faudra configurer tous les postes.

                          Si ton réseau est organisé par VLAN, tu peux aussi mettre des règles "par VLAN" dans SquidGuard et interdire FaceBook pour tout le VLAN "école" dans les horaires de cours, et donc ne pas obliger l'authentification (sauf si tu as des besoins spécifiques, ce qui va forcer ou pas l’authentification, c'est la législation mais dans ma compréhension, ce n'est pas obligatoire).

                          Attention: WPAD avec les machines Android, ça ne marche pas toujours très bien  :(

                          Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                          1 Reply Last reply Reply Quote 0
                          • W
                            Wariyah
                            last edited by

                            En tout cas je suis parti pour faire un squid appart  la je fais mes test sur mon serveur au bureaux
                            j ai un pfsense deja fonctionnel sur mon serveur en vm et la je monte le squid dans un autre vm
                            je te tiens au courant et je pense que vu que j ai une gestion par vlan je ferais comme tu ma dit
                            ma machine est pas mal en terme de capacite donc ça va par contre vu que je debute tres fortement dans l evaluation de "combien il faut que j ai de place pour les log " je ne sais pas combien de place je vais devoir dédie si qqn peut me donner le rapport pour une personne ca serait cool :p ^^ (il faut appronfondise ca pour avoir le meilleur qualité rapport place libre/utilise)
                            encore merci de ton aide chris

                            1 Reply Last reply Reply Quote 0
                            • N
                              Nightwolf
                              last edited by

                              Tout est possible, mème si le support va râler  ;D

                              Par contre en aucun cas c'est Pfsense qui doit gérer les utilisateurs. S'il y a un LDAP dans l'infrastructure, il faut utiliser l'authentification sur le proxy sans que celui-ci ne gère chaque utilisateur. D'abord parce que ce serait trop lourd, ensuite ça fonctionne comme un canard boiteux et enfin il sera impossible de gérer le SSO.

                              Dans l'absolu (c'est là que ça va râler) tu peux mettre 2 machines en load balancing et une en failover taillées comme de véritables serveurs d'entreprise (pas du core I ou du pentium et encore moins de l'Athlon). Le cœur de réseau doit attaquer les interfaces (NIC) des serveurs (Pfsense Squid) de préférence en fibre multimode en passant là aussi par une gestion load balacing de type packetshaper. Pourquoi? Parce que dans la journée il n'y aura pas de pic majeur de consommation, mais le matin quand tout le monde arrive il peut potentiellement y avoir 700 requêtes en authentification simultanées.

                              Par contre si l'objectif est de faire tout ça avec de vieux PC de récup… Laisse tomber!

                              1 Reply Last reply Reply Quote 0
                              • W
                                Wariyah
                                last edited by

                                Donc alors ce que j ' ai car prescrit par vos soin en plus ca marche what else
                                j' avais une base AD du coup la connexion se fait par
                                Kerboros +Samba +squid  j ai plus a géré le filtrage comme je veut grâce a squidguard ou a guardian je me pose la question encore pour le géré
                                merci pour vos conseil vous êtes des machine
                                par contre pour rentre mes utilisateur dans le AD j ' ai fait  un script powershell mais j ' ai un soucis au niveau il ne gere pas les doublon donc il ne s’exécute pas  marche quand il a pas de doublon dans le csv xd
                                je me le script si dessous :

                                function RandomPassword
                                {
                                $ABC="A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
                                $ab="a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"
                                $num="1","2","3","4","5","6","7","8","9","0"
                                $ALL=Get-Random -Count 8 -InputObject($ABC+$ab+$num)
                                $raw=$ALL -join("")
                                echo $raw
                                return $raw

                                }
                                Import-Module ActiveDirectory
                                $users= Import-Csv -Delimiter ";" -Path "C:\Users\Administrateur.MOUTON\Desktop\testfcsv.csv"
                                foreach ($temp in $users)
                                {
                                $name=$temp.PRENOM+"."+ $temp.NOM
                                $fname=$temp.PRENOM
                                $SAM=$firstLetterName+ $temp.PRENOM
                                $password=Randompassword
                                switch($temp.Classe){
                                    "ETUDIANT"{ $ou="OU=ETUDIANT,DC=example,DC=lan"}
                                    "ENSEIGNANT"{$ou="OU=ENSEIGNANT,DC=example,DC=lan"}
                                    "STAFF ECOLE"{$ou="OU=STAFF,DC=example,DC=lan"}
                                    "STAFF HOTEL"{$ou="OU=STAFF,DC=example,DC=lan"}
                                    default{$ou=$null}
                                    }
                                echo  $name
                                                                    echo $password
                                                                    echo $ou

                                ADD-content -path "C:\Users\Administrateur.MOUTON\Desktop\test2fcsv.csv" -value  "login:$name mot de passe:$password"

                                if($ou -ne $null){

                                try{
                                                                New-ADUser -Name $name -SamAccountName $SAM -UserPrincipalName $SAM -DisplayName $name -GivenName $fname -Surname $temp.Lastname -AccountPassword(ConvertTo-SecureString $password -AsPlainText -Force) -Enabled $true -Path $ou
                                                                    echo "Utilisateur ajoute : $name"
                                                                    echo $password
                                                                    echo $ou
                                                                    break
                                }
                                                        catch{
                                                                  echo "Utilisateur non ajoute : $name"
                                                                }
                                                    }
                                }

                                merci d' avance pour vos réponse et désole pour les faute  :)

                                1 Reply Last reply Reply Quote 0
                                • C
                                  ccnet
                                  last edited by

                                  Rien à voir avec Pfsense. On ferme.

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.