Hardenedbsd

Ich migriere momentan meine Server von Debian, Ubuntu, Fedora und co. auf Hardenedbsd.
Wo Hardenedbsd nicht verwendet werden kann (z.B. wenn es auf lib32 compatibility ankommt, beispielsweise i386-wine) nutze ich das klassische FreeBSD.
Ein einfaches „pkg install htop nano screen“ installiert eine Prozessübersicht, den nano editor, screen, die Abhängigkeiten und den pkg installer selbst.

Das Projekt ergänzt die standard „hardening“ Settings von FreeBSD um ASLR, PIE, SEGVGUARD, mprotect Verbesserungen, sysctl hardening, network stack hardening, file integrity enforcement, boot hardening, procfs hardening, libressl an Stelle von OpenSSL(wegen Heartbleed gemeidet), TPE, SafeStack, CFI.

Also einiges um Memory Leaks, Overflows, erraten von Prozessen sowie generelle Sicherheitsprobleme zu verhindern.

Ein Feature Vergleich ist hier zu finden.

Zwei gängige Festplattensysteme stehen zur Auswahl, UFS oder ZFS.

UFS ist sehr alt und stabil, wird natürlich weiterentwickelt. Es beherrscht die Basics.
ZFS ist neu und hat eine Masse an Features. Dabei geht einiges an RAM drauf.

Zur Geschwindigkeit habe ich noch nichts Eindeutiges feststellen können, daher habe ich mich für UFS entschieden.
Zudem gefällt mir dieses Oracle Solaris ZFS Rechtedebakel nicht sonderlich.

Bisher gefällt mir hBSD aber sehr.
Das einzige Manko, wie oben geschrieben, ist der fehlende 32bit Support.
Versucht man z.B. i386-wine zu nutzen kommt nur ein „exec: /usr/local/bin/../bin32/wine: Exec format error“.
Es hat auch was Positives, da man den Extraballast nicht hat.

FreeBSD und die Derivate wie HardenedBSD nutzen einen tickless (mit 1000HZ eingestellt) kernel, das heißt, das bei den meisten sehr interaktiven Prozessen, wie z.B. Gameserver mit gut 30% Lasterhöhung gerechnet werden kann (im vergleich zu Debian, welcher mit 250HZ tick kernel läuft), gleichzeitig erhöht sich beim Gameserver die „Qualität“. Sogenannte EPS Server schwören auf tickless als bestes Spielerlebnis.

Gefühlt läuft BSD runder als Linux. Sachen lassen sich schneller entpacken, die Webserver Antwortzeit ist in der Tat etwa 40% schneller.
Zukünftig lasse ich alle Server unter HardenedBSD laufen(mit Ausnahme von plex und zimbra, da diese Programme einfach für CentOS konzipiert sind), sicherheitstechnisch einfach ausgeklügelter und dazu noch schneller.

Ein weiterer Vorteil ist mein direkterer Draht zu den Entwicklern. Und wie es sich für Partner gehört, habe ich noch einen Spiegelserver unter http://hardenedbsd.de eingerichtet. DE Domains sind cheap, also warum nicht?

Eigentlich bin ich mittlerweile ein Fan der „Never touch a running system“-Philosophie, aber die Vorteile überwiegen diese meiner Meinung nach.

Natürlich wird jedes zu migrierende Projekt erst auf 100%ige HardenedBSD Tauglichkeit gecheckt um unnötige Downtimes zu vermeiden.

Bisher auf HardenedBSD migriert: chrony-ntp, teamspeak, radiorivendell relay sowie den Haupt-Mariadbserver
Bisher auf FreeBSD migriert: gameserver
Bleibende Systeme: Zimbra Mailserver(CentOS), Plex Mediaserver(CentOS)

Unitymedia und die IPv4 Problemchen

Heute morgen werde ich aus dem Bett geklingelt.

„WTF MAILSERVER GEHT NICHT MEHR! Hast du gestern Updates gemacht die den zerhauen haben?“

Ich guck nach, jop, webmail unerreichbar, denk mir gut, updates haste ja keine gemacht die jetzt backfiren könnten.

Websiten über Cloudflare erreichbar, IPv4 sowie IPv6, OKAY, immerhin!

SSH zu keinem Server möglich (IPv4), scheiße.

Minuten später bekomme ich einen Tweet zugesandt das jemand nicht ins Intranet verbinden kann, UM sei dank.

Okay dann bin ich also aus dem Schneider.
Das ist zudem nicht zum ersten mal passiert, das bestimmte Seiten nicht aufrufbar sind, mal das eine, mal das andere Subnetz, jetzt beide.
Und siehe da, mit VPN klappt alles.

Aber hey, mittlerweile werden nationale Verbindungen nicht mehr über Amerika (deutscher Traffic etwa teurer als Amerikanischer?) abgewickelt wie es früher mal der Fall war(Streaming war nahezu unmöglich >480p). Das Liberty Global Corporate responsibility team hatte auf meine sachliche Anfrage damals noch nicht einmal geantwortet.

Ich genieße meine 400MBit/s zudem NICHT, weil UM mir eine Fritzbox geschickt hat die mal einfach knallhart mit meinen Netgear Routern inkompatibel ist und ich auf green mode (aka 100MBit/s Mode) wechseln musste, damit ich nicht 20% Paket Loss genießen darf.

Thanks Unitymedia & Liberty Global,
said no one ever.

Edit: nach 3h wurde der Fehler behoben.

noez.de virtual private server Erfahrungsbericht

Ich schreibe hier über meine Erfahrungen mit noez.de.

Noez.de bietet Linux vServer / VPS mit HDDs und SSDs, Windows vServer mit HDDs, dedizierte Server mit teilweiser end of life Hardware, Webspace, Domains mit etwa 50% erhöhten Kosten (.eu Domain im Vergleich zu freenom, noez.de handelt als INWX.de Reseller hätte mich auch über Domainlizenzen gewundert) sowie Gameserver und Teamspeak 3 Voiceserver.

Ich fände es interessant zu sehen, wie oft die Gameserver und Teamspeak Server wohl  lagspikes genießen, in Anbetracht meiner Erfahrungen meine ich doch einige.

Nun man kann darüber philosophieren, wieviel Qualität man von einem Server Discounter erwartet. Ich persönlich erwarte ein Mindestmaß an Brauchbarkeit. Auch wenn der vServer nur 65 Cent in Monat kostet. Das heißt nicht, den Server so extrem mit Nodes zu überlasten, das jede meiner SSH Befehle 3 Sekunden Ausführungszeit benötigt und ich an manchen vServern eine stolze Anbindung von 50KB/s habe. Zudem werden willkürlich vServer restartet wenn sie mal für kurze Zeit überdurchschnittlich viel Leistung nutzen oder auch mal einfach so, das kann man mir mehrfach bezeugen.

Nun der größte Knüller ist, haltet euch Fest, ich habe für Gameserver einen 4,5(sonst 9)€ vServer Large angemietet. Denke mir das es durchaus fair ist bei einem 6 Kern vServer 1-2 Gameserver laufen zu lassen die im Schnitt täglich 3h 100% auf zwei Kerne fahren. Eines Tages bekomme ich eine Mitteilung: „Hey der Gameserver ist off.“. Ich denke mir okay, einmal über SSH rein, screen und Gameserver starten und gut, der vServer wird ja nach Gutdünken von noez restartet. PUSTEKUCHEN DER SERVER IST UNERREICHBAR. Ich schaue als im NAS(controlpanel von noez.de) SolusVM nach und siehe da: This virtual server has been suspended by the administrator. Please contact support.

Nice. Nun schreibe ich den Support an. Den Support Mitarbeiter zensiere ich mal.

Antwort vom 2017-04-13 19:25:06 (Alexander Stiehl)
Wieso ist der Server 5.230.147.125 off? 3 Minuten zu lange 100% cpu auf einem kern gezogen?

Antwort vom 2017-04-13 19:57:25 (Alexander F.)
Hallo,

ich kann dir anbieten, den Server neu zu erstellen. Dies wäre mit einem Verlust deiner IP-Adresse und aller Daten auf dem Server verbunden. Bitte nenne mir zur Bestätigung die Produkt ID und aktuelle IPv4 Adresse.

Mit freundlichen Grüßen / Kind regards
Alexander F.

(Kurzer Einschub von mir, das Template oben wird quasi bei jedem vServer Problem als erstes gesendet)

Antwort vom 2017-04-13 20:30:20 (Alexander Stiehl)
Sind die Daten verloren gegangen? Anschalten ist keine Option?

Antwort vom 2017-04-13 21:00:02 (Alexander F.)
Hallo,

das behebt das Problem.

Mit freundlichen Grüßen / Kind regards
Alexander F.

Antwort vom 2017-04-13 21:25:36 (Alexander Stiehl)
Ich möchte keine Daten verlieren?

Antwort vom 2017-04-13 23:08:54 (Alexander F.)
Hallo,

das ist die einzige Möglichkeit.

Mit freundlichen Grüßen / Kind regards
Alexander F.

Geiler Scheiß, oder?

Kurz vorher habe ich spam Mitteilungen bekommen, das viele meiner vServer ausgelaufen seien und ich unzureichendes Guthaben hätte (zu dem Zeitpunkt hatten die vServer noch 25 Tage Laufzeit). Wenn es einem Bug zu verdanken ist das meine Daten weg sind, hätte ich zumindest mal eine Begründung. Die sucht man bei noez aber vergeblich.

Dann habe ich mir mal die AGBs durchgelesen. Fair use hier und da. Androhung von Drosselung falls man die Shared-Services missbraucht. Noez.de mietet die Server von sonstwo an und kann deshalb die Erreichbarkeit nicht garantieren oder für Verdienstausfall haftbar gemacht werden.

Für Backups der Server/WebSpace/Teamspeak/Gameserver ist alleine der Kunde verantwortlich.

Nun denn Paragraf 3 im Absatz 7 Haftung ist für mich am interessantesten, da es meiner Meinung nach ein wenig Arglist benötigt um wortlos meine Daten zu löschen und den bezahlten vServer offline zu halten.

(3) Der Anbieter haftet dem Kunden gegenüber nach den gesetzlichen Bestimmungen für Schäden aus der Verletzung des Lebens, des Körpers oder der Gesundheit, die auf einer vorsätzlichen oder fahrlässigen Pflichtverletzung des Anbieters beruhen sowie für sonstige Schäden, die auf einer vorsätzlichen oder grob fahrlässigen Pflichtverletzung sowie Arglist beruhen.

Das war es von meiner Seite. Ich denke man konnte sich so gut einen Einblick in die noez.de Praktiken machen!

Ich lade Noez.de dazu ein, im Kommentarbereich ein Statement abzugeben.

Weitere Korrespondenzen:

Per Twitter wurde mir nun folgendes geschrieben:

Klingt nach falscher Konfiguration des Gameservers, die als Angriff erkannt wurde. Bitte melde dich bei [email protected] 🙂

Eine kurze Mail von mir:

Wie auf Twitter angefragt schreibe ich euch hier nochmal.

5.230.147.125 ist off und kann nicht mehr wiederhergestellt werden?

Support Pin ******

Grüße

Zweiter Tweet von Noez

Gelöscht haben wir aber sicher nichts. Suspendiert bedeutet nur gesperrt. Deine Daten sind also in Sicherheit.

Daraufhin mein Antworttweet, da man mir als Option wirklich nur ein reinstall vorgelegt hatte

dann Frage ich mich allerdings, wieso man mich quasi dazu nötigen möchte, doch bitte eine Neuinstallation anzufragen?

Antwort von Noez
Da wir in einer überwältigenden Zahl der Fälle die Erfahrung gemacht haben, dass die Kunden eben keine Bereinigung durchführen
und weiter
Wenn das missverständlich formuliert ist, tut uns das natürlich leid!

Antwort von mir

Hm, „das ist die einzige Möglichkeit.“ ist nicht missverständlich und wie ich finde ist es nicht die optimale Lösung, nur löschen zu lassen.

Anschließend die vorerst letzte antwort von Noez

Bitte schicke mir privat die Ticket-Nummer, ich werde das ganze dann an die Geschäftsführung weitergeben
Die setzen sich dann mit dem entsprechenden Mitarbeiter auseinander

Als Privatnachricht habe ich dann die Ticketnummer überbracht, man hat sich bedankt und um Geduld gebeten (Ostern, verständlich).
Dann habe ich noch gefragt ob man mir den vServer mit den zwei Mount & Blade Gameservern wieder freischalten könnte.
Plötzlich war der vServer freigeschaltet und ich bekam folgendes Ticket!

Antwort vom 2017-04-14 14:14:27 (Alexander F.)
Hallo,

der Server wurde nun entsperrt. Ich habe bei der letzten Entsperrung nicht gesehen, dass 100% der Bandbreite benutzt wurden. Deshalb wurde der Server direkt wieder gesperrt.

Wenn du mir die Produktnummer zu dem Server nennst, kann ich dir eine 3 Tage Gutschrift geben als Entschädigung für meinen Fehler.

Mit freundlichen Grüßen / Kind regards
Alexander F.

Antwort vom 2017-04-14 14:25:27 (Alexander Stiehl)
Hallo,

ich habe höchstens 1% Bandbreite benutzt da ich dort nichts anderes mache, als zwei Gameserver zu hosten, daher verstehe ich die antwort nicht so recht,

wie dem auch sei, Fehler eingestanden, Problem beseitigt und für die drei Tage auf den vServer 37583 bedanke ich mich.

Angenehme Ostertage noch!

Antwort vom 2017-04-14 14:59:12 (Alexander F.)
Hallo,

ich habe deinem Produkt soeben eine Gutschrift über 3 Tage hinzugefügt. Ich hoffe, ich konnte die entstandenen Unannehmlichkeiten somit zufriedenstellend entschädigen. Die Gutschrift ist innerhalb der nächsten Minuten aktiv. Ich wünsche dir weiterhin viel Vergnügen mit deinem Produkt!

Wenn ich deine Frage zufriedenstellend beantworten konnte, würden wir uns über eine Bewertung von dir auf https://de.trustpilot.com/review/noez.de freuen.

Ich wünsche ein schönes Osterfest!

Mit freundlichen Grüßen / Kind regards
Alexander F.

Fazit: Man muss nur energisch genug reagieren, um manch ein Problem zu lösen.
Für den Preis ist die Leistung bei manchen vServern die nicht kaputtgedrosselt sind und alle zwei Tage restartet werden zugegebenermaßen doch akzeptabel.

Dennoch werde ich jetzt überall Backup scripts einsetzen, auch wenn die Daten auf noez eher unkritisch sind.

Edit: Siehe da, ein weiterer vServer wurde suspended. Was treib ich denn Wildes das es verdächtig aussieht? Ich nehme an es hängt mit periodischen CPU Spikes zusammen.

Und ich scheine richtig zu liegen, nach kurzer Erklärung was ich auf dem vServer treibe, wurde dieser freigeschaltet.

Edit 2: Der vServer Large war halt einfach wieder einen knappen Tag offline, ist wohl ein Node von denen abgeschmiert.

Edit 3: Der vServer Large ist mal wieder permanent off, Backend Probleme noch und nöcher, Serial Console unerreichbar. Aber Hauptsache erstmal meine Rüge mit „Ist wohl ein DDoS“ abwatschen, während einem im Hintergrund die Nodes in Flammen aufgehen. Aber ich habe dazugelernt und zwischen den Offzeiten meine Daten gerettet (ja da musste man wirklich gut Timen, auf den Server zu kommen).

Edit 4: Zuletzt hat man mir den obligatorischen „Wir wipen deine Kiste und ziehen diese auf eine *bessere* Node“ Satz angeboten, was ich akzeptiert habe. Bin kein Fan der Hau Drauf Methode, aber wenn die Herrschaften keine Lust haben den Fehler im Backend zu suchen, mir Wurst. Man darf gespannt sein. Entschädigung für die zwei Wochen Unbrauchbarkeit? Nope.

bot.vekko.de

Auf https://bot.vekko.de biete ich meinen Python DiscordBot an. Er kann noch nicht viel, begrüßt aber schon mal Joinende. Weitere Befehle sind über die Nachricht @Vekko help ersichtlich.

Ziel ist es, mittels MySQL eine serverabhängige Konfiguration des Bots vorzunehmen.
Der nächste Schritt wäre dann, den Bot per Panel einzurichten.

Pad.pm

Unter https://pad.pm stelle ich ein Etherpad zur verfügung. Es ist nur über https erreichbar und ist ansonsten mit Standardsettings betrieben. Nun bis auf die eingesetzte MySQL DB. DirtyDB ist untauglich.

Es gibt einen merkwürdigen bug das hin und wieder die Schrift auf der Startseite fehlt. In dem Fall fixt ein F5 das problem, keine Ahnung wieso das passiert.

Also wenn ihr ein sicheres online Notepad mit deutschem Datenschutz braucht seid ihr bei pad.pm genau richtig.

Discord Bot

Ich habe gefallen an Discord gefunden und mich mal an Bots gewagt.

Genauer gesagt habe ich den discordpy Python bot und den JDA java bot.

Zuerst einmal in der Developer Ecke von Discord einen Bot account einrichten. Anders ist es nicht mehr erlaubt Bots zu nutzen.

Anschließend per oauth auf meinen Discord server eingeladen und da war der Bot im Server als offline anzutreffen.

Nun gilt es den Bot Token in einen Discord wrapper meiner Wahl einzupflegen, diesen zu starten und zack war der Bot, mit (BOT) hinterm Namen markiert, online.

Jetzt fängt der Spaß an.
Json parsen, APIs bedienen, auf Befehle reagieren, Rechte Verteilen, Nachrichten löschen, bei Join begrüßen und und und.

Bei Python lädt man sich easy per pip fehlende Module rein.

Letztens wurde mir empfohlen doch mal Java zu probieren. Dies tat ich zusammen mit einem fortgeschrittenen User. Alles was ich bei JDA hinbekommen habe war eine libopus.so zu kompilieren :^). Und wenn man das IDE mal gerallt hat scheitert es z.B. daran das Java EE andere Module implementiert hat als Java SE. Somit ist es mir ohne viel Aufwand unmöglich den Bot zu compilen.

Und damn kommt noch das leidige Thema RAM. Wo Java kein ende kennt. Anfangs 160 MB, so ist es nach 3 Tagen schon auf 300+ MB gestiegen. Da gewinnt Python das Rennen auf jeden Fall mit den starren 34 MB usage.

Jedoch in Punkto Geschwindigkeit liegt Java deutlich vorne. Einige Operationen werden gleich flott bearbeitet. Aber wenn es ins deepe rechnen geht hat java die nase vorn.

Ich bevorzuge dennoch Python. Denn es ist ohne IDE und kompilierung sofort einsatzfähig und es frisst nicht unendlich mehr RAM. Die Fehlermeldungen erlauben auch ein präzises fixen jener Fehler.

PHP7

Nun. Ende 2018 ist der Security Support für PHP5 hinfällig. Ab dann werden Lücken nicht mehr von offizieller Seite geschlossen.

Angesichts der Tatsache das viele Onlineshops und Foren, sowie manch ein Browsergame von in php7 entfernte Funktionen regelrecht abhängig sind eine sehr mutige Zeitspanne wie ich finde.

Bin mal gespannt wieviel Prozent der von mir gehosteten, komplexeren Websites dann noch funktionieren.

Denn ich werde keine Minute eine unsupported oldstable Version nutzen!

In Fedora muss ich jetzt schon auf 3rd Party repos zugreifen, damit ich php5 nutzen kann.

Mal schauen vllt gibt es einen php7 validator wo ich ein paar snippets durchjagen kann um fixes zu finden.

Cloudbleed Nachwort

Wovon ich von Anfang an überzeugt war, hat sich als Korrekt erwiesen.

Minimalste Leaks von seltenst verwertbare Informationen. Ich bin in der Kategorie <1 Leak. Ich nutze cloudflare weiterhin. Server in Frankfurt, CF pop in Frankfurt, verbesserte Bilderauslieferung mit automatischer Optimierung, ne WAF. Ich finde es toll.

OP Cluster

Ich werde mich erneut ans Clustern wagen.

Diesmal mit Dreiecks drbd raid1 und einer mariadb master/slave/slave maxscale Einstellung. Neu dazu gekommen ist dovecot bei dem ich ebenfalls erste Clusterversuche anstrebe versuche.

So ist es höchst unwahrscheinlich das es zu einem Split Brain Symptom bei dem alle Systeme denken sie waren der Master und es so zur Daten Inkonsistenz kommt.

Zuerst probiere ich es mit dem Blog hier, anschließend wird es bei Erfolg mit den restlichen Websites gleichgetan.

Sollte der cluster zufriedenstellend funktionieren und bei dem Ausfall/unerreichbarkeit des Masters ein slave in den Master umschalten, so spare ich mir vermutlich zukünftig cloudflare.

Cloudbleed

Ich habe gerade von Cloudbleed erfahren und bin zu dem Entschluss gekommen das es zu einem größeren Problem gemacht wird, als es das wirklich ist.

Aus diversen Quellen habe ich folgendes rausfiltern können:

– 0.00003% Leakchance
– Es hat nur drei Module betroffen und nicht das gesamte Cloudflare Netz wie manche es so aussehen lassen: email obfuscation, Server-side Excludes and Automatic HTTPS Rewrites, hatte ich z.B. nirgendwo genutzt
– Datenlecks konnten nicht gezielt provoziert/gefunden werden und nur durch viel Pech geindexed werden.

Mich hat es nicht betroffen.
Alles cool.

Auf cloudbleed.space kann man baldig eine kurze Checklist durchgehen ob man eventuell betroffen ist, oder nicht.
Diverse andere Seiten gehen ja grundsätzlich davon aus, das Daten verloren gingen, wenn man CF genutzt hat, was falsch ist.