Docker mit NGINX-Proxymanager, UFW, Fail2Ban, MariaDB und Nextcloud — Teil 1

Willkommen zum ersten Teil meiner Docker-Serie. Ich versuche in diesem mehrteiligen Tutorial darzustellen, wie man Docker auf einem VServer verwenden kann. Wenn ihr so etwas vor habt, müsst ihr euch dessen bewusst sein, dass dieser Server 24/7 im Internet steht. Der Server muss also laufend aktualisiert und auch überwacht werden. Dies gilt für den Host selbst, aber natürlich auch für die Dockercontainer! Wo immer möglich, solltet ihr Zugriffe einschränken, auf IPtables (ufw) zurückgreifen und ein Monitoring und Update-tool installieren.

 💡 WICHTIG: Das hier ist KEINE Docker-Rootless-Installation! D.h. die Prozesse innerhalb der Dockercontainer laufen mit dem User root. Selbst wenn man Container mit einem Standarduser ausrollt, heißt es nicht, dass somit alle anderen Prozesse (der Container) „rootless“ laufen.

Ich habe den Zugriff auf die Dienste, die vom Internet aus zugreifbar sind, auf meine 2 statischen öffentlichen IPs eingeschränkt. Sofern ihr aus Sicherheitsgründen Docker ohne Root verwenden wollt, gibt es hier eine ganz gute Anleitung (allerdings auf englischer Sprache). Ich werde mich dem Thema später zuwenden, jedoch nicht innerhalb dieser Artikelserie.

Zielsetzung

  • Auf einem Server, der im Internet steht, oder aus dem Internet erreichbar ist, wird -basierend auf Ubuntu Server – Docker installiert.
  • Es ist bereits ein Full-Qualified-Domain-Name (eine Domain) registriert, die auf den Dockerhost zeigt. In meinem Fall ist das portainer.it-networker.at
  • Als Verwaltungstool kommt Portainer zum Einsatz.
  • Zum Schutz von Host und Client wird UFW eingesetzt.
  • Nachdem die gesamte Netzwerkkonnektivität von Docker via iptables gesteuert wird, wird UFW adapiert, damit die – mittels UFW- gesetzten Regeln greifen.
    ACHTUNG: Eine nicht-adaptierte Konfiguration von UFW hat zur Folge, dass -sofern man Containerports „exposed“ = nach außen öffnet- jeder von überall aus  darauf Zugriff hat! (Mehr dazu unten in der Anleitung)
  • Es wird NGINX-Proxy-Manager installiert, der die Verbindungen von außen zu den angebotenen Webseiten / Services „verwaltet“.
  • Über den NGINX-Proxy-Manager werden via Letsencrypt SSL Zertifikate zur Verfügung gestellt.
  • Fail2Ban (im Dockercontainer) sorgt für die zusätzliche Absicherung von Host und Container.

Weiterlesen

Sectigo – abgelaufenes Zertifikat sorgt weltweit für Ärger

Es war jener Montagmorgen, der eigentlich ein Dienstag war. (nach einem Feiertag).

Gerade wurde der Arbeitsplatz-PC hochgefahren. Das Telefon klingelt. Man wird darüber informiert, dass einige wichtige Webseiten sich nicht mehr öffnen lassen. Offenbar gibt es einen SSL Zertifikatsfehler, weshalb das UTM-System (=vereinfacht Firewall) den Verbindungsaufbau kurzerhand unterbindet.

Der erste Gedanke der mir in diesem Moment durch den Kopf schießt ist: „Hab ich etwas an unserer Konfiguration verändert?“.

Nein, habe ich nicht…

Weiterlesen

Emotet Trojaner – wie kann man sich davor schützen?

Auch, wenn das Thema absolut nichts Neues mehr ist, möchte ich kurz auf die Thematik der immer wiederkehrenden Trojanerwellen zu sprechen kommen. Vielleicht hilft es ja ein wenig, die Sinne zu schärfen und einer Infektion entgegen zu wirken.

Emotet und diverse Cryptolocker sind nach wie vor sehr präsent in diversen Fachzeitschriften / im Internet und sorgen bei so manchem Administrator für Gänsehaut. Doch wie kann man sich die „boshaften Zeitgenossen“ eigentlich einfangen?

Infektionswege und Gegenmaßnahmen

Anhänge in Emails

Im Falle diverser Cryptolocker (Trojaner) und auch bei Emotet, wird meistens auf das altbekannte Medium „Email“ zurückgegriffen. Die Vorgangsweise ist also im Großen und Ganzen gleich geblieben, wie in früheren Jahren. Mit einem großen Unterschied: Die „bösartigen Mails“ sind heutzutage in perfektem Deutsch formuliert und sogar auf das Ziel / die Zielgruppe zugeschnitten.

So kann es gut sein, dass man ein Mail im Posteingang vorfindet, dessen Inhalt (ggf. der Anhang) einem gerade aktuellen Tätigkeitsfeld, einem laufenden Projekt, einer Stellenausschreibung etc. entspricht.

Der Empfänger soll sich sicher fühlen. Ganz nach dem Schema: Den Absender kenne ich, der Kontext ist bekannt, da kann nichts passieren. Das Mail / den Anhang kann ich ohne Bedenken öffnen!

Makros in Officedokumenten

Ein Makro, ist in Officedokumente eingebetteter Code, der im Hintergrund diverse Anweisungen ausführt. Eine normale Word- oder Exceldatei, die nur Text und Grafiken enthält, wird den Anwender NIE auffordern, die Makros zu aktivieren!

Man erhält ein Mail mit einem Officedokument, welches nach dem Öffnen darum ersucht, die Makros zu aktivieren. Die Aufforderung zum Öffnen kann z.B. so aussehen

ACHTUNG bei dieser Meldung! Bitte nicht auf Inhalt aktivieren klicken!

Das Ganze geht auch noch etwas aufgehübscht:

Tipp 1

Sofern keine Makros in MS Office verwendet werden, können die Makros auch komplett deaktiviert werden = Alle Makros ohne Benachrichtigung deaktivieren.

Die Makrosicherheitseinstellungen sind im Sicherheitscenter von Word/Excel/Powerpoint zu finden und müssen separat für jede einzelne Anwendung (Word, Excel…) konfiguriert werden!

Datei -> Optionen -> Sicherheitscenter (Trust Center) -> Einstellungen für das Sicherheitscenter -> Makroeinstellungen

Die Makrosicherheit von Office sollte zumindest so konfiguriert werden, dass vor dem Ausführen von Makros nachgefragt wird (=Standardeinstellung). Der genaue Wortlaut dieser Einstellungen lautet: Alle Makros mit Benachrichtigung deaktivieren. 

Es geht auch im ZIP und PDF Format

Abgesehen von oben erwähnten Officedokumenten, kann es natürlich auch vorkommen, dass man Dateien im ZIP Format erhält, die -in entpackter Form- ein Officedokument beinhalten. Auch PDF-Dateien, die wiederum einen Link enthalten sind möglich

Es müssen nicht immer Anhänge sein

Nicht immer ist ein Anhang der Wegbereiter einer Infektion!
Ab und zu werden auch Links in Emails eingebettet, die dann wiederum auf Seiten führen, die Dateien mit Schadcode enthalten können. Diese Mails sind mittlerweile in perfektem Deutsch formuliert und kommen von vermeintlich bekannten Absendern (in untenstehendem Fall, kam die Mail -auf den ersten Blick- von einem bekannten österreichischen Energielieferanten):

Tipp 2: Sicherheitsaktualisierungen zeitnah einspielen

Auch wenn vielen bekannt sein dürfte, dass es in letzter Zeit mit Microsoft so einige Updateprobleme gab, sollte man unbedingt sämtliche vorhandenen Sicherheitsaktualisierungen einspielen, sobald diese veröffentlicht worden sind.

Ich spreche hier nicht nur von MS-eigenen Aktualisierungen, sondern auch von diversen Updates für z.B. Java, Flash, PDF-Viewer etc.

Für Windowsnutzer heißt das vor allem: Den Windowsupdatedienst NICHT deaktivieren! Im Firmenumfeld einen WSUS-Server einsetzen!

Vielleicht denkt sich jetzt ein Leser/ eine Leserin: Was hilft mir ein Sicherheitsupdate, wenn ich mir den Schadcode per Email auf den Rechner hole?

Nun, im Hinblick auf „die Aktivierung des Trojaners“ im Netzwerk / auf dem PC, hilft das Einspielen von Sicherheitsupdates meist nicht. Aktiviert wird das Schadprogramm so gut wie immer durch den User. ABER: Sofern es dem Trojaner gelingt, Schadcode nachzuladen, versucht dieser dann bekannte Sicherheitslücken innerhalb von Programmen – vor allem innerhalb eines Netzwerkes – auszunutzen.

Beispiel: https://de.wikipedia.org/wiki/EternalBlue

Bei Vorhandensein eines gepatchten Systems, gelingt dies oft nicht.

Tipp 3: Virenschutz mit aktuellen Virendefinitionsdateien einsetzen

Unter Windows sollte unbedingt ein Virenschutz eingesetzt werden, der laufend aktualisiert wird. Auch wenn die Hersteller von Schutzsoftware meistens einen Schritt „hinten nach“ sind, gehört dies zum Grundschutz einer Windowsinstallation.

Tipp 4: Kontrolle und Beschränkung des ein-/ausgehenden Datenstroms / SSL inspection

Ein Teil dieses Tipps, ist eher im Firmenumfeld umsetzbar, da hier meistens Firewallappliances eingesetzt werden, um dein eingehenden / ausgehenden Datenstrom auf Schadcode zu untersuchen. Im privaten Umfeld, wird man sich vermutlich keine hochpreisige Appliance leisten wollen.

Kontrolle des ausgehenden Datenstroms: Wenn man sich vor Augen hält, dass in vielen Fällen Schadcode aus dem Internet nachgeladen wird, wird klar, dass der ausgehende Datenstrom gescannt werden muss. In Kombination mit dem Scannen auf Schadsoftware, sollten – wenn möglich – auch DNS-Blacklists, bekannte Botnet-Adressräume abgefragt und blockiert werden.

Damit einhergehend, sind ausgehend nur die unbedingt notwendigen Ports zu öffnen. (z.B. nur 80 = HTTP, 443 = HTTPS, 53 = DNS).

SSL Inspection: Sofern vorhanden, sollte unbedingt die SSL Inspection (scannen von verschlüsselten Verbindungen) aktiviert werden. (Damit verschlüsselte Verbindungen im Browser weiterhin funktionieren, muss das von der Appliance verwendete SSL-Zertifikat in den Browser / in den Windowszertifikatsstore importiert werden).

Warum SSL-Inspection? Der Grund hierfür ist, dass der Schadcode ggf. ja auch über eine HTTPS – Verbindung nachgeladen werden könnte. Wird SSL nicht gescannt, wird der Schadcode nicht erkannt.

Tipp 5: Schutz vor Spamnachrichten

Viele der „bösen“ Mails, werden über bekannte Spamquellen versendet. Durch den Einsatz von Spamfiltern und der Abfrage von Spamlisten, kann die Flut der eingehenden Spammails eingedämmt wreden. Optimalerweise gelangen so gut wie keine Spammails mehr in das Postfach.

Sofern man beispielsweise postfix als Mailserver einsetzt, reicht ein zusätzlicher Eintrag beim Parameter smtpd_recipient_restrictions um Spamlisten abzufragen. Abgesehen davon, kann auch noch auf Greylisting, Spamassassin etc. zurückgegriffen werden.

Die beste Spammail, ist die Mail, die nicht ins Postfach gelangt! (Etwas optimistisch formuliert: Keine Spammail, Kein Schadcode!)

Tipp 5: Schulung der Mitarbeiter / Familienmitglieder

Es sollte laufend bzw. zumindest in regelmäßigen Abständen auf die Bedrohungslage hingewiesen werden. Man sollte aber darauf achten, dass man nicht zu oft informiert, um gewisse „Ermüdungserscheinungen“ zu verhindern. (Schon wieder ein Infomail über Trojaner, kenn ich schon…).

Tipp 6: Backup, Backup, Backup…

Normalerweise hätte dieser Punkt bereits ganz am Anfang erwähnt werden müssen. Ohne regelmäßiges Backup, ist man im Falle einer Infektion verloren!

Das Backup MUSS unbedingt offline vorliegen. Es hilft nichts, täglich ein Backup der Arbeitsdaten auf ein NAS zu machen, welches permanent im Netzwerk ist. Die Gefahr, dass auch die Daten am NAS kompomittiert werden könnten ist einfach zu hoch. Neben der „online“ Sicherung, muss regelmäßig auch eine Sicherung auf ein Offline-Medium durchgeführt weden. Als Offline-Medium kommt z.B. eine externe USB Platte in Frage. Auch Bandlaufwerke sind wieder auf der Tagesordnung. Verhältnismäßig günstig, bei hoher Datendichte. Ein Bandlaufwerk kostet allerdings „einiges“.

Tipp 7: Nie mit Administratorrechten arbeiten

Der Administrator(account) ist nur für Installationsarbeiten heranzuziehen. Für das tägliche Arbeiten, sollte ein Standardbenutzer mit eingeschränkten Rechten verwendet werden.

Dies gilt vor allem im Firmenumfeld, sollte aber auch @home jedenfalls in Betracht gezogen werden.

Fazit

Man kann einige Schritte setzen, um einer Infektion und einem Datenverlust entgegenzuwirken. Im Worst-Case kommt es auf ein gutes Backup- / Restorekonzept an. Bei all den Möglichkeiten, sich „einzuigeln“ ist eines immer gewiss: 100%ige Sicherheit gibt es nicht. 😉

Wünsche, Anregungen, Ergänzungen und auch konstruktive Kritik per Kommentar gerne gelesen!

Erfahrungen mit Kopano im Unternehmensumfeld – Wechsel des Mailclient

Umstellung auf Kopano Deskapp

Nachdem ich mittlerweile doch einige Erfahrung mit Kopano und Zarafa im Unternehmensumfeld habe, möchte ich hier kurz darüber berichten. Über Kommentare und Meinungen zu diesem Thema, würde ich mich sehr freuen.

Eine kurze Vorgeschichte

Outlook und Kopano

In einem Szenario, in dem der Kopano-Server mittels nicht mehr weiterentwickeltem Kopano/Outlookclient an Outlook angebunden ist, gibt es –  verursacht durch MS-Updates –  Probleme mit der Schnittstelle. Konkret gesprochen, wurden an der Schnittstelle beteiligte Komponenten durch MS (im Zuge von Windows-/Officeupdates) immer wieder adaptiert, wodurch die Funktionalität des Kopano/Outlookclients leidete.

Dies bedeutete zwar nicht, dass in so einem Fall die komplette Funktionalität der Groupwarelösung verloren ging, jedoch, dass vor allem die „Teilungsfunktionen“ ihren Dienst einstellten.

Beispielsweise passierte es nach einem MS-Office-Update gerne, dass ein Zugriff auf geteilte Kalender nicht mehr möglich war.

Alternativen?

Sofern Outlook nicht  essentiell für diverse Abläufe im Betrieb bzw. nicht zu stark mit anderen vorhandenen Applikationen verwoben ist, gibt es ganz klar nur „die eine“ Lösung:

Der Mailclient MUSS ausgetauscht werden.

Nur auf diesem Weg ist es möglich, diversen Inkompatibilitäten aus dem Wege zu gehen.

Kopano bietet mit der Web- und DeskApp eine -meiner Meinung nach- sehr gute Alternative zu MS Outlook an, die in aktueller Version (Deskapp 3.5 / Webapp 2.1) optisch sehr modern daherkommt und von den Funktionen und Verbesserungen her, massivst zugelegt hat.

Gewohntes ändern – die User überzeugen

Der Mensch ist naturgemäß ein Gewohnheitstier. Nimmt man den Anwendern etwas weg, dass sie schon seit Jahrzehnten kennen, sorgt dies zumeist nicht gerade für tosenden Applause.

Hier ist viel Vorbereitung, Überzeugungsarbeit, Einfühlungsvermögen und Geduld notwendig.

Anmerkung (völlig aus dem Kontext gerissen): Aufgrund der schnellen Weiterentwicklung sämtlicher Kopano-Komponenten, ist mittlerweile (17.12.2018) ein Status erreicht, der durchaus als sehr positiv zu sehen ist!

Testumgebung

Natürlich habe ich die Kopano-Deskapp nicht sofort auf das gesamte Netzwerk losgelassen, sondern (ab ca. Juni 2018) eine kleinere Testgruppe darum ersucht, die Deskapp statt Outlook zu verwenden.

Hie und da wurde ich auf kleinere Probleme verwiesen, einiges war anders, ein paar Ecken und Kanten waren vorhanden, die jedoch mit einer etwas angepassten Herangehensweise lösbar waren.

Innerhalb der Testgruppe, sprach nach einigen Tests (und einigen Wochen, die vergangen sind) nichts dagegen, die Deskapp auszurollen, wobei Outlook auf den Clients installiert blieb.

Es sollte auf keinen Fall ein Zwang entstehen. User, die die Groupwarefunktionen nicht nutzten, konnten (und können) noch immer Outlook nutzen. Allerdings haben sich die Meisten dazu entschieden, sich sofort mit der „neuen Software“ auseinanderzusetzen.

Nun… die Erhöhung der Useranzahl führte naturgemäß zu einer höheren Anzahl von Anfragen, Wünschen und auch zu konstruktiver Kritik. (Vieles konnte durch „Workarounds“ bzw. einer Adaptierung der Arbeitsweise gelöst werden). 

Ein paar Punkte blieben aber bis vor ca. 1 Woche offen. (Mit der aktuellen Version der Webapp – 3.5 / Deskapp 2.1 wurde aber so gut wie alles behoben!)

Deskapp, Webapp, Core und Z-push

Ehrlich gesagt, weiß ich nicht exakt, wie lange MS Outlook schon auf dem Markt ist. Sicher ist jedoch, dass es einige Jahrzehnte sind. Einige Jahrzehnte, die in die Entwicklung gesteckt wurden, die sich das Programm entwickeln konnte.

Auf eine jahrzehntelange Entwicklung, kann Kopano nicht verweisen. Wie auch! Es ist ein sehr „junges“ Produkt, ein Fork von Zarafa.

Schaut man sich an, was die Entwickler rund um die Opensource Software leisten, kann man meiner Meinung nach nur den Hut vor diesen Leuten ziehen.

Innerhalb von kurzer Zeit, wurde neben der notwendigen Serverfunktionalität ein Emailclient für alle wichtigen Plattformen entwickelt, die Deskapp (DA).

Die Deskapp ist stark „verbandelt“ mit der Webapp. 

Kurz gesagt, benötigt die Deskapp eine funktionierende Webapp. Die Webapp jedoch, benötigt die Deskapp nicht. Wie der Name schon sagt, ist die Webapp ein klassischer Webmail-Client.

Innerhalb der letzten zwei Monate, gab es unzählige Verbesserungen:

Webapp:

Deskapp: 

Kopano-Core + Serverkomponenten, die Kernkomponenten von Kopano, laufen solide (rock stable) und machen bislang überhaupt keine Probleme. (Befinden sich seit über 4 Jahren im Dauerbetrieb).

Z-Push: Verantwortlich für ActiveSync. läuft und läuft und läuft… In den 4 Jahren+, gab es bislang 2x ein Problem mit jeweils einem wiederkehrendem Termin.

Der Kontakt zu den Entwicklern und zur Community

Durch die Community, hat man direkten Kontakt zu Kopanoanwendern und auch zu den Entwicklern. Im Forum, kann vieles diskutiert werden. (https://forum.kopano.io/)

Die „Devs“ sind sehr bemüht, auf Useranfragen zu antworten und auf Wünsche einzugehen.

Im Rahmen der Forendiskussionen, werden auch entsprechende Tickets (Bugmeldungen, Feature requests etc.) durch die Entwickler eröffnet.  (https://jira.kopano.io/secure/Dashboard.jspa)

Dies kann -sofern eine entsprechende Subscription vorhanden ist – natürlich auch durch den Anwender direkt erfolgen. (https://portal.kopano.com/)

Editions

Neben der „Bezahlversion“ (subscription Modell) von Kopano gibt es auch noch Entwicklungssnapshots = nightly builds (kostenlos),  (https://download.kopano.io/community/).

Unter gewissen Umständen, kann auch auf die Contributor-Edition zurückgegriffen werden: https://forum.kopano.io/topic/580/announcing-the-kopano-contributor-edition

Fazit

Es lohnt sich, über den Tellerrand zu schauen. Kopano stellt, meiner Meinung nach, eine ernst zu nehmende Alternative zu den bekannten MS Produkten dar. Sofern also die bestehende IT-Infrastruktur nicht zu stark mit MS Outlook verwoben ist, muss man fast einen Blick (oder sogar mehr) riskieren. 🙂

Kopano Deskapp Autohide betreffend „Reminder“ funktioniert nicht korrekt

Mit der letzten WebApp Aktualisierung (3.4.24), wurde ein Fehler in der Reminderfunktion behoben. (Bei Deaktivieren von „Autohide für Erinnerungen“, wurden das Erinnerungs-Popup dennoch nach x Sekunden ausgeblendet.)

Mir ist es nun bei mehreren PCs passiert, dass dies trotz der Aktualisierung, bei der DeskApp nicht funktioniert hat.

In allen Fällen half es, das Kopano-DeskApp-Profil zu löschen, anschließend alle Daten im Ordner C:\Benutzer\<Benutzername>\AppData\Local\Kopano Deskapp zu löschen und das Profil per DeskApp dann neu anzulegen.

Ich setze aktuell die Deskapp 2.0 von Kopano ein. Dieses Verhalten ist aber auch bei Version 1.9 aufgetreten!

Infos zur Web- und DeskApp: https://forum.kopano.io/category/10/final-releases