solip.de
Intel Channel Partner
Lancom Reseller
  • SiteLinks

  • TechBlog

  • Translator

Archiv für März, 2016

EventID 7000, 7009, 7011 Timeout (30000 milliseconds) waiting for the Service

Erstellt von solip am 30. März 2016

Die EventID 7000, 7009, 7011 „Timeout (30000 milliseconds) waiting for the Service“ wird erfasst, wenn es Probleme mit dem Start/Stop von Diensten gibt.

Ein typisches Szenario ist die Migration umfangreicher Dienste in eine langsamere Umgebung.

Windows kennt verschiedene Registrierungs-Einträge, die diese Timeouts steuern:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServicesPipeTimeout
DWORD, default: 30000, Einheit: Millisekunden
Bei Windows 2008 und 2008 R2 vorhanden, bei Windows 7 meist neu zu erstellen.
Gibt an, das bis zu 30 Sekunden bei Start/Stop Vorgängen vergehen dürfen bis ein Fehler protokolliert wird.
Änderungen lösen das Problem zumeist, Werte von 60000 bis 120000 sind üblich.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WaitToKillServiceTimeout
REG_SZ, default: 12000, Einheit: Millisekunden
Gibt an, das bis zu 12 Sekunden beim Herunterfahren auf das Beenden von Diensten gewartet wird bis ein Fehler protokolliert wird.
Der Fehler führt auch zum bekannten Screen, der die Option gibt das Herunterfahren nun zu erzwingen.
Änderungen können spezifische Probleme lösen, Werte von 30000 bis 60000 sind üblich.

Verwirrung kann es auch bei der Erstellung von Diensten geben. Programmierer greifen auf die Funktion „RequestAdditionalTime“ zurück um mehr Zeit für diese Vorgänge anzufordern. Die Funktion ist aber nicht korrekt dokumentiert. Statt zusätzlicher Zeit anzuhängen wird hier der Wert „ServicesPipeTimeout“ überschrieben. Zusätzlich wird alles oberhalb von 120 Sekunden auf dieses Maximum reduziert.

Abgelegt unter Windows 7, Windows Server 2008 | Keine Kommentare »

Angriffe auf xmlrpc.php mittels fail2ban abwehren

Erstellt von solip am 23. März 2016

Nicht nur bei Verwendung von WordPress ein Thema: Massenweise Zugriffe auf die Datei xmlrpc.php eines Webserver.

Diese Datei gehört zu WordPress und wird gerne für Angriffe auf selbiges missbraucht. Man kann sich dagegen mit Plugins schützen oder auch die Datei mittels .htaccess aus dem Zugriff nehmen.

Was man jedoch nicht so einfach abstellen kann, das sind die initialen Zugriffe. Die sind für WordPress-Installationen mitunter ein Problem, denn die Fehlerbehandlung führt auch WordPress durch wenn keine komplette Sperrung erfolgt. Das erzeugt Systemlast.

Die Angreifer brauchen sehr lange um festzustellen, das ihre Aufrufe ins Leere führen. Auf einem Server, der schon seit Monaten kein WordPress mehr beherbergt, fand ich immer noch 30-50 Zugriffe auf diese Datei pro Sekunde vor. Selbst diese „nicht gefunden“ Zugriffe mit Statuscode 404 erzeugen deutlich Systemlast, je nach verwendetem PHP-Interpreter (fpm, cgi, fcgi) sogar sehr viel. Und produzieren auch sehr große, sinnfreie Log-Dateien.

Einzelne aufrufende IP-Adresse sperren bringt hier nichts, die Angriffe kommen aus Botnetzen. Es kommen dann einfach automatisiert andere IP-Adressen zum Einsatz.

Mittels fail2ban kann man die Angreifer loswerden. Dies funktioniert sowohl mit einzeln installiertem fail2ban oder mit dem Modul in Plesk.

Zunächst legt man in /etc/fail2ban/filter.d einen neuen Filter namens wordpress-xmlrpc.conf an:

# Fail2Ban filter for WordPress XMLRPC
#
[INCLUDES] before = common.conf

[Definition] _daemon = wordpress
failregex = ^.*].*/xmlrpc\.php.*
ignoreregex =

Und unter /etc/fail2ban/jail.d das dazugehörige Jail gleichen Namens:

[wordpress-xmlrpc] enabled = true
filter = wordpress-xmlrpc
action = iptables-multiport[name=WordPressXMLRPC, port="http,https,7080,7081"] logpath = /var/log/apache2/access_log
maxretry = 2

In Plesk legt man das Jail über das Menü an. Der Pfad der Log-Dateien aller virtuellen Hosts sieht so aus:

logpath = /var/www/vhosts/system/*/logs/*access*log
/var/log/apache2/*access.log

Die Ports 7080 und 7081 sollen hier übrigens den evtl. auch installierten nginx Proxy mit einbeziehen.

So sieht das Anlegen in Plesk aus:
wordpress-xmlrpc-plesk

Im folgenden Verlauf füllt sich die Liste der gesperrten IP-Adressen schnell mit den Angreifern, die je nach Konfiguration Tage bis Wochen direkt an der Netzwerkverbindung abgewiesen werden.

Zusätzlich gibt es noch das Jail recidive, das wiederkehrende Angreifer erkennt und sehr lange ausschliesst.

Abgelegt unter Internet & E-Mail | Keine Kommentare »

Probleme mit SD Karten nach Update von Sony Xperia Z5 Geräten auf Android 6.0 Marshmallow

Erstellt von solip am 17. März 2016

Jetzt im März 2016 werden die Updates auf Android 6.0 Marshmallow für u.a. die Geräte aus der Z5 Reihe von Sony verteilt.

Für die Nutzer von SD Karten ergibt sich eine wichtige Änderung. Diese lässt sich nicht mehr als interner Speicher anhängen, sondern nur noch als normale, portable SD Karte. Der Hintergrund ist die mangelnde Performance und bei manchen Karten auch die Zuverlässigkeit im Vergleich mit dem internen Speicher, was bei manchen Benutzern zu Problemen führte und spürbaren Support-Aufwand machte. Andere Hersteller haben dies mit Android 6.0 auch so umgesetzt.

Echte Probleme gibt es aber nun, wenn die SD Karte verschlüsselt war/ist und/oder mal Apps darauf installiert wurden. Nach dem Update kann man sich in einem endlosen Boot-Vorgang (Bootloop) des Gerätes wiederfinden. Entfernt man die SD Karte, so startet das Gerät normal.

Abhilfe schafft das einsetzen der Karte im laufenden Betrieb, sichern der Inhalte, deaktivieren der Verschlüsselung der SD Karte und anschließendes neu formatieren – gefolgt von einem Neustart. Verläuft dieser problemlos, so kann die Karte wieder verschlüsselt und anschließend benutzt werden.

Abgelegt unter Android | Keine Kommentare »

Microsoft Outlook und TLSv1.0, TLSv1.1, TLSv1.2 sowie SSL für SMTP/POP3/IMAP

Erstellt von solip am 16. März 2016

Microsoft Outlook weicht bei den Einstellungen für verschlüsselte Verbindungen etwas von den Standards ab in der Terminologie, was zu Schwierigkeiten in der Konfiguration führen kann.

In der Realität sieht es so aus:

– SSL: verwende direkt Verschlüsselung nach Standard SSL v1.0, SSL v2.0 oder SSL v3.0
– TLS: verwende direkt Verschlüsselung nach Standard TLSv1.0 (ein neuer Name von SSL v3.0), TLSv1.1 oder TLSv1.2
– STARTTLS: wechsle von initial unverschlüsselter Verbindung zu Verschlüsselung und benutze dann TLS
– Keine: keine Verschlüsselung benutzen

Bei Microsoft Outlook (angesehen bis 2013) sieht es wie folgt aus:

– Automatisch: verwende STARTTLS
– SSL: verwende direkt SSL v3.0, TLS v1.0, TLS v1.1, TLS v1.2 (das bestmögliche Protokoll wird genommen)
– TLS: verwende STARTTLS
– Keine: keine Verschlüsselung benutzen

In der Praxis heißt das nun:

– Automatisch: funktioniert nur auf Ports, die per STARTTLS umschalten. Also Verschlüsselung optional auf Port 25 o.ä.
– SSL: dies ist die korrekte Einstellung für direkte Verschlüsselung auf dem üblichen Port 465 nach dem höchstmöglichen TLS-Standard, auch wenn der Name hierfür völlig falsch ist.
– TLS: funktioniert auch nur auf Ports, die per STARTTLS umschalten. Auf direkt verschlüsselnden Ports kommt es hier zum Fehler.
– Keine: funktioniert immer, sofern keine Verschlüsselung erforderlich ist, wenngleich man diese Einstellung überhaupt nicht mehr benutzen sollte.

Ergo: benutzen Sie die Einstellung SSL, damit haben Sie den aktuellsten Verschlüsselungs-Standard bei Outlook aktiviert.

Abgelegt unter Microsoft Office | Keine Kommentare »

Zugriff auf MySQL als Admin mit phpMyAdmin und Plesk

Erstellt von solip am 16. März 2016

Seit Version 10.2 verschlüsselt Plesk das Admin-Kennwort mit AES128. Es ist gespeichert unter /etc/psa/.psa.shadow
Nach einem Upgrade ist es evtl. noch unverschlüsselt, aber Neuinstallationen sind stets verschlüsselt.

Dieses Feature lässt sich umschalten mit den Befehlen:

Verschlüsseln: /usr/local/psa/bin/init_conf ‐u ‐passwd PASSWORD ‐encrypted‐password
Entschlüsseln: /usr/local/psa/bin/init_conf ‐u ‐passwd PASSWORD ‐plain‐password

Nach einem Upgrade sollte die Installation auf Verschlüsselung umgestellt werden.

Wichtig wird diese Sache, wenn Tools mit dem Admin-Account, der auch Zugriff auf alle Datenbanken bietet, auf MySQL zugreifen sollen.
Das gilt auch für eine gewünschte, serverweite Installation von z.B. phpMyAdmin.

Im Falle von Verschlüsselung ist das Kennwort für diese Tools nicht mehr das Admin-Kennwort, sondern der Hash, der in /etc/psa/.psa.shadow gespeichert ist.

Als Alternative zur Verwendung dieser langen Zeichenkette bleibt jedoch die Möglichkeit weitere Accounts anzulegen, die Zugriff auf mehrere oder alle Datenbanken haben.

Abgelegt unter Plesk | Keine Kommentare »