ispCP - Board - Support
encrypt mail passwords - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+--- Thread: encrypt mail passwords (/thread-15692.html)



encrypt mail passwords - johreini - 01-03-2012 05:32 AM

Ich möchte auf einen neuen Server migrieren, wobei der alte Server eine nightly build version 1.0.0 installiert hat. Darum funktioniert wahrscheinlich das backup.php nicht!

Jetzt hatte ich die idee im mysql einfach in der tabelle "mail_users" die mailkonten mit der richtigen "domain_id" und dem status "change" zu importieren. Das klappt auch soweit echt genial! nach dem ausführen des "ispcp-rqst-mngr" werdwen alle ordner angelegt und es sind auf der admin oberfläche alle konten vorhanden!

Jetzt gibt es da aber noch ein kleines problem. Bei der alten IspCP Version waren die email passwörter nicht verschlüsselt! bei der Version 1.0.7 jedoch schon. Kann ich IspCP nachträglich dazu überreden die Passwörter zu verschlüsseln? Oder kann ich das in einen Script selber machen?

Mit den besten wünschen an alle für das neue Jahr 2012!


RE: encrypt mail passwords - joximu - 01-03-2012 09:38 AM

Hm, die Verschlüsselung der Mail-PWs fand zwischen rc6 und rc7 statt... die 1.0.0 sollte schon mit verschlüsselten pws arbeiten.

Aber in den Updatescripts sind eigentlich die Routinen eingebaut, welche notwendig sind...

Schau in ispcp/gui/include/ispCP/Update/Database.php
protected function _databaseUpdate_33() { ... }

Die critical-updates verschlüsseln die Mail und DB-Passwörter...

Gruss
Joxi


RE: encrypt mail passwords - gandalf4711 - 01-05-2012 08:15 AM

Es gibt ein kleines Script um die Mail PW auszulesen. Ich weis leider nicht ob es bei deiner Version funtz aber ein Versuch schadet nicht...

Code:
#!/usr/bin/php -q

<?php

## Autor: Knut Herter
## Datum: 06.10.2009
## Web  : http://www.systemtechnics.de
##
## Usage: decrypt_mailpw.php |grep whatever_you_want
##
## Example: decrypt_mailpw.php |grep admin


###
# FIRST CHANGE THIS VALUES !
###

$SQLHST  = "localhost";
$SQLUSR  = "root";
$ISPCPDB = "ispcp";

# if error_reporting on, you see some session errors at cli
error_reporting(0);

#################################
#### Do not change from here ####

echo "MySQL password for $SQLUSR@$SQLHST: ";
system('stty -echo');
$SQLPW = trim(fgets(STDIN));
system('stty echo');

$QUERY = "
        SELECT  `mail_users`.mail_acc,
                `mail_users`.mail_pass,
                `domain`.domain_name

        FROM    `domain`

        INNER JOIN `mail_users` ON (`mail_users`.domain_id = `domain`.domain_id)

        WHERE   `mail_type` LIKE 'normal_mail' OR `mail_type` LIKE 'normal_mail,normal_forward'";

require '/var/www/ispcp/gui/include/ispcp-lib.php';

$link = mysql_connect( $SQLHST, $SQLUSR, $SQLPW);
if (!$link) {
    die('keine Verbindung möglich: ' . mysql_error());
}

mysql_select_db( $ISPCPDB, $link) or die('Could not select database.');

$result = mysql_query($QUERY);
if (!$result) {
    die('Ungültige Abfrage: ' . mysql_error());
}

printf ("\n");

$FORMAT = "Domain MailAdr: [ %s@%s ] Passwort: [ %s ]\n";
while ($row = mysql_fetch_row($result)) {
    printf ( $FORMAT, $row[0], $row[2],  decrypt_db_password ($row[1]));
}
printf ("\n");

mysql_close($link);

####### DOMAINALIASE

$QUERY = "
        SELECT  `mail_users`.mail_acc,
                `mail_users`.mail_pass,
                `domain_aliasses`.alias_name

        FROM    `domain_aliasses`

        INNER JOIN `mail_users` ON (`mail_users`.sub_id = `domain_aliasses`.alias_id)

        WHERE   `mail_type` LIKE 'alias_mail' OR `mail_type` LIKE 'alias_mail,alias_forward'";



$link = mysql_connect( $SQLHST, $SQLUSR, $SQLPW);
if (!$link) {
    die('keine Verbindung möglich: ' . mysql_error());
}

mysql_select_db( $ISPCPDB, $link) or die('Could not select database.');

$result = mysql_query($QUERY);
if (!$result) {
    die('Ungültige Abfrage: ' . mysql_error());
}


$FORMAT = "Aliasdomain MailAdr: [ %s@%s ] Passwort: [ %s ]\n";
while ($row = mysql_fetch_row($result)) {
    printf ( $FORMAT, $row[0], $row[2],  decrypt_db_password ($row[1]));
}
printf ("\n");

mysql_close($link);

?>

Den Code hab ich mal hier gefunden ...

Du musst evtl. noch den SQL Host bzw Benutzer und die Datenbank ändern.
Am Besten über die Console aufrufen.

Grüße


RE: encrypt mail passwords - joximu - 01-05-2012 10:20 AM

ja, hier http://isp-control.net/forum/thread-5495.html


RE: encrypt mail passwords - Knut - 01-06-2012 05:05 PM

Das Script ist nur zum Auslesen der verschlüsselten Passwörter. Er benötigt ja eine Funktion zum nachträglichen verschlüsseln.

Mit den von Joxi angesprochenen Routinen sollte das nachträgliche verschlüsseln auf der Console in einem vertretbaren Aufwand machbar sein.


Knut