Heiko Zimmermann
SAP-Berater, System Engineer und Entwickler.

Weblog

6 March 2019, 00:04

Heute habe ich meine Server mit QualysGuard VM gescannt. Bei OpenSMTPD ist TLSv1 in der Standardeinstellung möglich, was beim Scan angemahnt wird.

In /etc/mail/smtpd.conf brachte folgende Option gute Ergebnisse:

smtp ciphers "HIGH:!aNULL:!TLSv1:!MD5:!RC4:!GOST89MAC:@STRENGTH"

TLSv1 wurde deaktiviert. MD5 und RC4 habe ich explizit nochmal deaktiviert, um sicher zu gehen. GOST wurde diese Tage kritisch hinterfragt, deshalb habe ich es vorsorglich deaktiviert. @STRENGTH schlägt die sichersten Cipher in absteigender Reihenfolge vor.

23 February 2019, 11:38

Ich habe bei edis.at seit 2013 einen kleinen Raspberry Pi Model B Rev 2 als VPN-Server.

Bisher läuft OpenVPN darauf. Allerdings, durch die schwache Hardware, wenig performant. Da liegt es nahe, dass ich mir WireGuard als Alternative ansehe. Da WireGuard als Linux-Kernelmodul läuft gibt es unter Linux einen Performance-Schub. Das gilt entsprechend nicht für wireguard-go Implementierungen. Diese soll man unter Linux auch dringen vermeiden.

Ich habe einmal für meine Geräte etwas verglichen. Mein MacOS zu OpenBSD (beide wireguard-go) ist mit WireGuard langsamer, als mit OpenVPN (AES-NI mit nur AES-128-CBC). Mein Pine64 mit Ambian (Kernelmodul) zu OpenBSD (wireguard-go) ist schneller mit WireGuard, als mit OpenVPN. Mein iOS (APP, kein Kernelmodul) zu OpenBSD (wireguard-go) ist mit OpenVPN (AES-NI) schneller, als mit WireGuard. Dafür gewinnt WireGuard beim Verbindungsaufbau um Längen und kann problemlos VPN-On-Demand. Es lohnt sich selbst zu testen.

Der übliche Weg am Raspberry Pi ist: "deb http://deb.debian.org/debian/ unstable main" einzubinden und WireGuard normal zu installieren.

Leider macht mir da Debian einen Strich durch die Rechnung. Denn bei wg bekomme ich "segmentation fault". Die Ursache ist, dass mein kleiner Pi nur eine "ARMv6"-CPU besitzt und Debian Binär-Pakete für "ARMv7a" liefert.

Zur Lösung kompiliere ich WireGuard aus der Source selbst:

sudo apt install libmnl-dev build-essential git raspberrypi-kernel-headers qrencode
git clone https://git.zx2c4.com/WireGuard
cd WireGuard/src
make
sudo make install
sudo modinfo wireguard
sudo modprobe wireguard

Danach konnte ich WireGuard wie gewohnt benutzen

Nun zum Ergebnis. Mit OpenVPN vom Pine64 (Armbian) zum Raspberry Pi Model B Rev 2 (Raspbian) erreichte ich im Durchschnitt 8500 kbit/s. Mit WireGurad erreichte ich im Durchschnitt 21000 kbit/s. Ich bin beeindruckt.

Abschließend sei noch ausdrücklich erwähnt, dass WireGuard zwar vielversprechend ist, sich dennoch in der Entwicklung befindet und experimentell ist. Hierzu einige Überlegungen vom VPN-Anbieter Perfect-Privacy.

PS: qrencode ist nicht nowendig, nur angenehmer, um die Konfiguration in der iPhone-App einzulesen:
qrencode -t ansiutf8 < mobile.conf

Im Hiawatha Webserver <= 10.8.3 befindet sich eine Sicherheitslücke, die umgehend mit der Version 10.8.4 geschlossen wurde.

Die Lücke wurde nur aktiv, wenn man die Standardoption für "AllowDotFiles" manuell auf "yes" geändert hat. Default ist "no".

Bitte dringend auf die aktuelle Version updaten.

Vielen Dank an Paul Bernal und das Audit-Team, die viel Zeit und Arbeit investiert haben. Und vielen Dank an den Entwickler Hugo Leisink, dass trotz intensiven Suchens nur eine einzige Lücke in Hiawatha gefunden wurde. Hiawatha ist und bleibt mein Lieblings-Webserver.

Ich wollte aus beruflichen Gründen meine Excel-Kenntnisse wieder etwas auffrischen und vertiefen. Deshalb habe ich bei udemy für 9,99 Euro den Kurs Excel Kurs Formeln & Funktionen & Pivot-Tabellen Masterclass gebucht.

Meiner Meinung nach hat das Daniel Kogan wirklich sehr gut gemacht. Er hat viele sehr gute Tipps gegeben, wie man etwas macht und Zeit spart. Ich kann den Kurs jeden empfehlen, der Excel beruflich braucht und noch kein Profi ist. Und wie immer bei udemy gilt, Schnäppchenpreise abwarten. :-)

Ich wollte auf OpenBSD das Modul "Photos" des Banshee PHP Framworks nutzen. Leider erhielt ich den Fehler: Grafik kann nicht angezeigt werden, weil sie Fehler enthält. Beim Suchen des Fehlers bin ich auf auf einen Beitrag auf stackoverflow.com gestossen.

Der Hinweis betreffend readfile und mehreren output buffers brachte mich zu folgender Lösung (controllers/photo.php):

--- photo.php   Wed Feb 28 18:27:41 2018
+++ photo.php   Mon May 21 19:57:17 2018
@@ -103,7 +103,10 @@
                        $this->view->disable();
 
                        header("Content-Type: ".$this->extensions[$extension]);
-                       readfile(PHOTO_PATH."/".$photo);
+                       while (ob_get_level()) {
+                          ob_end_clean();
+                       }
+                       readfile(PHOTO_PATH."/".$photo);
 
                        return true;
                }

Das Problem konnte ich nicht unter Linux nicht nachstellen, lediglich unter OpenBSD.