HA Loadbalancer mit keepalived und HAProxy

In einer high-availability Umgebung (HA) sind nicht nur die loadbalncer redundant, sondern auch die dahinter liegenden Backend-Server.

Das Szenario ist, dass es zwei Loadbalancer (lb01 und lb02) gibt. Diese haben je eine eigene IP-Adresse und „teilen“ sich eine dritte virtuelle IP-Adresse (VIP), welche in einem failover-Fall mittels keepalived von einem System auf das andere System transferiert wird.

Im backend gibt es zwei gleiche Webserver (web01 und web02). HAProxy verteilt die requests auf einen der beiden Webserver, sofern beide verfügbar sind.

Es kann also sowohl einer der Loadbalancer, wie auch einer der Webserver ausfallen.

Continue reading HA Loadbalancer mit keepalived und HAProxy

Ausgehende Mails von Webseiten/PHP limitieren

Bei einem Hosting-Webserver besteht ein grosses Problem wenn eine Webseite, beispielsweise ein CMS wie Drupal, Joomla, usw. „gehackt“ wird: Durch Sicherheitslücken gelingt es den hackern einen PHP-Mailclient auf der Wesbeite zu installieren und Zehntausende Spam-Mails über den Mailserver auf dem Webserver zu verschicken.
Auch Web-Benutzer. welche ein CRM-CMS installieren und über die Marketting Funktion „Newsletter“ Mails zu tausenden sendet sind eine Gefahr.
Denn verschickt ein Server zu viele „Spam-Mails“ wird dieser schnell auf diverse blacklists kommen. Und das will man nicht.

Continue reading Ausgehende Mails von Webseiten/PHP limitieren

ansible: Service vor Änderung stoppen

Vor einer Änderung muss teilweise ein Dienst gestoppt sein, beispielsweise wenn man Eigenschaften eines Benutzers ändern, wenn unter diesem ein Dienst läuft.
Natürlich kann man im ansible task vor der der Änderung den Dienst stoppen und nachher starten, nur wäre das nicht mehr „idempotent“, da der Dienst dann auch gestoppt/gestartet würde wenn gar keine Änderung nötig ist.

Um dieses Problem zu Umgehen kann man mit dem check_mode vorher testen ob eine Änderung überhaupt nötig ist.
Continue reading ansible: Service vor Änderung stoppen