IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

acces a squid par mot de passe


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut acces a squid par mot de passe
    Bonjour.

    Je sais que ma question est ptet ridicule parce qu'il y a des centaines de sites qui parlent de ca... mais malfrés 1 semaine de recherche intensive (j'y ai passé des nuits) j'ai toujours pas compris....

    donc, je voudrais installer squid (2.7.5) sur mon serveur. (c'est la version proposé en emerge sur gentoo)

    le seul usage que je veux en faire, c'est de permettre à un ami qui habite dans un pays du tiers monde où internet est très filtré de pouvoir aller sur tous les sites qu'il désire. (youtube, facebook et plein d'autres sites banal pour nous sont interdits la bas)

    alors, je sais qu'un proxy est super risqué... et que si il y a le moindre trou, tous les escroc de la planetes utiliseront tres vite mon proxy et je veux prendre aucun risque.

    ke cherche comment configurer mon proxy pour qu'il permette UNIQUEMENT l'utilisation du http et https, uniquement par des personnes qui se loguent avec un login et un mot de passe et bien sur ave un champ x-forwarded (pour que le site sur lequel va mon ami sache d'ou il vient et que mon proxy ne devienne pas un proxy anonyme) et eventuellement qu'il garde quelques pages en cache... (l'adsl de mon ami ayant un débit nominal de 256k mais un débit reel plus proche du 128k je doute que ca change grand chose, mais bon)

    ET RIEN D'autre.

    je parle de connexion par login et mot de passe parce que je vois pas d'autre solution vu que mon ami a une ip non fixe...mais si il existe une solution plus simple pour qu'il ai pas à taper à chaque fois un login et un mot de passe, je suis preneur...

    Alors pendant ma semaine de recherche, j'ai rien compris aux http_safe, acl et tout ca.... (désolé si ca me donne l'air idiot... mais d'habitude, je suis pas trop bete...)

    savez vous où je peux trouver un tuto simple m'expliquant comment configurer le squid.conf de mon squid pour qu'il fasse ca, rien que ca, et sans risque que je me le fasse pirater ?

    ca me rendrait vraiment service.

    merci

  2. #2
    Membre chevronné Avatar de mess-mate
    Inscrit en
    Septembre 2008
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 352
    Par défaut
    Bonjour,
    je sais pas pour gentoo, mais il y a le TAG pour l'en-tête HTTP X-Forwarded-For dans le /etc/squid.conf que tu peut activer avec plusieurs options.

    voici un lien pour l'authentification de squid ici
    L'authentification avec pam par exemple est assez simple.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut
    Citation Envoyé par mess-mate Voir le message
    Bonjour,
    je sais pas pour gentoo, mais il y a le TAG pour l'en-tête HTTP X-Forwarded-For dans le /etc/squid.conf que tu peut activer avec plusieurs options.

    voici un lien pour l'authentification de squid ici
    L'authentification avec pam par exemple est assez simple.
    merci de la réponse.

    Mais au risque de paraitre ridicule...

    j'ai deja lu cette page des centaines de fois... avant de faire plusieurs jours de recherche sur google

    et j'avoue que j'ai pas compris grand chose...

    mon cas est vraiment desesperé ?

  4. #4
    Membre chevronné Avatar de mess-mate
    Inscrit en
    Septembre 2008
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 352
    Par défaut
    Tu est un nouveau complet ? Dans ce cas il faudra que tu te documente un peu plus.
    Je vais te mettre sur la voie :
    Tu as donc déjà installé squid; vu la version il a été compilé avec le x-forward je suppose (vérifie dans ta squid.conf).
    Dans ta squid.conf modifie ou ajoute avant la portion 'deny all', vu comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    acl localhost src 127.0.0.1/255.255.255.255
    http_access allow localhost
    http_access allow password
    http_access deny all
    Maintenant on va configuré l'authentification:

    ls /usr/lib/squid/*auth

    et tu vois apparaître le module 'pam_auth'.

    On va donc utiliser ce module.Ceci va permettre à tous ceux qui ont un compte shell d'utiliser squid.
    Va dans la section 'auth_param' de squid.conf et ajoute ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    auth_param basic program /usr/lib/squid/pam_auth
    auth_param basic children 5
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 2 hours
    ensuite cherche cette ligne et décommente la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    acl password proxy_auth REQUIRED
    Maintenant crée un module pam /etc/pam.d/squid et mets ceci dedans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    auth required /lib/security/pam_unix.so
    account required /lib/security/pam_unix.so
    et donne les permissions 4755 à ce fichier.
    Restart squid.
    Pour activer le tunnel fait un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh -L 3128:ton_host_squid:3128 ton nomdecompte@ton_host_squid
    Si la connection est établie squid te demandera ton mot de passe.
    Maintenant que tu est logged dans squid type:
    et puis quitte telnet.Tu verras que tu parle maintenant à squid sur ton serveur distant.

    Pour terminer il faut maintenant configurer ton navigateur pour qu'il utilise le tunnel SSH avec le proxy.
    Pour chaque navigateur c'est différent, mais pour firefox ça se trouve dans edit->preferences->advanced (pour moi en anglais).

    Et maintenant quand tu ira sur une page web, ton mot de passe sera demandé.
    Ton navigateur pourrais rouspéter que l'authentification se fait en 'plaintext', tu peux l'ignorer.
    Tu voyageras à travers un SSH tunnel et tout sera crypté.

    Tu peux si tu préfére changer le port de squid qui est le 3128 en 8080 si tu préfère (partout ci-dessus bien-sûr)

    Pour le x-forward, comme j'ai déjà dit voir dans ta squid.conf, c'est assez simple.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut
    meri de votre aide.

    je teste demain et je vous dit....

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut
    bonjour.

    Apres pas mal de tests.... j'ai reussi a lancer squid...

    mais quand j'essaye de me connecter a un site en passant par le proxy, quel que soit le compte utilisateur du systeme que je tape, j'obtiens l'erreur :

    ERROR
    The requested URL could not be retrieved

    --------------------------------------------------------------------------------

    While trying to retrieve the URL: http://fr.news.yahoo.com/

    The following error was encountered:

    Access Denied.
    Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

    Your cache administrator is root.



    je voulais savoir ce que j'ai fait de mal (pour l'instant j'essaye de faire marcher et aprés j'essayerais de comprendre) et si il était possible pour simplifier de mettre les login mot de passe simplement dans un fichier en dur ? (il n'y aura pas plus de 3 utilisateurs autorisé du proxy).

    et ca me rendrait aussi service si quelqu'un pouvait m'indiquer si au niveau securité ce fichier était correct.

    Je joins le squid.conf aprés l'avoir raré (comme on peut pas mettre de fichier texte de plus de 64k)

    merci de votre aide.


    Et voila le fichier sans les commentaires (celui en piece joint est complet) :
    si j'ai mis /usr/libexec dans la 1ere ligne c'est parce que c'est dans ce repertoire que se trouve squid/pam_auth sur mon system

    auth_param basic program /usr/libexec/squid/pam_auth
    auth_param basic children 5
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 2 hours
    acl all src all
    acl manager proto cache_object
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 # https
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    acl password proxy_auth
    acl localhost src 127.0.0.1/255.255.255.255
    http_access allow localhost
    http_access allow password
    http_access deny all
    icp_access deny all
    http_port 9898
    hierarchy_stoplist cgi-bin ?
    cache_dir ufs /var/cache/squid 100 16 256
    access_log /var/log/squid/access.log squid
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 0 20% 4320
    acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
    upgrade_http0.9 deny shoutcast
    acl apache rep_header Server ^Apache
    broken_vary_encoding allow apache
    cache_mgr root
    cache_effective_user squid
    forwarded_for on
    coredump_dir /var/cache/squid

    et le fichier /etc/pam.d/squid :
    #%PAM-1.0
    # $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/files/squid.pam,v 1.3 2007/09/23 09:23:41 mrness Exp $
    auth required pam_nologin.so
    auth include system-auth
    account include system-auth
    password include system-auth
    session optional pam_limits.so
    session include system-auth
    auth required /lib/security/pam_unix.so
    account required /lib/security/pam_unix.so
    Fichiers attachés Fichiers attachés

  7. #7
    Membre chevronné Avatar de mess-mate
    Inscrit en
    Septembre 2008
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 352
    Par défaut
    Ton post a disparu subitement ... ?
    Cette configuration est pour démontrer comment protéger ton traffic sur le net.
    Dans ce cas il te faut donc:
    - squid qui tourne dans un autre réseau. ( le mien est dans un autre réseau, par exemple 192.168.20.1 au lieu de 192.168.10.2)
    - un laptop avec le support ssh et port-forwarding.


    D'après le mail que j'ai reçu:
    Cette configuration est pour un serveur en dehors de ton réseau. Squid accepte seulement des connections du serveur lui-même, pas en dehors.
    Avec l'authentification pam il faut que chaque client ait un compte shell sur le serveur! Ce qui est très facile à faire si le nombre n'est pas trop important, tu crée par exemple un utilisateur parisien99, etc..
    Ainsi tu te connecte en tant que parisien99 à ton serveur-proxy.

    Bizarre, ton post est là de retour. voyons donc...

    Dans ton /etc/pam.d/squid il te faut seulement ces 2 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    auth required /lib/security/pam_unix.so
    account required /lib/security/pam_unix.so
    Mais comme j'ai déjà dit, moi je suis sous debian !!!
    En plus il faut voir si le chemin des ces 2 lignes est bien exact chez toi.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/09/2012, 19h58
  2. Accès au menu par mot de passe
    Par badi3a82 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/03/2010, 10h42
  3. Accès à la DB par mot de passe
    Par vg-matrix dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/09/2009, 19h54
  4. [AC-2007] Acces à un formulaire par mot de passe
    Par Imitator92 dans le forum IHM
    Réponses: 3
    Dernier message: 21/08/2009, 12h31
  5. accès à un répertoire par mot de passe
    Par arcane dans le forum Sécurité
    Réponses: 5
    Dernier message: 14/04/2008, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo