Beiträge von kk

    Es müsste doch lauten "Die Domain ... ist nicht über https verfügbar"


    Hmm, stimmt... Dafür müssen wir aber in die SSL-vHost-Konfiguration noch eine andere ErrorDocument-Anweisung aufnehmen.
    Wird gleich erledigt, kommt kurzfristig im nächsten Update.


    Zitat

    Bei mir schreibt LC nichts ins Logfile beim Updaten des Dovecot, FTP usw., beim Apache schon. ist das normal?


    Ja, ist (noch) normal. Es werden derzeit noch nicht für alle Dienste die Programm-Ausgaben vom Neustart protokolliert (wird derzeit schrittweise ausgebaut).

    Ab sofort steht LiveConfig 1.7.5 (r3127) für den produktiven Einsatz bereit.
    Schwerpunkt dieses Updates ist die SSL-Konfiguration der von LiveConfig verwalteten Dienste - konkret die Abschaltung von SSLv3 aufgrund der kürzlich bekannt gewordenen "Poodle"-Angriffsmöglichkeit.


    Die Änderungen sind:

    • Konfiguration eines Standard-SSL-Zertifikats für SNI-Konfigurationen mit Apache httpd
    • automatischer Verbindungsaufbau zur MySQL-Datenbank nach Neustart des LiveConfig Server-Prozesses
    • OpenSSL von 1.0.1i auf 1.0.1j aktualisiert
    • SSLv3 für HTTPS/LCCP-Schnittstellen von LiveConfig deaktiviert
    • SSLv3 aufgrund der POODLE-Attacke für alle konfigurierten Dienste deaktiviert (Apache, NGINX, Postfix, Dovecot, ProFTPd, vsftpd)
    • Übersetzungen aktualisiert
    • Unterzeichnung von Zertifikatsanfragen (CSR) und selbstsignierten Zertifikaten mit SHA256; Anzeige des SHA256-Fingerabdrucks von SSL-Zertifikaten


    Was die SNI-Konfiguration von nginx betrifft: hier wird es in Kürze noch ein separates Update geben.


    Um die Konfigurationen der von LiveConfig verwalteten Dienste zu aktualisieren, gehen Sie bitte wie folgt vor:

    • Apache/nginx: irgendeine IP-Gruppe bearbeiten (z.B. an den Namen irgendein Zeichen anfügen) & speichern
    • FTP: Button "neu konfigurieren" klicken
    • Postfix: Button "bearbeiten..." klicken und dort direkt auf "speichern"
    • Dovecot: Button "bearbeiten..." klicken und dort direkt auf "speichern"


    Das Update lässt sich wie immer reibungslos über die Repositories einspielen.


    Viele Grüße


    -Klaus Keppler

    Danke für die Rückmeldung. Ich habe noch ein paar Tests durchgeführt und dabei festgestellt, dass dieses Verhalten auftritt wenn der LiveConfig-Server-Prozess beendet wird (durch einen Fehler oder ein gezieltes kill-Signal). Unter bestimmten Umständen versucht der Server-Prozess dann aber nicht die MySQL-Verbindung wieder aufzubauen (wird gleich behoben...).
    So oder so ist jedenfalls etwas passiert, was nicht hätte passieren dürfen: der LiveConfig-Server-Prozess hatte irgend ein Problem. Könnten Sie bitte prüfen, ob in der Datei /var/log/liveconfig/liveconfig.log irgendwelche Stacktraces zu finden sind? (suchen Sie darin einfach nach dem Begriff "trace"). Falls ja, senden Sie uns diesen Abschnitt oder die ganze Log-Datei bitte an support@liveconfig.com.


    Der Bugfix zum automatischen MySQL-Reconnect kommt noch mit in die gerade in Fertigstellung befindliche v1.7.5 mit hinein.


    Viele Grüße


    -Klaus Keppler

    Per Cron-Job lässt sich das leider nicht lösen.
    Die Meldung "Not connected" kann nur unter zwei Bedingungen auftauchen:
    - wenn LiveConfig frisch gestartet wird, oder
    - wenn die Verbindung zwischen LiveConfig und dem zuständigen Child-Prozess aktiv beendet wurde (z.B. weil der LiveConfig-Client-Prozess beendet wurde)


    Darf ich fragen welche Version Sie aktuell einsetzen? Falls Sie LiveConfig 1.7.4 <r3109 verwenden, aktualisieren Sie bitte auf die neueste Version (mind. 1.7.4-r3112). Dort wurde ein Fehler im LiveConfig-Client-Prozess beseitigt, der in seltenen Fällen zur Unterbrechung der Verbindung mit dem Server geführt hatte.


    Viele Grüße


    -Klaus Keppler

    Was genau liefert bei Ihnen die Ausgabe des Befehls "/usr/bin/php-cgi -v" ?
    Haben Sie eine besondere PHP-Version installiert? (also z.B. aus einem anderen Repository oder manuell compiliert)

    Hallo,


    hatten Sie eventuell zwischendurch einen Neustart des Servers oder ein Upgrade von liveconfig & mysql-server durchgeführt?
    Wenn LC die Verbindung zur MySQL-Datenbank verliert stellt es diese eigentlich automatisch wieder her. Ich kann mir lediglich vorstellen, dass LC sich beim Start nicht mit MySQL verbinden konnte und daher keinen neuen Versuch unternommen hat (diesen Fall testen wir hier später mal durch).


    Viele Grüße


    -Klaus Keppler

    Danke. Auch ohne NOUPDATE macht man diese Änderungen wohl schneller per Skript als sich auf jedem verwalteten Server manuell durchzuklicken, da wird man ja wahnsinnig...


    CLI kommt ja auch bald. Beim nächsten SSL-Desaster reicht dann (voraussichtlich) so etwas ähnliches wie

    Code
    aptitude update
    aptitude upgrade
    liveconfig --cli reconfigure web mail ftp


    Zitat


    Hmm, stimmt - sollte der Vollständigkeit halber auch mit dazu. Zwar ist es schwer bis unmöglich, einen SMTP-Client mit POODLE anzugreifen, aber wer weiß was da noch kommt...

    Ab sofort steht LiveConfig v1.7.5 (r3122) als Preview zum Download bereit.
    Wir haben uns dazu entschlossen, noch mal eine Zwischenversion vor der v1.8 herauszugeben, welche die aktuell bekannt gewordene SSLv3-Sicherheitslücke betrifft.


    Die Änderungen sind:

    • Aktualisierung der OpenSSL-Bibliothek auf die heute freigegebene Version 1.0.1j
    • Deaktivierung von SSLv3 in LiveConfig (HTTPS/LCCP)
    • Deaktivierung von SSLv3 in allen von LiveConfig verwalteten Diensten (s.u.!)


    Zudem wird nun für HTTPS auf gemeinsamen IPs (also mit SNI) automatisch ein Standard-SSL-Zertifikat erzeugt.


    Um die Konfigurationen der von LiveConfig verwalteten Dienste zu aktualisieren, gehen Sie bitte wie folgt vor:

    • Apache/nginx: irgendeine IP-Gruppe bearbeiten (z.B. an den Namen irgendein Zeichen anfügen) & speichern
    • FTP: Button "neu konfigurieren" klicken
    • Postfix: Button "bearbeiten..." klicken und dort direkt auf "speichern"
    • Dovecot: Button "bearbeiten..." klicken und dort direkt auf "speichern"


    Wir testen die neue LiveConfig-Version morgen Vormittag noch ausführlich durch; wenn keine Fehler auftauchen (bzw. gemeldet werden ;)) dann wird die neue Version morgen Nachmittag produktiv freigegeben.


    Viele Grüße


    -Klaus Keppler

    So, die Änderungen sind alle eingecheckt und werden nun von unserem Jenkins compiliert & getestet (das dauert noch eine Weile...). Sobald die Pakete fertig sind gebe ich noch mal Bescheid.


    Die geänderten Einstellungen sind:

    • Apache:
      [highlight]SSLProtocol ALL -SSLv2 -SSLv3[/highlight]
    • nginx:
      [highlight]ssl_protocols TLSv1;[/highlight] (bzw. [highlight]ssl_protocols TLSv1 TLSv1.1 TLSv1.2;[/highlight] mit nginx 1.1.13+ und 1.0.12+)
    • Postfix:
      [highlight]smtpd_tls_protocols = !SSLv2, !SSLv3[/highlight] (Postfix v2.6+)
      [highlight]smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3[/highlight] (Postfix v2.5)
      [highlight]smtpd_tls_mandatory_protocols = TLSv1[/highlight] (Postfix <v2.5)
    • Dovecot:
      Dovecot 1.x: SSLv3 kann nicht abgeschaltet werden (s.u.)
      Dovecot ab 2.1: [highlight]ssl_protocols = !SSLv2 !SSLv3[/highlight]
    • ProFTPd:
      [highlight]TLSProtocol TLSv1[/highlight]
    • vsftpd:
      keine Änderung notwendig, SSLv3 war bereits deaktiviert (ssl_sslv3=NO)


    Bei Dovecot 1.x/2.0 lässt sich SSLv3 nicht abschalten (zumindest nicht ohne den Code zu patchen). Das ist aber auch nicht dramatisch, da die POODLE-Attacke voraussetzt, dass der Angreifer die Daten beeinflussen kann, die zum Server gesendet werden - wie auch bei den BEAST- und CRIME-Angriffen. Das klappt in der Praxis nur dann mit realistischem Aufwand, wenn man in eine Webseite JavaScript-Code einschleust und den Datenverkehr komplett abhören kann (z.B. mit WLAN-Proxies). Da bei POP3/IMAP-Zugriffen praktisch kein Einfluss auf die vom Client zum Server gesendeten Daten genommen werden kann, ist ein Angriff dort (nach derzeitigem Wissensstand) praktisch nicht möglich.


    Insgesamt ist der POODLE-Angriff ernst zu nehmen, aber nicht annähernd so schlimm wie Heartbleed oder Shellshock. Es handelt sich um einen Angriff auf den Client (konkret: auf den Webbrowser), der auch nur dann möglich ist, wenn man die komplette Kommunikation zwischen Client und Server "abhören" kann (insbes. also bei WLANs).

    NEIN!!!!
    MACHT DAS NICHT!!!


    Das ergibt eine inkonsistente Datenbank!
    Die LiveConfig-Datenbank verwendet sog. "Nested Sets" zur relationalen Organisation der Hierarchien - da sind deutlich mehr UPDATE-Befehle notwendig. Von Hand ist das kaum machbar!


    Verträge verschieben geht ausschließlich über die LC-Oberfläche (Vertrag bearbeiten -> Button "neu zuordnen..." klicken)

    Ich verweise kurz und knapp auf einen Artikel bei Heise Online: Poodle: Experten warnen vor Angriff auf Internet-Verschlüsselung.


    Kurz gesagt: das SSLv3-Protokoll ist verwundbar, Experten empfehlen dieses auf Servern zu deaktivieren.


    Wir arbeiten bereits an einem LiveConfig-Update, um alle von LiveConfig verwalteten Dienste entsprechend zu konfigurieren. Ich gebe Bescheid sobald wir das Update fertiggestellt & getestet haben (vorraussichtlich noch heute Abend).


    Viele Grüße


    -Klaus Keppler

    Wurde eben aktualisiert (siehe KB#22).
    Außerdem bauen wir künftig in die PHP-Pakete die Suhosin-Erweiterung mit ein. Diese ist standardmäßig deaktiviert, macht gerade im Shared Hosting aber viel Sinn (u.a. können so alle durch PHP-Scripte hochgeladenen Dateien automatisch durch einen Virenscanner (ClamAV) untersucht werden!)


    Viele Grüße


    -Klaus Keppler

    Die Option, alle Endkunden eines Resellers mit zu löschen wird in Kürze auch verfügbar sein, einen genauen Termin dafür kann ich aber noch nicht nennen.
    (das hat technische Gründe - es reicht nicht eben einfach nur alle Datensätze in der Datenbank zu markieren, sondern LC muss im Grunde abwarten bis alle Kundenaccounts von eventuell verschiedenen Servern komplett gelöscht sind, bevor der Reseller dann schlußendlich auch gelöscht werden kann).

    Nachtrag: ich hatte das nur mit dem IE unter Windows XP getestet. Wenn ein Browser mit SNI-Unterstützung auf den Server zugreift, kommt tatsächlich die Seite vom zuerst konfigurierten SSL-vHost - trotz der SSLStrictSNIVHostCheck-Einstellung. :|
    Wir werden LiveConfig so anpassen, dass bei SSL auf Shared IPs (=SNI) automatisch ein selbst-signiertes Zertifikat erzeugt wird, welches dann auf die Standard-Fehlerseite ("Diese Domain ist nicht verfügbar...") verweist. Müsste im Laufe dieses Tages fertig sein.


    Viele Grüße


    -Klaus Keppler

    auch bei mir bringt der o.g. Code keine Veränderung :(


    Was für eine Veränderung erwarten Sie denn?
    Mit dieser Einstellung (SSLStrictSNIVHostCheck=on) werden keine Inhalte von "fremden" Seiten mehr angezeigt, falls der Browser kein SNI unterstützt bzw. falls er über einen "falschen" Hostnamen auf den Server zugreift (in diesem Fall antwortet Apache mit einem 403 - Forbidden).
    Dass dem Besucher aber auch in diesem Fall irgendein SSL-Zertifikat präsentiert wird lässt sich nicht ändern (siehe oben). Wenn ein Browser eine SSL-Verbindung anfordert, dann muss der Server ja mit irgendwas antworten. Die einzige saubere Lösung besteht eben darin, SSL-Websites auf eine separate IP-Adresse zu legen. Das hat nichts mit LiveConfig zu tun, sondern mit den technischen Grundlagen von SSL.

    Das Problem ist, dass bei "klassischem" SSL erst der SSL-Handshake stattfindet, und dann der HTTP-Request erfolgt. Mit anderen Worten: pro SSL-Zertifikat braucht(e) man eine eigene IP-Adresse; man kann keinen "anderen" Content zuverlässig auf der selben IP hosten.
    SNI verschafft da theoretisch Abhilfe - funktioniert allerdings nicht mit dem IE unter Windows XP u.ä. (was immerhin noch rund 10% der Internetnutzer betrifft).


    Legen Sie die Datei /etc/apache2/conf.d/sni mit folgendem Inhalt an:

    Code
    <IfModule mod_ssl.c>
    SSLStrictSNIVHostCheck on
    </IfModule>


    Starten Sie Apache danach neu. Mit dieser Einstellung (SSLStrictSNIVHostCheck on) sollten dann nur noch "richtige" SNI-Zugriffe durchgestellt werden. Beachten Sie aber bitte, dass eben noch nicht alle Browser SNI beherrschen.


    Viele Grüße


    -Klaus Keppler

    Code
    aptitude search php | grep opt


    Oder noch einfacher: einen Blick in KB#22 werfen. Dann werden Sie feststellen, dass wir für Debian Squeeze gar kein optionales PHP 5.3 Paket bereitstellen (schließlich gibt es das da direkt von Debian).

    Ab sofort steht ein kleines Update bereit (v1.7.4-r3112), welcher einen Fehler bzw. ein Problem mit den neuen Tabellen beseitigt.
    (Wenn man z.B. einen Kunden mit 30 Domains geöffnet hat, in der Domainliste auf die Seite 2 blätterte und danach einen Kunden mit z.B. nur 5 Domains öffnete, dann wurden dort gar keine Domains mehr angezeigt (weil die Tabelle noch auf "Seite 2" stand).)


    Viele Grüße


    -Klaus Keppler