user-password en accés public

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

user-password en accés public

Messagepar mab974 » 19 Nov 2008 18:08

Bonjour,

J'aimerais bien permettre aux utilisateurs de modifier leur mot de passe via le Net.
Peut-on passer "user-password" en accés public et le faire sans trop de risques ?

Cordialement
Avatar de l’utilisateur
mab974
Quartier Maître
Quartier Maître
 
Messages: 20
Inscrit le: 13 Nov 2007 18:03

Messagepar syncope » 20 Avr 2009 09:24

j'ai un sme 6.1 et je suis intérressé par la réponse (pour l'instant il n'y en a pas)
merci
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

Messagepar syncope » 21 Avr 2009 00:16

comme c'est un post énormément lu.....et qu'il n'y pas une seule réponse....j'en déduis que ce truc là ne peut pas se faire "simplement" (notamment avec le server-manager)....personne ne sait où il faut "bidouiller" ??....merci d'avance à l'âme charitable qui répondra
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

Messagepar syncope » 22 Avr 2009 12:02

dans httpd.conf ?
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

Messagepar dpfpic » 22 Avr 2009 23:13

Bonsoir,

J'ai trouvé la solution pour la version 7.

Voici donc la procédure

Création du répertoire de template :

Code: Tout sélectionner
mkdir /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts



Copy de l'ancien template :

Code: Tout sélectionner
cp /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/27ManagerProxyPass /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/



Modification du template :

Code: Tout sélectionner
pico /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/27ManagerProxyPass



Il doit resembler à:

Code: Tout sélectionner
{
    # vim: ft=perl:

    $haveSSL = (exists ${modSSL}{status} and ${modSSL}{status} eq "enabled") ?  'yes' : 'no';
    $plainTextAccess = ${'httpd-admin'}{PermitPlainTextAccess} || 'no';

    $OUT = '';
    foreach $place ('server-manager','server-common')
    {
        if (($port eq "80") && ($haveSSL eq 'yes') && ($plainTextAccess ne 'yes'))
        {
            $OUT .= "    RewriteRule ^/$place(/.*|\$)    https://%{HTTP_HOST}/$place\$1 [L,R]\n";
        } else {
            $OUT .= "    ProxyPass /$place http://127.0.0.1:${'httpd-admin'}{TCPPort}/$place/\n";
        }

        $OUT .= "    <Location /$place>\n";
        $OUT .= "        order deny,allow\n";
        $OUT .= "        deny from all\n";
        if (($haveSSL eq 'yes') && (($port eq "443") || ($plainTextAccess ne 'yes')))
        {
            $OUT .= "        allow from $localAccess $externalSSLAccess\n";
        } else {
            $OUT .= "        allow from $localAccess\n";
        }
        $OUT .= "    </Location>\n";
    }
      if (($port eq "80") && ($haveSSL eq 'yes') && ($plainTextAccess ne 'yes'))
      {
            $OUT .= "    RewriteRule ^/user-password(/.*|\$)    https://%{HTTP_HOST}/user-password\$1 [L,R]\n";
      } else {
            $OUT .= "    ProxyPass /user-password http://127.0.0.1:${'httpd-admin'}{TCPPort}/user-password/\n";
      }

      $OUT .= "    <Location /user-password>\n";
      $OUT .= "        order deny,allow\n";
      $OUT .= "        deny from all\n";
      $OUT .= "        allow from all\n";
      $OUT .= "    </Location>\n";
}



Et enfin :

Code: Tout sélectionner
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith sigusr1


Accès par https://nom_de_domaine/user-password

Attention ! c'est une bidouille...
A+
Avatar de l’utilisateur
dpfpic
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 160
Inscrit le: 24 Mai 2003 00:00

Messagepar syncope » 23 Avr 2009 07:52

merci de cette réponse dpfpic

J'vois mieux ce qu'il faut faire...cependant je ne suis pas encore arrivé à résoudre le problème
Ma version est 6.0.1-01 ( c'est un serveur dédié à une messagerie entre professeurs et upgrader ma version de sme entrainerait presque à coup sûr des problèmes, et un arrêt n'est pas acceptable sur cette machine de prod. Il faudrait que je prépare une autre machine avec transfert des BAL + carnets d'adresses, etc....lourd.....Le truc marche depuis des années, donc la version me convient)

Le fichier 27ManagerProxypass que j'ai placé dans le templates-custom est légèrement différent de la version 7.
Il comprend plusieurs blocs <Location /.....>: je ne veux (peux ?) pas mettre "allow from all" dans tous les blocs (??). Donc, j'ai mis "Allow from all" dans les 2 blocs en relation avec user-password.....mais cela n'a pas suffit, ni en redémarrant le service httpd, ni en rebootant carrément la machine

Voici la liste des blocs présents:

<Location /server-brand>: dans ce bloc il y a "classiquement": "Allow from $localAccess $externalSSLAccess"

<Location /e-smith-brand>: même config
<Location /e-smith-common>: même config
<Location /server-common>: même config
<Location /common>: même config
<Location /e-smith-manager>: même config
<Location /server-manager>: même config

et enfin les 2 derniers:

<Location /e-smith-password>: là j'ai remplacé "Allow from $localAccess $externalSSLAccess"
par "Allow from all"

<Location /user-password>: idem, j'ai remplacé

Le tout ne marchant pas => je me dis qu'il faut peut être donné plus de droits aux blocs qui précèdent
Mais je ne veux pas que le server-manager soit accessible en dehors des réseaux locaux par exemple

Que me conseillez vous ?
A quoi servent les "blocs" brand, common ?

Encore merci
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

Messagepar syncope » 27 Avr 2009 01:39

bonjour,
je remets ce sujet en haut de la pile, non pas pour ne rien faire et attendre la solution des autres, mais pour savoir si quelqu'un sait où trouver les infos sur le rôle des blocs qui sont dans 27ManagerProxyPass
La solution de dpfpic paraissait séduisante, mais apparemment, elle ne fonctionne pas dans ma version 6.0-1
Même en mettant tous les blocs à "Allow from all", la page web http://mon_domaine/user-password n'est toujours pas autorisée sur le net
merci
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

[Résolu]

Messagepar syncope » 29 Avr 2009 07:44

en fait l'idiotie c'est que pour utiliser user-password il faut appeler l'URL "mon_domaine/user-password" avec le protocole httpS et non http.
Donc en fait la soluce de dfppic fonctionne parfaitement:
- ouvrir les droits dans une copie du fichier 27ManagerProxyPass à mettre correctement dans le templates-custom
- puis reconstruire le fichier httpd.conf avec la comamnde expand-template
- puis relancer le service httpd
Merci
syncope
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 05 Mai 2006 10:12
Localisation: NOUMEA

user-password

Messagepar mab974 » 29 Avr 2009 13:31

Bonjour,

Ne serait-il pas plus simple de templatiser directement

90e-smithAccess20password dans admin-conf ?

La deuxième partie de ma question originelle concernait la sécurité de l'opération. Et là je ne maitrise pas assez l'environnement SME pour me prononcer.

Cordialement
Avatar de l’utilisateur
mab974
Quartier Maître
Quartier Maître
 
Messages: 20
Inscrit le: 13 Nov 2007 18:03


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité