 Web Server Security 101, wer von euch hat sich schon mal einen Server gemietet, so einen Root Server? Wer hat danach erst mal nicht gewusst, was er damit anstellen soll? Ja, doch weniger. Gut, für die, die das noch nicht wussten, ist Remote hier. Was macht man mit so einer Root-Kiste überhaupt, wenn man sie erst einmal hat? Und viel Spaß damit. Moin. Ja, ich habe heute den Web Server Security 101 eingereicht. Das dreht sich darum, dass ich vor, na, das dürfte 2005 gewesen sein, also gut 12 Jahren meinen ersten Server damals gemietet habe, von einem sperrlichen Taschengeld damals noch. Das war ein Debian mit einem Plask dazu, das ist so ein lustiges Konfigurations-Tool, das man hinten auf so eine Apache aufschraubt, teuer Lizenz kostet und in der Bedienung fragwürdig ist. Wenn man gerade mit der Linux anfängt und sich so ein Server ins Web stellt, weil man irgendwie von Freehostern die Nase voll hat, weil man keinen Bock mehr hat, ständig Werbeframes eingeblendet zu bekommen oder sonst irgendwas und dann anfängt mit dieser Technik zu arbeiten, ohne wirklich Ahnung davon zu haben, stolpert man immer mal wieder über so ein paar einzelne Dinge und ich habe mich entschlossen, das mal in so ein bisschen in einen Vortrag zu packen, um Menschen eine Idee zu geben, wie man mit so einer ganz neuen Kiste eigentlich umgeht. Die grundlegende Frage ist eigentlich, was läuft eigentlich schon auf dem Ding, wenn ich es übernehme? Es gibt eine ganze Reihe von Optionen, die einem normalerweise der Hoster anbietet. Wenn man ein dedicated Route kauft oder auch meistens nur einen V-Route, dann hat man je nach Anbieter eine Auswahl an Betriebssystemen, manchmal kostet das extra Lizenzen für einen Windows Server zum Beispiel oder auch vorgefertigte Images, entweder die, die das Betriebssystem mitbringt oder die, die speziell vom Hoster angelegt werden. Diesen Images können je nach Anbieter wieder Softwarepakete vorinstalliert sein oder es sind komplett blanke Sachen, auf denen meistens nur ein SSD Server läuft und ansonsten noch nicht viel. Und eigentlich ist das so der Startpunkt, wenn wir das Ding bekommen, einfach mal gucken, was läuft da mit Netzdatt ein bisschen rumstochern, sind da schon irgendwelche Listener am Laufen, je nach System mit UM, ABT, DPKG, was man halt gerade am Packetmanagement rumfliegen hat. Gucken, was ist da eigentlich an Software schon installiert, so brauche ich, also der Trend geht ja zum dritten Web Server auf der gleichen Maschine, aber brauche ich den wirklich? So ist der Charo Key noch nötig neben dem Engine X und dem Apache und dann kann man vielleicht auch Programme finden, die man gar nicht mehr braucht und die Listener aufmachen. Ganz gerne diese Images sind nicht up to date und ich habe da die Erfahrung gemacht, dass einige Hoster keine automatischen Updates haben. Das heißt, wenn die Maschine professioniert wird, wird nicht sofort Updates eingespielt. Da erwarte ich auch noch dazu, das einmal zu prüfen, es geht ja relativ easy mit dem jeweiligen Packetmanager wieder und man sollte gegebenenfalls den Hostkey der Maschine austauschen. Es gab da einen etwas bekannten Fall in den letzten paar Monaten, wo ein etwas größerer Hoster es geschafft hat über einige Monate, Jahre hinweg, bei den Diplotmaschinen den gleichen Hostkey zu hinterlegen. Was wollen wir auf der Maschine moment drauf? Was wollen wir installieren? Wir haben erstmal die Domain fuba.com und möchten auf dem Server einen Apache installieren, einen Common Web Server. Wir hatten mit der Apache angefangen damals, doch einige, wir hatten mit der Apache 1 angefangen. Bekommt ihr Seniorenrabatt auf der Veranstaltung oder SSH? Man kann so ein Server mit Telnet Managen, heutzutage eher unpraktisch, ist meistens natürlich schon installiert. SFTP, um so Daten auf so ein Server zu pushen, kann man auch mit einem sogenannten FTP Server machen. Die älteren werden sich erinnern. Das ist so eine Technik aus den 90er Jahren zur Datenübertragung, die heute nur noch in Agenturen oder irgendwas mit Medien praktiziert wird. IPTables, das ist so eine lustige kleine Firewall, die kernel-seitig in den meisten Nenungsdistributionen mitgeschippt wird, also mit eingebaut ist und mit die man benutzen kann, um so ein bisschen das Reihen und Raus in der Maschine, Netzwerktechnisch zu kontrollieren. Fail2Ban, Fail2Ban ist ein kleines Mehrzwecktaschenmesser im Bezug zur Lockauswertung, so mehr oder weniger, wie eine Aktion, Reaktion und ein Audit D, der meistens auch schon Bestandteil des Kernels ist und dessen Diemen meistens auch schon läuft. Anfang tun wir aber mit den Basis-Usern, eine Sache, die ich beim Systemstart damals verpallt habe zu überprüfen, war ein Blick in ETC Shadow und ETC Passwd, um einfach mal zu sehen, ob das Service-User installiert waren und stellt sich raus, ja, der Provider hat auf jedem Rout-Server einen Service-Account, nachdem ich mir einen zweiten Rout-Server gemietet hatte, war zu dem Zeitpunkt klar, ja, er hat auch auf jedem dasselbe Passwort. Das war 2005, wir erinnern uns kurz an die Hashing-Algorithmen zurück zu diesem Zeitpunkt gab. Das haben sie mittlerweile geändert und auf kiebersehende Verfahren umgestellt. Man sollte grundsätzlich mal damit anfangen, einen eigenen User anzulegen, wir haben hier das Beispiel von Herrn Frank Nord, kurz FNord, dann sollte man als nächstes gucken, ob der Apache, wenn er denn schon installiert ist und dann mal einen eigenen User angelegt ist, dass es häufig Apache oder WWW Data, kann auch HDDP sein, je nachdem was man als Betriebssystem verwendet und für den FTP-Upload legen wir uns einen User SFTP Nord an. Wie so einen eigenen User? Bei SFTP ist es so, dass wir über den SSH-Server gehen und das ist ein eigener User wichtig, denn den kann man in ein lustiges kleines Gefängnis sperren, das ist ja Harut-Jail und über dieses Jail kann man dafür sorgen, dass der nirgendwo anders hin kann. Da komme ich später noch mal zu, da hängt auch noch ein bisschen Food mit Gruppen hinter, wie man das so drehen kann, dass selbst wenn mal jemand die Kontrolle über den User unter dem die Webseite läuft, erlangt nicht wirklich was damit anzufangen ist. Einsteigen möchte ich jetzt mit Fail2Ban. Fail2Ban ist wie gesagt ein Tool zur Log-Analyse, das im Wesentlichen nichts anderes tut als regelbasierend von euch gesagt zu bekommen. Da ist eine Log, guckt da rein und wenn da folgendes drin steht, Two-Dinge. Das funktioniert zum Beispiel mit dem Apache relativ gut, mit dem Apache, der kann in der Access-Log zum Beispiel Sachen rauspumpen, die kann Fail2Ban pasen und ihr könnt zum Beispiel, ist ein bisschen punktlos, jeden der diesen Server anspricht, weil der Apache loggt die API-Adresse mit, wenn ihr ihn richtig konfiguriert habt mit Fail2Ban weiterverarbeiten, regelbasierende Reaktionen darauf auslösen und diese Reaktionen kann sein, so IP-Tables schiebt den mal irgendwie zur Seite, bann den mal. Als Beispiel habe ich das hier, das ist von meiner privaten Kiste, die Liste setzt sich ungefähr über vier Bildschirmlängen nach unten fort, das sind alles Web-Scanner. Jede einzelne dieser IP-Adressen ist irgendein System, das irgendeinen Fuh machen wollte nach bestimmten Schlagwartern gesucht hat oder irgendeinen anderen Mist veranstalten wollte, zum Beispiel Spiders oder Search Engines, die ich nicht haben will. Kommen wir zur SFDP und FDP. Wie gesagt, das ist Datenübertragung per SSH, man hat den Vorteil, dass wir keinen weiteren Server installieren müssen, wir haben ein signifikant weniger Angriffsfläche auf dem gesamten System, weil halt ein weiteres Programm fehlt, in den vergangenen 15 Jahren haben sich diese Programme stark weiterentwickelt, aber es gab relativ häufig Fälle von anfälliger FDP-Software, die gegen Exploits, die gegen verschiedene Dinge verwundbar waren, also man konnte teilweise bis zur Remote Code Execution gehen dabei. Und SFDP bietet uns einfach den Vorteil, dass wir mit einem zusätzlichen User und dem internal SFDP, den der SSHD mitbringt, die Möglichkeit haben, Daten auf das System zu kopieren und dabei nicht nur Passwörter zu verwenden, sondern das auch per Public Key abzusichern. Das ist ein bisschen fraglich, welcher Kundenstamm sozusagen davon betroffen ist, das kann man auf dem privaten Server machen, das kann man auf dem IT-Abteilungsintern Server machen, wenn wir mit Marketing zusammenarbeiten, wird es grenzwertig. Das ist eine Frage davon, wie man seine IT-Organisation intern aufstellt, bei uns hat die Erfahrung gezeigt, dass wir mit einem Passwort im Moment noch besser fahren. Nächstes ist der SSH-Zugang. SSH wird der Server mit An-Sicherheit-Grenzen der Wahrscheinlichkeit schon installiert haben. SSH Secure Shell bietet eine verschlüsselte Alternative zu tellen und mit seinem Server zu kommunizieren, da eine Konsole aufzumachen und auf dieser Konsole Dinge zu tun, ist im Prinzip so eine Art Haupteingang in den Server, das heißt wir können da die Kontrolle über die Shell übernehmen, wie man das halt von den Linux Notebooks kennt. Es gibt für den Veropen SSH, was auf den meisten installiert ist, relativ wenig Exploits, also in den vergangenen Jahren sind in den NSA-Papers sogar Daten geniegt, dass die sich dazu genügend sahen, den Server auf den Open SSH läuft und auf den sie Zugriff haben wollten, irgendwie anders aufzumachen, dann Open SSH von innen zu patchen, um sich dann Zugang zu verschaffen, weil sie von außen nicht reingekommen sind. Das Ding ist ziemlich defensiv designt und bietet uns die Möglichkeit im Prinzip ziemlich sicher mit dem Server zu kommunizieren, das hängt davon ab, wie man ihn natürlich auch wieder konfiguriert, was mit viel Lärm meine ist, wer so ein Server schon mal betrieben hat und mal in die Excess, wer von euch hat schon mal in die Excess-Lock von so einem Webserver geguckt, auf dem nichts läuft, nur mal, weil er da vorbeigekommen ist und geklopft hat. Ja, du zum Beispiel, nicht in der SSH-Lock, aber so auf dem Webserver, ganz normal in der Excess-Lock. Das ist Lärm, der da stattfindet. Es ist richtig viel Lärm. So, eure Domain ist noch nichts, da ist kein Content erlegt, da ist gar nichts Stress drauf. Gleich ist es mit dem SSH-Port, deswegen, wenn möglich, den Port verschieben, also von 22 weg. Wenn man ganz hart drauf ist, kann man auf dem 22er trotzdem einen Listener setzen, der nirgendwo hinführt und da fällt der Bein hinten dran an Koppeln. So, boop, nee, du nicht mehr. Funktioniert wunderbar, bis man mal verpeilt, dass man den Port selber verschoben hat. Ich kenne niemanden, den das passiert ist. SSH hat, wie gesagt, Hostkeys, den Hostkeys sollte man einmal ändern, hat man heutzutage die Auswahl zwischen einem RSA und einem ED25519 basierenden Hostkey. Zu dem Begriffen komme ich später noch. Der Hostkey ist im Prinzip die Identifikation. Das heißt, wenn der SSH euch verbindet das erste Mal, dann wird so eine Abfrage aufkommen und in dieser Abfrage wird drin stehen, möchtest du diesen Key vertrauen? Wenn er ja sagt, dann wird dieser Schlüssel eingespeichert und für diese IP-Adresse bzw. Domain, das ist unabhängig voneinander, als valide eingetragen. Das bedeutet, sollte sich irgendjemand mal eure Domain zu eigen machen oder unter der IP-Adresse eine andere Maschine stehen, wird er zum SSH Server connecten und der Hostkey wird nicht mehr stimmen und aus diesem Grund wird er dann sagen, der Maschine vertraue ich gerade nicht. Warnung, Hostkey hat sich verändert. Kann man natürlich acknowledging, aber man ist auf jeden Fall gewarnt. Dann habe ich den etwas unübersichtlichen Punkt Config. Config ist ein bisschen weit gefasst. Es gibt beim SSHD ungefähr über einen Daumen gepault 200 Optionen, je nachdem wie man das kompiliert und zusammengebastelt hat. Die wichtigsten sind, dass man, das ist in der Standardconfig nicht drin, sowohl den Key Exchange Algorithmus, die Cipher und den Mac Algorithmus festlegen kann und man ist in diesem Punkt unabhängig von OpenSSL. Viele Programme wie zum Beispiel der Apache verlassen sich auf die OpenSSL Libraries, die auf dem System installiert sind und können nur anbieten, was diese entsprechenden Libraries ihnen zur Verfügung stellen. Der SSH Server hat eigenständige Implementationen dabei und je nach Version habt ihr dann Zugang zu sicherer Krypto. Wieso ist das wichtig? Wenn wir das Ding nicht mit entsprechenden Ciphers im SSH Bereich konfiguriert, kann es passieren, dass ihr auch zum Beispiel in der RC4-Cypher rutscht, wenn ihr ein bisschen älteren Server habt. Das wird als generell nicht mehr sicher angesehen oder dass der Mac, also der Hashing Algorithmus, der die Authentizität, der gesamten Nachricht sozusagen prüft, also die Signatur schlussendlich, dass der nicht mehr der aktuellste ist und vielleicht SHA1 sich nennt. Das ist neuer daraus geflogen, aus den aktuellen Standards sollte er nicht mehr verwendet werden. Ja und letztendlich Public Key vs. Strong Password. Es gibt da zumindest in meinem Freundeskreis immer mal wieder Dispute drüber. Public Key Verfahren bedeutet im Prinzip, dass ihr euch mit einem privaten Schlüssel habt, der liegt bei euch auf dem Laptop und ihr könnt damit das Schloss auf dem Server aufschließen. Das Problem beim Public Key Verfahren ist, was passiert, wenn der Key abhanden kommt. Gut hat man sich gedacht, man kann den Key auch verschlüsseln. Das heißt, ihr braucht um euren privaten Key auf dem Laptop aufzumachen, einen Schlüssel. Das ist im Moment geltender Standard und auch sehr praktisch bis zu dem Moment, wo man länger nicht auf die Maschine verbindet und vielleicht nicht mehr weiß, wie dieser Schlüssel hieß und wie das Passwort war. Und dann hat man ein Problem. Das war ein richtiges. Starkes Passwort bedeutet, dass Password Authentication an ist. Password Authentication öffnet Blutforst, Tür und Tor. Da gibt es solche brillanten Sätze von Leuten wie, naja, darum wird sich der Passwort Time Out kümmern. Man kann mit der Einstellung rangehen, funktioniert langfristig nicht. Selbst mit dem Feld to Band dahinter ist das eine Frage, wie stoisch jemand versucht da einzubrechen. Ich persönlich setze im Moment auf ein Public Key Verfahren und würde das auch weiter empfehlen. Das ist allgemein an der Kantor Standard. Der Apache. Neben seiner Haupttätigkeit als Indianer ist der Apache zusätzlich noch ein bekannter Web-Server, der relativ breite Verbreitung findet, so rum und auf sehr vielen Systemen installiert ist. Es gibt jetzt mittlerweile Engine X, es gibt den Light-Headed PD und es gibt andere Web-Server, die stark auf dem Vormarsch sind. Viele Systeme werden aber immer noch mit Apache unten drunter betrieben, sei es im Backend, sei es sonst wo. Apache ist dadurch, dass er die meist genutzte Software ist, in diesem Bereich relativ sicher. Für den Courserver an sich sind sehr, sehr wenige Explorts erschienen in den letzten paar Jahren. Sie patchen sehr, sehr schnell und die meisten Sicherheitslücken, die derzeit auftreten, betreffen die Mods, die man in den Apache einhängen kann. Es ist allerdings so, dass Apache OpenSSL abhängig ist. Das heißt, der benutzt die Library von OpenSSL, um verschlüsselte Verbindungen herzustellen, um genau zu sein, ist das der ModSSL, der in den Apache eingehangen wird. Da ist man so ein bisschen von der Gnade seines jeweiligen Betriebssystems abhängig, je nachdem wie schnell die patchen auf einem älteren Debian-System kann das einen weichen Dauern. Auf Bleeding Edge geht es durch zügige Modus-Sicherheitspatches regelmäßig nachinstallieren, ist man da ein bisschen ausgeliefert. Zum Thema der OpenSSL und Web-Krypto kommen wir auch noch. So, wir haben jetzt fukba.com, wir haben eine Domain gemietet. Yay! Jetzt wollen wir uns ein bisschen Content dahinter legen. Da machen wir erstmal einen Virtual Host im Apache auf, um da so Content irgendwo in der Directory abzulegen, die da dann im Web anzeigen soll. Dazu kommen wir wieder auf unser User zurück. Wir erinnern uns, wir haben einen SFTP-Nord angelegt und der WWW-Data, den der Apache mitbringt. Und das Totalsystem sieht dann so aus. Wir haben unter, dass das jetzt Debian-artigen entnommen, unter wahr WWW das Web-Verzeichnis liegen, stellen dort die Directory Fnord.com und diese SFTP-User sammeln wir allesamt in der SFTP-Group. Diese SFTP-Group hängt wiederum in der WWW-Data-Group. Das ermöglicht uns den Zugang zum Fnord-Verzeichnis Fnord.com als SFTP-User. Wir haben aber keine Rechte, dieses Verzeichnis zu ändern, zu modifizieren oder sonst irgendwas darin zu machen, außer weiter zu gehen. Wir können in das Verzeichnis HTT P-Docs dann wechseln. Auf dieses Verzeichnis hat der SFTP-User unsere Gruppe volle Rechte und kann dort Daten hochladen, verwalten, verändern, löschen etc. Das gibt uns an der Stelle den Vorteil, das sollte auf dem Webserver mal irgendetwas passieren, bleibt es eingeschränkt auf den User SFTP-Nord, der, wie wir wissen, in einem lustigen kleinen CHJ steckt und keine Möglichkeit hat außerhalb seines Verzeichnisses irgendeiner Art von Aktionen zu betreiben. Das ist eine Sicherheitsmaßnahme, mit der man relativ einfach ungemach abwenden kann. Der ModSSL, das ist ein Zusatz, der für den Apache installiert wird und aktiviert werden muss, in der Regel ist er bei der Default-Installation schon eingeschaltet und ModSSL ist in seiner Konfiguration mittlerweile sehr komplex geworden. Es gibt eine Vielzahl an Optionen, wie man seinen Server einstellen kann und was man mit dem gesamten Modul machen kann. Wir können es zur Zugangskontrolle verwenden, wir können damit unsere Webseite per TLS absichern und wir können damit auch Seiten so sichern oder andere Zugänge zu anderen Optionen über den Proxy sichern. Wir können im Backend-From-Server Sachen laufen haben und den Proxy, der dazwischen gescheitet ist, den können wir ebenfalls über eine Authentifikation mit TLS absichern. Dann gibt es noch die schönen Header. Das ist ein anderes Modul zwar, gehört aber auch so ein bisschen zur Frontensicherheit von den Webserver. Es gab heute einen sehr ausgezeichneten Talk zu diesem Thema, in dem ich auch beigewohnt habe, deswegen möchte ich an dieser Stelle auf diesen Talk verweisen und das Thema überhaupt gar nicht lange durchkauen, denn das wurde da sehr eindrucksvoll und deutlich dargestellt. Und die Cypher-Sweets. Eine Cypher-Sweets bezeichnet eine Gruppe von Verschlüsselungsalgorithmen, also eine Kombination von Verschlüsselungstechniken, mit denen eine Webseite aufgerufen werden kann und die sicher betrieben werden kann. Das ist beispielsweise TLS 1.2, das ist alles spezifiziert und per RFC im Internet auch nachlesbar, was dazu alles zugehört. Und Cypher-Sweets an sich, also als Definition kann sowas hier sein. TLS, DHE, RSA, AES128, GCM, SHA300, Pion 80. Gesundheit. Was das heißt, wir haben benutzen TLS, Sie erinnern, der Vorläufer hieß SSL, gab es in Versionen 1, 2 und 3. Wir sagen heute noch ganz gerne SSL verschlüsselt, ich bin persönlich der Überzeugung, dass wenn TLS 1, 2 tot ist und wir irgendwie schon vier Systeme weiter sind, Menschen immer noch sagen werden, ist das SSL verschlüsselt. Aber das wird die Zeit zeigen. Wir haben hier an dieser Stelle den Key Exchange Algorithmus, mit dem das Ganze anfängt. Das ist Diffy Hellman, mit dem der Schlüssel zwischen dem Klein und dem Master ausgetauscht wird. Wir haben den Authentication Algorithmus, mit dem die Authentifizierung sozusagen erstmal hergestellt wird, also mit dem wir die jeweilige Gegenseite authentifizieren können. Wir haben dann die tatsächliche Cypher an sich. Das ist in diesem Fall AES128-Bit und im Gaului Counter-Mode. Das ist zur nächsten Algorithmus, dann die jeweilige Schlüsselgröße und der Betriebsmodus. An dieser Stelle muss ich erwähnen, dass es AES auch mit 256-Bit gibt, aber es gibt einen länglichen Beitrag von, soll ich den Namen vergessen, Bruce Schneier. Es gibt einen länglichen Blockbeitrag von Bruce Schneier, in dem er erläutert das mit einer größeren Schlüssel, also einer größeren Keysize insgesamt. Die Wahrscheinlichkeit steigt, dass die Cypher fakturiert werden kann, dass es angreifbar ist. Gaului Counter-Mode zum Schluss ist der Betriebsmodus. Der Betriebsmodus gibt vor, wie im Prinzip AES implementiert wird, also wie das Ganze betrieben wird. Das gibt es in verschiedenen Optionen. Im Moment ist Gcm, der einzige Betriebsmodus, der weitestgehend noch sicher ist. Es gibt gerade eine Neuauflage für TLS-1-3, da wird noch viel auf uns zukommen. CBC ist im Moment, um kompatibel zu bleiben, eine Alternative. Gcm ist der Begriffes A-Hat, das wird für Authentication und zusätzlich für Encryption benutzt. Also man kann parallel anhand dieses Betriebsmodus sehen, ob die Nachricht modifiziert wurde, weil eine Signatur dabei ist. Das hat CBC zum Beispiel nicht. Der Betriebsmodus bildet, bringt uns deliktlich eine Verschlüsselung. Und dann noch die Mac, das ist der Signaturalgorithmus, der zum Schluss da eine Signatur drüber legt oder auch währenddessen, das hängt davon ab, in welchen Betriebsmodus die Mac läuft. Es gibt Encrypt-Then-Mac, Encrypt-And-Mac und Mac-Then-Encrypt. Diese Modi haben verschiedene Vor- und Nachteile. Für SSH wird zum Beispiel Encrypt-Then-Mac verwendet. Für TLS ist es in der Regel Mac-Then-Encrypt. Ne, Encrypt-Then-Mac ebenfalls. Und um das mit dem RSA noch mal ein bisschen deutlicher zu machen, weil diese Kryptofu ist ein bisschen freaky. Das habe ich ein Beispiel, in dem das Nick Sullivan mal erarbeitet hat. Wir haben bei RSA zwei Primzahlen. Wir nehmen jetzt mal die 13 und die 7 für. Wir fakturieren diese Primzahlen, also nehmen mal und erreichen 91. Das ist eine sogenannte Trapdoor Funktion, also eine Falltürfunktion. Die Multiplikation von Primzahlen ist relativ einfach, rauszufinden, auf welche Primfaktoren das zurückzuführen ist, ist relativ schwierig. Das ist also eine mathematisch technisch gesehen eine ziemliche Einbahnstraße und Krypto, die meisten Kryptofunktionen ziehen genau darauf ab. Ich habe das jetzt einmal visualisiert. Wir haben eine Public Ziffer von fünf und mittels eines linearen, linearen, oklidischen Algorithmuses erreichen wir die Private Ziffer 29. Das Max, was da oben steht, ist eine sogenannte Obergrenzung. Wir können uns jetzt einen Zahlen-String vorstellen, der von hier bis da drüben reicht, beginnt mit der Ziffer 0, enden mit der Ziffer 91 und funktionieren das so, dass wir zum Beispiel den Buchstaben A verschlüsseln wollen. A liegt praktischerweise irgendwo auf diesem Zahlen-String, hat die Nummer 65, wenn wir jetzt mal von der UTF-8 Ziffer ausgehen und wenn ich den Buchstaben A verschlüsseln möchte, dann nehme ich diese UTF-8 Ziffer 65 und fakturiere sie fünfmal mit sich selber. Das sieht dann so aus, dass wir die erst mal 65 mal 65 nehmen und dann mit dem jeweiligen Rest der übrig bleibt, in diesem Fall 39, wenn wir das ganze wieder durch 91, ja genau, wenn wir das auf die 91 überrennen uns, unser Maximum einmal rechnet, das ist der Überschlag. Also wenn ich hinten bei der 91 angekommen bin, fällt der runter, läuft hierhin zurück und fängt hier wieder an. Dann macht er das so lange, bis die 91 mal um sind, bis die Ziffer legelaufen ist sozusagen, also bis er im Prinzip 4.225 Schritte getan hat und wir wissen, dass das nicht ganz teilweise durch 91 ist, sondern dass er 46 mal umläuft und dann noch 39 Schritte Rest hat. Das heißt, die Restzahl ist 39 und mit 39 machen wir das ganze noch mal viermal. Ironischerweise kommt das bei dieser Ziffer ziemlich genau auf 39 wieder raus zum Schluss. Das heißt, unsere verschlüsselte Zahl, also 65, encrypted mit RSA im Moment ist 39. Wenn ich das jetzt wieder entschlüsseln möchte, wir erinnern uns, wir haben einen privaten Schlüssel, müsste ich das ganze 29 mal fakturieren und ich würde dieselbe Zahl erhalten, die 65 wieder. Und diese gesamten Angriffe, die im Moment dagegen gefahren werden können, basieren auf dem Gassing des Maximums. Wir haben ein Maximum von hier 91 und wenn ich mich diesem Maximum nähern kann, kann ich Ausdagen dazu treffen, wann dieser Überschlag passiert. Anhand dessen kann ich die Anzahl der Durchläufe berechnen und damit kann ich ordentlich was anfangen, denn damit beschleunigt ein möglichstes Brutforzen nach dem Schlüssel signifikant. Factoring-Angriffe gab es eine ganze Reihe und wir werden davon auch erst mal weiter nicht verschont bleiben, selbst mit moderner Krypto im Bereich, da komme ich jetzt gleich zu elliptischen Kurven, ist es noch möglich, es ist an den signifikant schwieriger geworden. Wenn irgendjemand hat gesagt, wir brauchen mal so eine bessere Falltürfunktion, die hier tut nicht mehr und dann hat man sich so ein Mathematikprofessor genommen, ein bisschen auf den eingeredet und nach einiger Zeit fiel dann unten die Idee raus, dass man elliptische Kurven benutzen könnte. Dann verändert sich unser String so ein bisschen, wir sehen, der hintere Teil ist gleichgeblieben, der vorderer hat sich ein bisschen verändert. Das ist Elliptic Curve Diffy-Helmen mit dem ECDSA Algorithmus zur Authentication und dafür stehen uns verschiedene Kurven zur Verfügung, um das mal das näher zu beschreiben. Das da ist eine elliptische Kurve mit dieser vereinfachten Funktion, die daneben steht. Elliptische Kurven haben die Angewohnheit immer an der x-Achse gespiegelt zu sein. Und jetzt machen wir ein kleines Experiment daraus. Ich werfe jetzt diesen Audio, ich bringe den Mann noch mal jemand eine Marte. Ich werfe jetzt diesen Ball einmal ins Publikum und wenn wir jetzt eine elliptische Kurve hier hätten und dieses elliptische Kurvensystem so wieder oben, wenn ich da oben irgendwo rauslaufe, komme ich unten ja wieder rein. Das heißt, wenn ich jetzt den jungen Mann hier auf der Ecke anspiele, würde ich da hinten irgendwo wieder rauskommen. Jetzt machen wir mal weiterwerfen das Ding, möglichst in einer relativ geraden Linie zu dir. Und jetzt du noch mal in einer geraden Linie weiter nach hinten. Was haben wir jetzt? Jetzt haben wir Punkt A, B und C. Wir wissen, dass durch Punkt A und B Punkt C beschrieben wird. Das heißt, wir haben zwei Koordinaten. Jetzt macht diese Funktion folgendes. Wenn wir die x-Achse jetzt mal so schräg durch den Raum ziehen und das hier ist plus und das da ist minus, dann geht sie bei plus, also dann wird der Ball bei plus in die Richtung geschiftet, also in Richtung x-Achse und wird zwangsweise auf dem nächsten Punkt der Kurve auftreffen. Bei minus würde dann die Richtung gehen. Das heißt, du müsstest den Ball jetzt ungefähr da in die Ecke spielen. Vorsicht! So, dann haben wir einen Dot erzeugt. Das heißt, dieser A, B, C Schritt wird als Dot bezeichnet. Das ist eine Operation. Wenn ich mir jetzt die Club marte, wenn ich jetzt diese Operation von euch ungefähr dreimal machen lasse, wenn ich mich dabei umdrehe, dann weiß ich, wo der Ball ist. Ich weiß aber nicht, wie oft ihr gespielt habt. Ich habe keine Ahnung, wie dieses Ding dahin gekommen ist, wo es dann liegt. Und das ist der Trick bei elliptischen Kurven. Ihr könnt ein ziemlich easy den Ball irgendwo hinspielen, aber es ist unglaublich schwierig rauszufinden, wie das Ding dahin gekommen ist. Das ist eine perfekte Falltür. Wie das dann im Einzelnen und hinten funktioniert, wir haben eine, auch das klappt wieder hier nur mit Primzahlen, wir haben ein Prime Maximum, dann nehmen wir dann noch die Kurvengleichung ein her, zum Beispiel die wir da oben stehen haben und einen Public Point. Also das ist unser Startpunkt, Punkt A in dem Fall. Das heißt, der sympathische Jungemann da vorne. Dann haben wir den Private Key. Der Private Key wird auch noch aus einer Primzahl gezogen und den Public Key. Und der Public Key ist der Public Point, also der Public Point da vorne. Der solange gedottet wird, also solange Operationen durchführt, wie die Primzahl vom Private Key das von ihm möchte. Das heißt, wir haben jetzt eine Primzahl 17 anhand. Dann führt ihr diese Operation 17 mal durch und dann haben wir den Public Key erzeugt. Was wir gerade jetzt durchgeführt haben, am plastischen Beispiel, nennt man einen diskreten Logarithmus, elliptischer Kurven und darauf fußt diese ganze Krypto eigentlich auf. Das Problem mit diesen Kurven ist, die sind alle NSA approved. Jede einzelne von denen ist vom National Institute of Standards and Technology approved worden. Da hat überall die NSA ihren Stempel drunter gesetzt und wir erinnern uns vor ein paar Jahren, gab es mal jemanden, der sich in die Richtung grössische Föderation abgesetzt hat und so ein paar Dokumente veröffentlicht hat über so eine Plattform. Und haben jetzt rausgekommen, dass das vielleicht keine so geile Idee ist, die NSA irgendwie an Krypto ranzulassen, die wir weltweit und öffentlich ausrollen. Hilfe ist unterwegs. Die Männer, die auf Kurven starren Hälfen an der Stelle, natürlich sind es nicht nur Männer, CURVE 25519 ist ein gutes Beispiel. Die wurde von Daniel Bernstein entwickelt oder gefunden besser gesagt. Diese Kurve hat ein paar sehr schöne Eigenschaften. Zum Beispiel ist sie so geformt, dass man damit einen Side-Channel-Angriff vorständig aussteßen kann. Also es ist mathematisch nicht möglich einen Side-Channel-Angriff gegen diese Kurve zu fahren. Das Problem, die kann man nicht so einfach standardisieren, denn die braucht eine eigene Implementation und die gibt es zwar, aber sie sind halt noch dabei, da Haken drunter zu setzen. Die wird aller Wahrscheinlichkeit mit TLS13 kommen. Ja, Mod Security. Nach dem kurzen Ausflug in die Krypto. Mod Security ist das Send-Mail unter den Waff-Lösungen eigentlich so. Eine Waffe ist ein Web-Application-Firewall und dient eigentlich so dazu, den Datenstrom innerhalb einer Applikation zu kontrollieren und mal rauszufinden, was geht eigentlich da drinnen vor und geschieht das alles mit rechten Dingen. Das Send-Mail unter den Waff-Lösungen, deshalb, wer kann es Send-Mail hier konfigurieren, ohne Macros zu verwenden? Audio bitte einmal zirpende Grille einspielen. Wer kann es mit Macros konfigurieren? Genau. Äh, ähnlich verhält sich mit der Anzahl der Leute, die ich kenne, die entsprechenden Rules für die, die den ModSec2 schreiben können. Es ist trotzdem ein sehr, sehr geiles Tool. Man muss sich sehr stark damit beschäftigen, aber es bringt bestimmte Applikationsfilter schon mit. Dieser Mod hängt sich in den Datenstrom, der es Apache-Service und analysiert diesen. Wir können das vereinfacht mal dadurch darstellen, dass wir jetzt einen, zum Beispiel einen Eingabefeld haben. In dieses Eingabefeld können User nur Zahlen einschreiben und wenn versucht wird, irgendwas anderes einzuschreiben, also da reinzuschreiben, soll der Server reagieren. Wir können dann entsprechende Rule für den ModSec2 schreiben, der da sich dann reinhängt und guckt, okay, zahl, zahl, zahl, zahl, passt, passt, passt. Und im Falle eines Verstoßes eine entsprechende Log-Eintrag erzeugt. Der hat seine eigene Log, die wieder von Feltobend gepasst werden kann. Der Logaufszug von vorhin war eine solche WebApplication Security-Log bzw. das ultimative Ergebnis daraus. ModSecurity hat leider nicht nur Vorteile, man braucht eine ganze Weile, bis man damit erst mal klar kommt. PHP-Applicationen sind etwas unbequem, man muss etwas länger daran rumdoktern, bis das mit ModSec ernt ständig läuft. Es tendiert dazu, mit dem Standardregel-Set und unter Verwendung von Acme-Tools Let's Encrypt nicht zuzulassen, weil da wird irgendwas in so eine komische Directory mit dem Punkt geschrieben und dann greift da noch irgendein Server aus Amiland drauf zu. Nein, das ist Fisch, das mache ich nicht. Bundespunkte, weil man das erst mitbekommt, nachdem die Zertifikatwarnung gekommen ist. ModSecurity hat dennoch, zumindest in meinem Fall, mehrfach verhindert, dass größere Probleme aufgetreten sind. Also wenn man zum Beispiel eine verwundbare Software-Version von WordPress auf dem Server hat und es tatsächlich hingekriegt hat, die entsprechenden Rules einmal so aufzubauen, dass sie für einen passen. Es gibt im Falle von WordPress ganz konkret auch eine Ruhigkeit aus dem Internet, das man verwenden kann. Dann kann dieser Server, kann ModSec tatsächlich dafür sorgen, dass an Angreifer auch bei bestehenden Problemen mit einer Applikation nicht weiter kommt. Hier ist ein Hinweis an die Entwicklungsabteilung, nur weil das blockierbar ist, heißt es nicht, dass ihr den Bank nicht fixen müsst. Das war damals bei uns eine der genialen Anregungen des Leitersentwicklungen. Top. Um vom Apache uns mal ein bisschen zu entfernen, haben wir den Audit D. Audit D ist ein systemseitiges Programm, das aus zwei Komponenten im Prinzip besteht und Systemevents, Dateien und Services überwachen kann. Das ist im Prinzip so ein bisschen das allsehende Auge, das aus zwei Teilen besteht. Wir haben einen Prozess und einen kernel-nahen Prozess und wir haben einen Deamon. Der kernel-Nah-Teil startet in der Regel direkt mit. Der Deamon wird dann systemseitig gestartet und die haben eine Arbeitsteilung. Der kernel sammelt alles und der Deamon verarbeitet die Daten dann. Was tut das Ding? Es ist im Prinzip eine fancy Version eines regelbasierenden Event-Logings. Ich kann zum Beispiel auf meine Pass-VD-Datei einen Check legen, dass der einmal prüft, wird das Ding angefasst, wird es nicht angefasst. Wenn es angefasst wird, schreibe einen Log-Eintrag und erfasse, welcher User, welches Session, wann, wie, wo, warum und überhaupt. Das ist zunächst erst mal relativ unspektakulär. Es wird signifikant lustiger, wenn man das Ding hinten an Fels zu Ben ran spartet. Dann hat man nämlich plötzlich die Möglichkeit, Aktion-Reaktion mit dem Ding zu spielen und das kann unter dem Fall von Audi D dazu führen, dass man Folgendes tun kann. Wir haben ein Web-Verzeichnis, dann haben wir ein System-Verzeichnis, irgendjemand schafft, das Kontrolle über den Server zu bekommen. Sucht nach Passwort-Dateien, gibt diesen Feindkommand ein, als Reaktion wird nicht nur seine Session gesperrt, sondern leichter Hasen gebläcklistet. Ist ein bisschen harsh, aber als Beispiel reicht es. Audi D wird zudem in verschiedene Sicherheitssoftware, kann in verschiedene Sicherheitssoftware eingebunden werden. Das ist jetzt nicht mehr für den privaten Web-Server, aber wenn man z.B. OSsec fährt oder Siem-Systeme betreibt, werden häufig Audi D-Daten ebenfalls zur Analyse rangezogen und mit einem entsprechenden Role Set betrieben. Der Nachteil an Audi D ist, dass man ein bisschen aufpassen muss, was man überwachen möchte und was man damit tatsächlich überwachen muss. Audi D ist ein bisschen sehr geschwätzig. Das kann man mit dem Lock-Level natürlich kontrollieren auf einem Web-Server, der einen sehr hohen Traffic hat, z.B. irgendetwas, das Tickets verkauft für so eine größere Veranstaltung am Jahresende. Würde ich empfehlen, so eine Elastik-Search-Datenbank da hinten ranzukleben, das könnte ein bisschen mehr werden. Gleiches gilt in diesem Fall übrigens auch noch für Modsec. Modsec schreibt ein bisschen längere Einträge. Und ja, prinzipiell kann ich das Ganze auf ein paar Regeln im Moment noch mal runterbrechen, die ich euch mitgeben kann. Eine der Regeln, die ich als Operator gelernt habe, ist Make it a Pain in the Ass Wherever Possible. Kann ich die Verbindung zwischen zwei Systemen intern verschlüsseln? Ja, ist das zwingend notwendig? Nein, mach's trotzdem. Es ist nicht immer ein unglaublich großer Aufwand, besonders wenn man viel automatisiert. Es ist sehr einfach, das automatisch in Rollen einzubauen, dass z.B. Zertifikate verwendet werden, um Zugang zu internen Systemen zu bekommen. Die kann man mit dem AD gleichzeitig koppeln, dass die ausgeräut werden mit den entsprechenden Menuzergruppen. Man kann Verschlüsselung im Bereich von internen Webseiten einschalten, dass z.B. das Monitoring, das System, also die Oberfläche davon, das Grafana, das Wiki, sonst was alles nur noch über SSL erreichbar ist. Man kann moderne Protokolle verwenden. Das hängt auch ein bisschen davon ab, natürlich, was man, wo man gerade unterwegs ist. Wieder der Schnitt, privater Web-Server Arbeitgeber. Der IBM Mainframe im Keller, auf dem noch das Kobol läuft und auf den wir eine Lebensversicherung abschließen mussten, auf den Administrator, weil wenn er stirbt, der Mainframe gestauscht werden muss, wird tendenziell die entsprechenden Verschlüsselungsalgorithmen nicht unterstützen. Man kann da sicher eine Schnittstelle hacken, dürfte teurer sein, als einen neuen Mainframe zu kaufen. Privat ist das aber auf jeden Fall möglich. Bei diesen Verschlüsselungen muss man immer beachten, dass es ein sehr, sehr großer Spagat ist zwischen, ich bin vor allem erreichbar und ich habe wirklich, wirklich, wirklich sichere Krypto. Denn sichere Krypto bedeutet häufig, dass ältere Geräte, z.B. Java Devices, die mit einer Lib SSH zwei Laufen nicht mehr mitspielen wollen. Es gibt für ältere Android-Versionen, z.B. das Programm Juice SSH, das kommt mit Krypto oberhalb von allem, was als Mac-Shar 1 einsetzt, nicht mehr klar, weil halt die Library zu alt ist. Ja, Ports verschieben, wenn möglich. Kann man für SSH machen. Für ein Web-Server ist das so semi-empfehlenswert, wenn man erreichbar sein möchte. Für ein Mace-Server ist das noch viel weniger empfehlenswert, wenn man erreichbar sein möchte. Andere Dienste, wie z.B. Minecraft-Server, Team-Speak-Server, Team-Speak ist ein bisschen problematisch, wenn man ein Minecraft-Server, da kann man einen anderen Port einstellen und es ein bisschen schwieriger machen, als den Default Port zu verwenden. Sicherheitsfood ist jeweilig Anbieter, das kann man auch noch mal checken. Viele Anbieter bieten Application-Firewalls oder Firewalls an sich an, die man da konfigurieren kann. Hetzna ist ein Beispiel dafür und man kann sich diese zur Nutze machen, um da noch mal ein bisschen extra Sicherheit reinzubringen. Man sollte sich eine Notiz auf den privaten Server dann hinterlegen, auch mal in das Web-Interface reinzugucken, wenn man dann zum fünft Mal seine IBT-Bitsregeln überprüft hat und sich wundert, wieso der Scheißport immer noch nicht erreichbar ist. Automatisiert alles. Wenn es möglich ist, automatisiert es irgendwie. Es spart euch ein Haufen Zeit, ein Haufen Stress. Es vereinfacht Sachen wie die Lockauswertung. Also Locks kann man weitestgehend automatisiert auswerten mittlerweile. Wenn die Applikation nicht zu groß oder zu komplex ist. Konfigurations-Deployment kann man automatisieren. Dafür gibt es Ansible, Chef oder Puppet. Anliegen von VOS zum Beispiel, im Apache steuere ich nur noch über Ansible, um das deutlich einfacher zu machen. An der Stelle mit drei Ausrufe zeichnen, idempotenz. Wer hat das Wort schon mal gehört? Wer von den die sich gemeldet hat benutzen Ansible, dachte ich mir. Idempotenz. Änderungen gibt es nur, wenn sich was geändert hat. Und das fasst es eigentlich sehr schön zusammen. Wenn ich ein idempotentes System habe, bedeutet es, dass ich den ganzen Kram mit Ansible Manager zum Beispiel und das bedeutet, dass wenn ich da mein Repo einmal durchlaufen lasse und ich habe nichts verändert und ich habe es vor fünf Minuten deployet, ich keine Änderungen registrieren sollte. Das hat den Vorteil, dass wenn man die Kiste mal länger nicht angefasst hat oder continuous Deployment machen möchte, oder einfach mal nur so deployet und sich dann irgendwie in so ein paar Dateien was geändert hat, die zum Beispiel für die Datenbankverbindungen oder Passware oder sonst was zuständig sind, man relativ schnell auf den Richter kommen könnte, dass da was nicht stimmt. Denn es sollte sich nichts ändern. Idempotenz wird beim Arbeiten sehr hochgehalten. Wir fahren unsere gesamte Infrastruktur mit Ansible dahinter, der sowohl die Verwaltung übernimmt als auch sämtliche Systembestandteile deployet. Das macht die Massenrollouts das Software sehr einfach und das macht die Massenrollouts vor allem von neuer Software, inklusive Configurationsmanagement sehr einfach. Das ist so ein bisschen das, was ich Leuten mitgeben will, was ich mir gewünscht hätte, dass es mir jemand mitgibt, als ich damals vor zwölf Jahren diesen Server gekauft habe und ein Webinterface zum Verwalten brauchte. Vielen Dank. Fragen, Anregungen, Beschimpfungen, sonstiges? Rans, dass ich Idempotenz im Pappern nicht umsetzen lässt? Da vorne. Ob es einen Grund gibt, wieso ich Beta-Crypto.org nicht genannt habe? Es gibt im Internet eine ganze Reihe von Seiten, bei denen man sich informieren kann, welche Cypher-Sweets empfohlen sind, welche aktuell sind, in denen auch aufgelistet wird, wie das einzeln funktioniert. Ich persönlich empfehle, also Beta-Crypto ist eine Idee dafür, das funktioniert. Ich persönlich empfehle jedem, der sich mit dem Thema ein bisschen mehr auseinandersetzen möchte, einmal das Observatory von Mozilla. Da kann man einmal so einen lustigen kleinen Scan gegen die Seite lostreten. Randbemerkung hier, ich empfehle vorher nach Möglichkeit, Mod Security oder zumindest den Feld der BAN auszuschalten, sonst gibt es wieder unnötige Seiteneffekte. Damit kann man seinen Server einmal prüfen und kriegt dann eine relativ genaue Vorstellung davon, was auf der Kiste auch abgeht. Das ist nur Webseitig. Beim SSH muss man mal gucken, wenn man an Modulen mit denen man da rangehen kann und mal prüfen kann, welche Krypto man eigentlich überhaupt bei SSH zur Verfügung stehen hat und nach außen publiziert. Und schlussendlich gibt es beim Observatory noch eine Unterseite, die sogar die jeweiligen Key-Stärken bei den Kurven anzeigt. Denn selbst wenn wir nicht ECDSA verwenden, sondern normales RSA, können wir trotzdem Elliptic Curve-Defi-Helmen verwenden. Elliptic Curve-Defi-Helmen hat im Apache seit der Version 2416 eine eigene Option, bei der sie unter Umgehung der API direkt ein System Call absetzen und mit der man eine stärkere Kurve einbauen kann. Da die alle von der NIST sind, ist es natürlich fragwürdig, aber die Standardkurve von 256 Bit kann man da auf die 521 oder die 384 zum Beispiel verschieben. Dazu gibt es eine ausführliche und längliche Diskussion und auch anhaltende Diskussion, welche dieser Kurven am besten ist, kann ich im Moment keine konkrete Empfehlung zu abgeben. Frage oder Beschimpfung? Danke. Du hast jetzt Observatory schon genannt. Was hältst du denn von Mozilla's SSL-Config Generator, der Konfig für Apache, Engine X und so weiter automatisch ausspuckt, wenn man dann einstellen kann, wie modern der Browser sein muss. Das wird von vielen Anfängern gerne genommen, um sich die Konfig für SSL zu generieren. Der spuckt ja unglaublich viele Optionen aus. Der Konfig-Generator an sich ist ein sehr, sehr schönes Tool, um das zu vereinfachen für Anfänger. Er deckt allerdings ein paar Use-Cases nicht ab. Da geht es dann um zum Beispiel eine USCP-Implementierung, wenn man mit Revoked-Zertifikaten arbeiten möchte, zumindest als ich ihn das letzte Mal verwendet habe. Aber als Tool für Anfänger, die sich gerade damit auseinandersetzen, ist das ganz wunderbar geeignet. Ich finde es großartig, dass Mozilla es auch mit dem Observatory überhaupt ein Dienst zur Verfügung stellt, mit dem man sich aktiv darum kümmern kann und der einem auch wirklich sehr aktiv weiter hilft dabei, sich dort zu verbessern, had ich befürchtet. Ich würde vielleicht einfach mal noch ein, zwei Sachen hinzufügen, die mir noch so durch den Kopf gegangen sind, weil ich bin vor ein paar Jahren genau an der gleichen Stelle gewesen, dieses eigener Rootserver will ich das wirklich. Man kriegt dann in der Regel ja irgendwie so zwei Empfehlungen, und zwar von der einen Gruppementen, die sagen, ja, ich habe auf einer LAN-Party schon mal ein Teamspeakserver aufgesetzt, da kann ein Rootserver jetzt nicht sogar anders sein. Die anderen sagen, macht das nicht, die Russen sind sofort auf deinem Server, du bist immer sofort am Arsch. Und es gibt häufig nur diese beiden Extremfälle, die haben mich damals ein ganzes Stück lang davon abgehalten, das irgendwie zu tun. Ich würde vielleicht einfach mal als Empfehlung sagen, ja, es ist definitiv anspruchsvoller, als mal irgendwo im Laden ein Teamspeakserver aufzusetzen. Man sollte sich definitiv damit auseinandersetzen. Und wenn man das das erste Mal macht, ist das kein Projekt für mal zwei Stunden eben vorm Schlafen gehen. Es ist aber auch nicht so gefährlich, wie es gerne schon mal irgendwie auf diversen Seiten irgendwo geschildert wird. Es ist also nicht so, dass, wenn man nicht irgendwie mit, weiß ich nicht, wie viel Zertifizierung seinen ersten Server aufmacht, die Nordkoreanen direkt am ersten Tag vor der Tür stehen oder in der Tür. Wie gesagt, also was du ja schon relativ ausführlich gezeigt hast, es gibt Themen, mit denen man sich ausführlich beschäftigen sollte, es ist aber irgendwie wirklich kein Voodoo. Und das einfach gleich nochmal als Empfehlung für die Leute, die halt irgendwie gerade darüber nachdenken, dass irgendwie das erste oder zweite Mal zu machen und denken, ich will aber nicht, dass der Ruste bei mir zu Hause steht. Vielen Dank. Als persönlicher Empfehlung kann ich da noch was hinzufügen. Das gab es zu meiner Zeit, TM noch nicht. Man hat irgendwann sich mal gedacht, dass es total geil wäre, wenn man diese Computer noch mal ein bisschen kleiner baut und hat dann unter Hilfenahme von Armprozessoren so kleine Dinger gebaut und die nach Waldbeeren benannt. So ein Raspberry Pi 3 kann erstaunlich viel Leistung rauspumpen hinten und wenn ihr einfach noch üben wollt, ist das eine total coole Spielwiese, um sich mit den meisten Sachen in der Bereich bekannt zu machen, denn der überwiegende Teil von den Dingen ist portiert. Ich kann das auch gerne nochmal zeigen, wir haben ja Zeit. Ja, das ist ein Raspberry Pi. Vielen Dank an den Herren in der ersten Reihe. Bitte, ja, ja, bitte. Meine andere Frage, wenn du dir jetzt wirklich so eine V-Server-Kiste da irgendwo gemietet hast als blutiger Anfänger, hast du drauf irgendwas implementiert und jetzt behauptet der Hoster, ja also von deinem gemieteten V-Server sind angeblich irgendwelche Angriffe gestartet worden, ja, hat ja auch angeblich eine E-Mail geschickt, von der du allerdings nichts weißt und irgendwann stellst du fest, Doppler, mein Server ist nicht mehr erreichbar, was ist denn los, rufe es dort an und kriegst dann gesagt, ja, wir haben ihn da irgendeine E-Mail geschickt, wir schicken sie noch gerne wieder und so sollst irgendwelche Unterlassungserklärungen da unterzeichen. Was würdest du jemandem raten, der damit überhaupt keine Erfahrung hat, wie er sich in so einem Fall verhalten soll? Das ist ein ziemlich schwieriger Fall. Also die meisten Hoster für den Privatbereich sind gewohnt, dass solche Dinge passieren und haben zumindest in einem Rahmen des Kunden-Supports da auch Verständnis für. Es ist aber letztendlich so, dass der Hoster dafür verantwortlich ist, also zumindest eine Teilverantwortung trägt in diesem Bereich und handeln muss. Wenn man sich in einer rechtlichen Bridouille befindet an dieser Stelle, kann ich nur sagen, lawyer up, also wenn rechtliche Sachen mit Unterlassungserklärungen oder so was auf einen zu fliegen, immer den Raten von einem Anwalt einholen, da kann ich auch, das ist falsch spezifisch, wirklich, da kann ich nichts zu sagen. Generell sollte man sich mit dem Hoster Support einmal auseinandersetzen und man sollte diese E-Mails tatsächlich sehr ernst nehmen, wenn sie dann auch vom Hoster kommen. Es gibt ja auch ganz gerne was Bamwellen mit sowas. Wenn man so eine Mail erhält, mit dem Hoster direkt telefonisch in Verbindung setzen, gegebenenfalls auch mit einem Techniker sprechen, die können einem in der Regel sehr genau sagen, was los ist, können auch normalerweise Hilfestellung geben, um das Problem zu lösen. Denn letztendlich liebt dieser Hoster davon, dass seine Nutzer bei ihm kaufen, dass diese Server laufen und sind natürlich daran interessiert, dann auch entsprechenden Support zu leisten. Sollte man nicht überstrapazieren, aber in so einem Extremfall habe ich sehr häufig erlebt, dass sie problemlos Hilfestellung geben. Ja, wenn dann keine Fragen mehr sind, dann würde ich das auch an dieser Stelle abschließen. Ich bedanke mich ganz herzlich bei Remote oder Grauhut.