 So muss es aussehen, wenn man einen Webdienst umsetzt, SSL Lab-Score überall 100%. Ich bin der Stefan, erkennt mich vielleicht von dem Vortrag von vor zwei Stunden. Und da habe ich gesagt, es gibt den Kryptomain-Manager und ich automatisiere alles, was jetzt Schlüssel sind, Zertifikate und so weiter, was halt zu Webdiensten, E-Mail-Diensten und so weiter dazugehört. Und da habe ich ein Projekt umgesetzt in Python, das ist der Kryptomain-Manager. Und da habe ich euch ein paar Slides mitgebracht. Mal sehen, ob ich die finde, ja, hier sind sie. Okay, fangen wir mal mit der ersten eine nicht zwischendrin. Wir haben ja vielleicht mal gehört, TLSA, DKIM, DMARG und so weiter und so fort. Und das TLS-Zertifikat kennt jeder letzte in den Krypt. So, wer hat schon mal von TLSA gehört? Umfrage, da gehen viele Hände hoch. DKIM, auch viele Hände, ARC. Ganz wenige Hände, aber es ist schon da. Wofür steht ARC? Authenticate-Addressivchain. Ja, geht los. Da kommen noch ein paar Leute rein. Inhaltsverzeichnis, Menge Zeug. Ja, mich hat das halt immer gestört, wenn man, wenn irgend ein Zertifikat ausläuft oder irgendwas abläuft, was ein Ablaufdatum hat, dann geht irgendwas nicht mehr und das wollte ich halt wegautomatisieren, so. Da habe ich viel umgesetzt. Wie macht man das mit einem Zertifikat, wie automatisch den TLSA Schlüssel? Momentan TLSA ist ein Ressource-Rekord, das ist kein Schlüssel, sondern ein Hash-Wert. Dann CAA-Rekord, was braucht man für den S-Sekt? Das geht automatisch über den Domain-Provider. Das Dane-Verform, wie geht das? Ich habe meinen Vortrag noch ein bisschen überarbeitet, den hatte ich schon mal auf den Linux-Tagen gehalten. Auch schon vorher mal auf der GPN. Ich habe es noch hinzugefügt. Das ist eigentlich noch ein MX-Rekord, ein SPF-Rekord. Wie hängt das zusammen? Ich habe noch ein paar Fragen, was für ein bisschen vollständiger wird. Wie geht es mit DKIM? Es gibt noch so ein Rekord. Was macht der Kryptomain-Manager eigentlich da drin? Wie werden die Daten übertragen, wo kommt was her, wo geht was hin? Wie funktioniert der Prozess der Erneuerung? Wie wird das ganze Ding eigentlich benutzt? Und ein paar Implementierungs-Sachen. Mal gucken, ob wir die Implementierung noch mit reinnehmen oder mal zeigen, wie sieht das dann im Ergebnis aus. Wir sind viel geworden. Aber ich denke, wir kommen da ganz gut durch. Was ist immer so der Ausgangspunkt? Ja, wir wollen eigentlich mal eine Web-App machen oder eine Webseite oder einfach so grob wäre, wie wir schon im Vortrag hatten vorher. Und da gehört vieles dazu. Man hat einen Domain-Namen, eine Webseite oder eine Web-Oberfläche der App. Man hat E-Mail, eine Mailing-Liste und alles muss sicher sein. Wie bei IoT, das S steht für Sicherheit. Und ja, dann geht das los. Und es geht das bei nichts, weil da gibt es ganz viele Dokumentationen oder auch nicht. Aber es gibt halt viele Begriffe, viele SAPK, sogenannte Sicherheitsabkürzungen, DNS-SOA, DNS-SEC. Ja, für die Webseite, da kennt man ja HTTPS, das Zertifikat, das ist zugehört auch HSTS. Gibt es auch noch, was ist eigentlich ein SAV-Rekord ja bei E-Mail. Und da gibt es viel Spam. Ja, und was hat denn da der DKIM-Rekord damit zu tun? Und das SPF, das hat man ja auch irgendwann mal gehört, ATSP, vielleicht mal zufällig über den Weg gelaufen, aber irgendwie nicht so richtig. Die Mark ist jetzt auch was ganz Neues. SAV-Rekord vielleicht mal gehört, aber noch nicht benutzt. Mailing-Listen, was ist denn das SAV, oder das neue ARC? Das ist ja auch was völlig Unbekanntes erst mal, aber es ist gar nicht so schlimm. Ich erkläre das gleich mal. Ja, man will ja das Ganze so haben. Ich habe jetzt meine schöne Webseite, der Weboberfläche. Und da ist da ein grünes Schloss da oben, da steht es die GioConnection und alles fein mit dem Zertifikat. Und dann kommt eigentlich das, das AST ist so der Traum, und dann probiert man selber was damit. Und dann geht das, das geht das nicht sicher und irgendwie ist so was falsch mit dem Zertifikat und keine Ahnung, ob was da passiert ist. Aber das kann man ja auch irgendwie verhindern, dem AST man verstehen. Was ist denn jetzt eigentlich dieses Zertifikat, SSL-Zertifikat oder TLS-Zertifikat? Jetzt sind Griffe SSL, Secure Socket Layer, aber glaube ich, der Begriffe für heute heißt Transport Layer Security. Ich glaube SSL 3.0 ist das gleiche wie TLS 1.0, das ist ähnlich. Mittlerweile heißt es einfach alles TLS. Ab und zu kommen halt noch solche Begriffe wie SSL-Zertifikat durchaus historischen Gründen. Man möchte eigentlich damit Authentication, also Schutz vor Fishing, das eben nicht der eigene andere Webseite ist, als die man eigentlich aufrufen wollte. Ja, es wird alles verschlüsselt übertragen und das sollte auch integritätssichergestellt sein. Da wird nichts zwischendurch verändert. Und wenn das alles verschlüsselt, das kann auch keiner reingucken, was man da an persönlichen Daten zu einträgt, außer der Webseitenbetreiber selber natürlich. So, es gehört halt ein bisschen was dazu, um das wirklich sicher zu bekommen. Zum Beispiel, dass dieses Zertifikat von einer CA ausgestellt wird. Die eben das auch nur für die eine Domain für den Anbieter ausstellt. Das ist halt auch nicht immer so 100%ig sicher. Also es gibt ja auch CAs, die das dann beliebig ausstellen. Es kann ein Softice-Fehler passieren, was auch immer. Also es kann halt passieren, dass eine CA für eine Domain, für jemanden ein Zertifikat ausstellt zu einer Domain, die demjenigen nicht gehört. Dann kann der in der Webseite machen, die offiziell als sicher angezeigt wird. Und die gehört dem aber gar nicht. Die gehört dem schon, aber die Domain dazu gehört dem nicht, die dann dazu aufrufen wollte. Und da kann man das natürlich etwas einfallen lassen. Das gibt ja diesen Domain-Name-Service. Und da steht ja die Domain drinnen und die IP-Adresse dazu, wo dann der Server dann drauf leucht und das Zeug ausliefert. Da könnte man ja das Zertifikat nehmen, dass da irgendwie ein Hash-Wert-Taus bilden, also eine kriptografische Prüfsummer, und die dann einfach mal damit eintragen in diesem DNS. Und wenn der eben berechtigt ist, in dem DNS zu dieser Domain sowieso die Rekord anzulegen, wie die IP-Adresse, das Service, dann ist der auch berechtigt, diesen Dienst anzubieten. Und das Zertifikat wird schon richtig sein. Da ist es auch egal, ob da jetzt eine CA, was Falsches ausstellt, weil, wenn derjenige keinen Zugriff zum DNS hat, kann der auch da das nicht einen Hash-Wert abliegen. Das koppelt das mit dem Domain. Und das Ziel soll am Ende sogar sein, dass man gar keine CA mehr braucht, sondern dass man sich selbst ein Selbstsignal-Zertifikat ausstellen kann und das nur noch über diesen TLS-A-Rekord in der Domain absichert. Okay, wenn natürlich das DNS übernommen wird von jemandem anders. Tja, dann ist Pech. Muss man halt weitere Sicherheitsmechanismen einführen. So, was gibt es noch? Der CA-Rekord ist auch neu. Seit September 2014 bietet ein bisschen zusätzliches Sicherheit hinsichtlich Ausstellungen von Zertifikaten. Wir gehen Sie wieder davon aus, eine Certificate-Sority stellt die Zertifikate aus. So kann man ja jetzt natürlich mehrere nutzen. Aber eigentlich nutzt man ja eh nur eine. Und da will man eigentlich festlegen, nur die eine darf das für mich ausstellen. Das kann man auch im DNS hinterlegen, als CA-Rekord. Dann dürfen andere gar nichts ausstellen. Tja, wenn Sie es trotzdem machen, läuft da schon was falsch, kann man das schon erkennen. Es wird halt nur von der CA gecheckt. Das ist jetzt nicht irgendwie für den Endnutzer, nicht, dass der Browser jetzt guckt. Das darf eigentlich nur Letzend-Crypt ausstellen, aber ein Zertifikat von Veris sein, das prüft ja nicht. Das ist wirklich nur für den CA gedacht gewesen. Tja. Es gibt noch dieses DNS-Sack. Was haben wir für ein Problem mit diesen ganzen Domains? Man kann ja. Das Domain-Name-System ist eben so aufgebaut, dass es verkettert ist. Also es gibt dann ein DNS-Server vom Internet an Peter, den man hat. Und der kontaktiert dann den richtigen DNS-Server am Ende, wo dann die Domain entsprechend gehusst ist. Da können auch beliebig viele Zwischenschritte dazwischen sein. Überall könnte natürlich ein Eintrag geändert werden. Und da ist es eben gut, wenn man das einfach signieren kann. Das ist eine Art Ende zu Ende zur Sicherheit. Man hat einen Eintrag. Der wird mit einem Schlüssel signiert. Dann kann man am Ende feststellen, ist der verändert nicht. So, was passiert aber, wenn da einfach ein Eintrag weggelassen wird? Dass er nicht da ist, falls natürlich auch, dass das nicht signiert ist und das nicht geprüft wird. Und da gibt es sogenannte Ring-Signaturen, die eben nachweisen, dass da ein Eintrag-Eigentur zwischen drinnen übersehen wird absichtlich. Stellt die Integritäts-Pest sicher und stellt dann eben sicher, dass durch DNS-Cash-Päusening, also wenn da so ein Cash in Zwischenspeicher drin ist, nichts hinzugefügt oder entfernt wurde. Ups, das hat sich schon wieder die automatische Bildschirmabschaltung dazwischen gemobelt. So, dann gibt es etwas. Domain-Based-Authentication of named entities, richtig? Dane, so heißt es. Jetzt gucken wir erst mal an, was das alles für Schrittes sind, die dazwischen durchlaufen. So, wir brauchen jetzt für unseren Service, für unseren Server, ein Zertifikat. So, da fragt man jetzt mal die Certificate Authority, zum Beispiel Let's Encrypt, gibt mir mal ein Zertifikat für diese Domain. Die macht das natürlich nicht einfach so. Die guckt erst mal, ist denn eigentlich der CAA-Rekord da drin, in DNS abgelegt. Darf ich denn überhaupt für was ausstellen? Dann läuft das natürlich über diese, es gibt diese DNS01-Authentication, da muss man im DNS entsprechenden Wert ablegen, die CAA gibt. Dann bekommt man am Ende doch mal das Zertifikat, wenn das funktioniert. Dann geht es weiter. Ich habe jetzt das Zertifikat und signiere das, dann habe ich dieses, nein, ich signiere das nicht mal ein Hash-Wert draus, dann habe ich diesen TLSA-Rekord, den trage ich dann auch ins DNS ein. Der ist auch per DNS-Sack mit signiert. Das wird vom DNS-Anbieter selbst vorgenommen, dieses DNS-Sack, diese DNS-Sack-Signierung, muss man also auch darauf vertrauen, dass das klappt, dann kann man sagen, so der Client, was macht der? Der prüft natürlich auch das Zertifikat, das ist okay ist, und der prüft auch, idealerweise, DNS-Sack und den TLSA-Rekord, der TLSA-Rekord zum Zertifikat passt und dann sagt das alles okay. Leiter Firefox und Chrome, die machen das glaube ich nicht. Das ist das Tensions, um DNS-Sack und TLSA zu prüfen. Gehen wir weiter, kommen wir zur E-Mail. E-Mail ist halt noch ein bisschen aufwendiger von den ganzen Geschichten, weil da gibt es noch Mailboxen dazwischen, und das wird weiter gesendet und so weiter. Wie sieht das eigentlich aus? Eine E-Mail ist ja eigentlich wie ein Brief, da gibt es einen From und ein To. Wie kommen die jetzt eigentlich in die Mailbox? Da gibt es einen absenden Mail-Server und der guckt erstmal nach, das geht an info.at-samwärts.example, samwärts.example ruft der ab. Da gibt es ein MX-Rekord drin, da steht drin, der Mail-Server mail.srb, der ist dafür zuständig, mal den Eintrag im DNS davon angucken. Da ist ein A-Rekord drin, also eine IP-Adresse. Das sind die hier, und dahinter ist dieses Postfach, und da muss das hin so. Das ist eine kleine Abstraktion, da kann ich eben jede beliebige Domain nehmen und kann halt das auf denselbe Postfach setzen oder auf mehrere Postfächer so lautbalancing. So. Okay, und jetzt wollen wir eigentlich wissen, wenn das umgekehrt ist, also, ich bekomme eine E-Mail von jemandem und das ist das auch wirklich von dem. Die erste Idee ist eigentlich, man kann ja das Ganze umdrehen, also ich gucke mal, da steht ein From, Samwärts.example, was ich bekomme, ich gucke mal, auf die Domain, da müsste ein MX-Rekord stehen, und da müsste er drin stehen, ja, das verweist dann wieder auf diesen Mail-Server und der IP-Adresse, und das ist die IP-Adresse, von der das ankommt und so. Das ist eigentlich schon mal eine gute Idee, das zu prüfen, aber das ist auch gar nicht. Da hat man dieses Center Policy Framework eingefügt, das ist ein zusätzlicher Rekord, das ist eigentlich ein TXT-Rekord und da kann man eben noch hinzufügen, zum Beispiel plus MX, also der Mail-Server hinter diesem MX-Rekord, der darf tatsächlich E-Mails versenden für die Domain und alle anderen nicht. Das ist halt eine zusätzliche Konfiguration, wo man auch dieses Verfahren abprüfen kann. Reicht uns natürlich nicht. Wir sind ja alle Kryptonörts und wir wollen ja Signierungen und so weiter. Da wäre es eigentlich gut, wenn der Mail-Server, der was versendet, die Mail noch mal signiert, so ähnlich wie so ein Poststempel, dann kann man die Signatur gegenprüfen, ob das auch wirklich von diesem versendeten Mail-Server und da gibt es dann entsprechend Eintrag dazu. Den SPF-Rekord haben wir schon kennengelernt. Der Hilfenste ist da erstmal noch nicht weiter. Es gibt noch weitere Einträge, zum Beispiel ADSP. Damit kann man sagen, ja, da gibt es eine DKIM-Signatur, die sollte ausgewertet werden, also das ist da schon implementiert, die anderen haben es noch nicht, aber wir haben das schon, das hat sich aber nicht so durchgesetzt, das ADSP, das hat man dann die Mark eingeführt, dass man eine weitere Option hat, aber es stellt sich um das sicher, wenn da die Mark Eintrag da ist, wenn da drinstehen, ja, die E-Mails, die von mir kommen, sind alle DKIM-Signiert. Okay, man kann noch was dazu angeben, dass noch ein Report-Email-Adresse da ist, wenn da irgendein Fehler ist, so was richtig gelaufen ist, so was auch immer, wird dann Report hingeschickt, dass man auch Fehlerberichte sehen kann. Es gibt noch SRV-Rekords, da gibt es auch andere Sachen, wenn man euch das so verstellt, wie ein MX-Rekord, das ist ja nur dieser Mail-Server, das ist für diese Domain zuständig, und man könnte sich ja jetzt noch vorstellen, das Universal zu machen, also zum Beispiel, da gibt es bei der Domain noch den Service, und der ist für SMTP, und der für EIM-Hubs zuständig feinkranular und so weiter, da gibt es auch einen Fortschritt. Das sind aber die ganzen Rekords, die ma so wichtig sein könnten. Wie sieht das aus mit dem DKIM? Dann gibt es den Mail-User-Agent, das ist der Sunderbird zum Beispiel, den Mail-Transfer-Agent, glaube ich, nicht Transport-Agent, der Mail-Transfer-Agent. Postfix. Da geht es dann per SMTP raus, zum nächsten Mail-Transfer-Agent, das ist der Mail-Transfer-Agent, und der Mail-Delivery-Agent erlaubt einen Zugriff per IMAP, dass der andere Mail-User-Agent sein eigenes E-Mail-Postfach abfragen kann. So, mit diesem DKIM kommt halt der Teil dazu, dass es noch, dass die ausgehende E-Mail für den Mail-Service signiert wird, mit einem, da wird halt der Private-Keep genommen, also das Signieren kann zum Beispiel der RS-BAM-D machen, zwar eigentlich ein Spam-Filter, aber der macht auch Signierungen als zusätzlichen Dienst, und auf Empfängerseite kann das halt der RS-BAM-D wiederprüfen, das ist halt schön, der haben es halt einfach mit drin gemacht und zwar eigentlich verschiedene Sachen, aber gleich so eine Komplettlösung, so was Feindes. Der muss natürlich wissen, so, und den gibt's im DNS zum passenden DKIM-Rekord. Und das macht aber nur, wenn da ein DM die mag, ein Rekord drin steht und sagt, du musst hier ein DKIM prüfen, das ist verfügbar und wenn du eine andere E-Mail bekommst, wo kein DKIM-Signatur dran ist, dann ist das auf jeden Fall beim, da hab ich ein kleines Programm geschrieben, warum? Weil natürlich das kryptografische Schlüssel uns halt immer mal wieder als Künstlerin, das ist mal der Privet-Key rausgekommen oder was auch immer, es ist halt nicht immer sicher, mal lange genug probiert irgendwann, kriegt man den schon raus und das ist halt immer gut, denn die Laufzeit kurz ist. Der krypt im Endeffekt schon geschrieben, der kümmert sich um alles, der holt sich die Zertifikate, steuert die ganzen Server, Mail-Server und Web-Server und so weiter und der hinterlegt auch die ganzen DNS-Rekord, die den haben automatisch und das ganze nennt sich ja immer schön Infrastructure-Code wir haben eine Konfigurationsdatei die hat das halt alles enthält was wohin gehört und dann ist eben auch wichtig, dass das ganze Zeitversetzt abgearbeitet ist, dass es so interleaft weil ich will eben noch, dass ein alter Key eine Weile Bestand hat, auch wenn es schon einen neuen gibt. Und auch wenn ich jetzt eine Email versende und die ist signiert dann wird ja irgendwann in der Zukunft empfangen. Da muss halt der alte Schlüssel noch eine Weile gültig sein, aber bei allen neuen E-Mails nicht versendet, die sollen schon mit dem neuen signiert sein. Deshalb brauche ich jetzt drei Schritte Präper, hol over Cleanup Präper ist ganz klar, Zertifikate generieren erstmal TSA-Rekord, veröffentlichen DKI-M-Schlüssel generiert habe so das Zertifikat, das da wird noch eine verwendet die ganzen Sachen sind erst mal veröffentlicht die öffentlich sein sollen kommt der Role-Oberteil das heißt ab jetzt wird mit diesem Zertifikat der Serviceangeboten alle E-Mails mit diesem DKI-M-Key signiert das Ziel dahinter ist jetzt dadurch, dass ich so ein bisschen Vorlaufzeit habe ist auch durch alle Caches alles mal durchgewandert ist auch bekannt und dann steht das so zur Verfügung und funktioniert auch ich lasse das noch eine Weile veröffentlicht auch wenn jetzt der alte Schlüssel schon nicht mehr verwendet wird und irgendwann Zukunft kommt der Cleanup und das ganze alte Zeug wird weggeschmissen weil drei Jahre später ist das eh dann muss die E-Mail auch mal angekommen sein oder was auch immer ein kleines Programm dieser Mainmanager kann man per PIP installieren sie hat ein paar Abhängigkeiten die PIP nicht nachziehen kann die muss man dann per App normal installieren da gibt es auf meiner Website eine Anleitung da habe ich es schon geschafft ein schönes Tutorial zusammenzuschreiben wird noch ein bisschen ausgebaut wenn ich die Zeit finde dazu ja was haben wir da drin da haben wir die die Main-Datei die Module drin, das Modular aufgebaut das heißt da gibt es dann noch Komponenten mit denen das erweiterbar ist ist schon einiges drin es gibt einen Kern und es gibt ein State-Handler State-Handler ist wichtig das Preperolover und Cleanup ist ja Zeitversetzt das heißt ich generiere jetzt erstmal was was ich dann aber später per Holover übernehme das muss ich mir jetzt zwischendurch speichern ein Konfigurantler ist halt auch wieder ein Modul das hat die Konfigurations-Datei einliest man kann sich das sehr gut vorstellen dass man in Zukunft sagt ok ich habe halt nicht mehr die Konfiguration als Inni-Datei-Format wie ich das hier habe und ich habe vielleicht mal eine Datenbank was auch immer, dann kann ich das aussetzen was haben wir uns so an Modulen drin kommen wir an Modulen also wo die ganzen Modulen so drin sind Kryptomain-Manager-Modul wo man zum Beispiel mal einstellt die temporären Dateien werden dort gespeichert das ist auch sowas generell dann Zertifikat das steuert halt letztendlich an oder was anderes wenn es mal kommt dann gibt es ein Modul für DKIM das gibt ein Modul was nur die Domain-Zugreffer macht das hat die Rekords erneuert das Service-Modul reloadet oder restartet so Dienste wie ein Web-Server die H-Parameter-Modul weil die Diffy-Helmen-Parameter das werden wir ja auch erneuern also habe ich das mit reingenommen vor kurzem ich habe mal einen Modul rein Domain zum Beispiel gibt eine Hauptdatei und ein Konfigentler-Datei das ist ebenso wenn es ein Modul hat hat es ja eine eigenständige Konfig das habe ich halt dann auch Modular aufgebaut und die Hauptdatei ist halt dass sie da dieses Prepair-Roll über den Glean abzusteuern und es gibt einen Händler dazu das gibt kann auch mehrere Händler geben also ich habe selbst das geschrieben das DNS-Up-Tools aber wenn man jetzt irgendein anderen Domain Name-Server hat will man jetzt vielleicht ein extra Händler der genau diese Schnittstelle anspricht nehmen genauso auch bei DKIM ich nutze erst beim D was sowohl die Kies generiert als auch die Signierung macht als auch die Signatur prüft aber wenn ich sage ich will die Kies aber mit etwas anderem generieren dann hätte ich dann einen anderen Händler da gebe ich nicht erst beim D an so das ist jetzt die Domain weil ich jetzt die Benutzung so Schritt für Schritt auch leerer ist vielleicht noch nicht ganz es ist vielleicht noch nicht so schön wäre gut wenn ich ein bisschen Feedback bekomme wo man das sieht das ist vielleicht unklar oder das ist vielleicht zu trivial geschrieben oder so aber jetzt mal kurz wie nutzt man das ganze Ding eigentlich es gibt vier Sachen, es gibt halt nicht nur dieses Preperol über den Glean ab sondern auch Update warum wir haben ja noch andere Einträge als dieses ganze Kryptografische Zeug z.B. die IP-Adresse IPv6 die MX-Rekord die SAV, die Mark, SPF und so weiter ich will das ja eigentlich alles so ein bisschen konsistent haben dass ich sage ich habe eine Konfiguration und da steht dieses ganze Kryptografische Zeug drin aber auch die ganzen Standardkonfiguration und damit habe ich eine Konsistenz hergestellt deshalb gibt es die Update Funktion die dann auch alle Einträge da ausrollt das ruf ich dann eben so auf ich ruf meinen Kryptomanager auf sage extra Update dazu ich kann mehrere Konfigurationsdateien angeben eine kann z.B. die Credentials enthalten der Rest die Konfiguration wenn es da eine Kollision gibt über diese Dateien hinweg gibt es halt auch eine Priorisierung das glaube ich die letzte Datei immer zählt dann kann man zu diesen drei Schritten das Renews brauch ich nichts dazu schreiben oder ich schreibe einfach explizit next oder explizit präpär dazu wenn es wieder in fun los gehen soll oder so gibt bieter alle Konfigdateien an sucht sich dann einen richtigen Teil raus und kümmert sich darum was steht denn da eigentlich drin in dieser Credentialkonfig habe ich jetzt Nutzernahme und Passwort vom Domainanbieter ich stelle das nur in der Networks drin ich will das noch ausbauen dass man eben andere DNS-Server oder Direktanbieter kontaktieren kann damit so ist es eben nicht schön weil da habe ich einfach nur meinen Account ich kann das nicht zu dem Main delegieren ich habe keine Reserler Funktion das mag ich nicht so was steht denn noch so drin die Zertifikatskonfiguration steht drin da gibt es einen Allgemeinteil wir haben auch gesehen die Modulname da gab es das Modul Zert und hier steht es auch so drin also das ist auch an diesen Namen in diesem Dateisystem angelehnt damit wir das auch konsistent haben dann nehme ich den Händler die Hydrate, weil die Hydrate ist so ein Tool womit man jetzt in Krebs die Zertifikate abholen kann es ist besser für den Fall geeignet als dieser Zertbot weil der Zertbot schon ein paar Automatisierungsfeatures drin hat das können wir hier nicht nutzen weil das Teil das übernimmt die Hydrate kann auch DNS 0.1 Authentification heißt es man kann die Keysights angeben die E-Mail-Adresse wo die Notifikations das ausläuft die interessieren mich aber nicht falls er neuert ja automatisch dann kann ich auch sagen ich möchte unterschiedliche Zertifikate zum Beispiel für unterschiedliche Domains noch mal intern hier einen Namen geben den ich nutzen kann und den zu referenzieren innerhalb der Konfig da gebe ich noch an zum Beispiel dieses Zertifikat soll hierhin dieses EDC SSL können auch Flexen zusetzen das ist zum Beispiel ein Staging-Zertifikat weil ich will herum experimentieren und letztendlich entgrüpft erlaubt mir das nicht so viele neue Zertifikate immer wieder auszustellen so ein Fruttling wo die sagen ab jetzt Schluss ab fünf Erneuerungen am Tag oder irgendwas gab es noch noch einen Monats-Limit können auch einen Namen vom Zertifikat festlegen und man kann auch Subject Alternative Name Zertifikate anlegen das heißt Zertifikate die für mehrere Domains gleichzeitig güldig sind das gleiche geht auch für DKIM Keys wieder für alle Konfigurationen die für alle DKIM Konfigurationen güldig ist und wieder die Unterkonfigurationen wir haben ja nur einen DKIM das kann ich dann wieder referenzieren die Konfiguration da nutzen will kann ich festlegen dass ich die Dateien wo hinschreiben soll die Konfigurationsdateien und wo das alles landet am Ende an Schlüsselmaterial wichtig ist halt die Konfigurationsdatei weil die sind durchnummeriert weil die wechseln ja dann ständig die musikale Referenzierung welchen ich nehmen will so, schauen wir mal weiter Domain ist eigentlich das wichtigste auch wenn man den Rest nicht nutzt will man ja die Domain steuern paar Jahre noch ein Händler ich nutze mein eigenes DNS-Abtools und will da Internetworks bedienen damit dann lege ich ein paar Domains an Domain.example oder Sub.domain.example die Hauptzone da kann ich ein Sua-Rekord setzen mit allen Parametern die dazugehören Hustenmaß, Refresh-Time, Negativ-Caching-Time und so weiter und das Schöne ist, ich habe auch so eine dünn DNS-Funktion die IPv4-Adresse will ich automatisch konfiguriert haben und ich will noch die dazuschreiben warum auch immer genauso kann ich es für IPv6 machen ich kann hier ein Plus gleich hinschreiben dass ich nur was hinzufüge dass ich das nicht überschreibe es kann dann sinnvoll sein wenn ich eine Domain habe oder eine Zone habe aber mehrere Server oder Services die es voneinander getrennt sind die sollen sich aber nicht gegenseitig in die Quere kommen da kann ich zum Beispiel eines manuell konfigurieren eins automatisch oder mehrere Sachen automatisch da habe ich eben eine feinkranulare Such-Unersetz-Strategie kurz die da drin sind, überschreiben mit dem oder nur den MX40 überschreiben kann ich sagen dass einer kümmert sich um den MX10 das andere ist der MX20 die arbeiten unabhängig voneinander verwalten auch ihren Domain-Eintrag der unabhängig voneinander ist ja auch eine Sache die sehr sinnvoll sein kann weil sonst ist es schnell so was automatisch geht greift sich immer alles diese ganzen Automatisierungstools dann kann ich das nicht mehr annehmen weil irgendwas ist halt immer noch als Ausnahme und dann kollidiert das damit man kann das jetzt nochmal in Detail angucken also so was wie IPv4-Adresse setzen mit ist gleich, überschreibt aber alle anderen A-Records in dieser Domain und das macht es aber auch wirklich in der Reihenfolge das erste sind Zufügden alle restlichen Entfernte das keine Lücke entsteht das ist nur ein Zufügen plus ist es gleich MX-Record habe ich auch schon vorhin erwähnt alle anderen werden dann gelöscht bei dem wird halt das was rechts steht hinzugefügt und alle anderen MX40 werden gelöscht also welche die nicht hier drin sind hinterher SRV-Records sind ein bisschen umfangreicher, da gibt es halt Service Angabe zum Beispiel was gibt es so als Service das IMAB zum Beispiel LDAP Protokoll was UDP über TCP über welchen Ports wird es angeboten wo wird das angeboten also welche Domain kann noch eine Gewicht und Priorität festlegen das hat mal mit den gleichen Suchen und Ersetzen wie bei dem anderen auch modern feinkranular und Neujarn und nur Ausgewählte damit der D-Mark-Record das ist wie so ein Dictionary also das ist nur einer Allow-Tool-Protomain da kann man zum Beispiel so Sachen angeben wie das ja wenn das DKIM nicht stimmt muss das die Quarantäne geschoben werden die Mail und dann gibt es so einen so Response-Angaben wo man E-Mail-Attressen hinschreiben kann wo dann eine Nachricht hinkommt wenn da was nicht geklappt hat oder wenn was verschoben wurde und die einzelnen ändern der D-Mark-Rekord enthält ja das alles so halt per Simikol angetrennt was glaube ich oder per Lehrzeichen ich weiß es nicht mehr, es ist eigentlich auch nicht ist auch komplett egal wie das gemacht wird sich nutz einfach den Cryptomainmanager und merken wir gar nicht mehr wie der Rekord aussieht auch als Atomic-Operation durchgeführt ich muss die Anführungszeichen mal nach oben setzen das habe ich glaube schon korrigiert beeinigen das will ich einfach nur löschen und ersetzen ja nicht auch die Markistgleichen schreiben dann sage ich alles was ich hier nicht angebe als Parameter die werden rausgeschmissen wenn da schon was stand der SOA-Rekord ist ähnlich aufgebaut da habe ich auch viele Angaben dazu was haben wir da hier primärer Name-Servers Seriennummer Retricount Exbiotate Negative Caching aber wenn der dann mal danach suchte ist immer mal ein bisschen was anderes also das wurde auch einiges umgestellt beim SOA-Rekord zum Beispiel dieses Negative Caching Time-to-Lift hieß früher glaube ich Maximum ne Minimum Time-to-Lift das gibt an wenn jetzt der TTL-Wert für bestimmte Rekordskürze ist dass das glaube ich der kürzeste mögliche ist da drin wenn ich jetzt ein DNS-Cache habe und ich ruf da ein Rekord ab ich ruf eine Domain ab die nicht existiert wird dann angetragen, die existiert nicht und dieses nicht Existenzeintrag wird eben mit diesem Negative Caching was da drin steht hinterlegt und asked danach wird eben überhaupt mal wieder nachgeguckt ob der tatsächlich nicht existiert es gibt nur eins so ein Rekord für eine Zone wichtig das heißt also wenn der geändert wird der wird nicht das neueren Zugefügt in der alte gelöscht der wird dann tatsächlich in Plays geupdatet SPF wird ein bisschen anders gehandhabt wir kennen ja das ist ja mehr wie so eine Art Liste wir kennen ja angeben darf der Mail server dafür versenden oder darf der nicht versenden ich sage zum Beispiel der da steht das ist ein Minus Mx drin weil der Mail Server der da angegeben ist darf für die Domains eigentlich gar nichts versenden dass ein Reihenempfang ein Mail Server nur empfangen darf zum Beispiel die Flex die kann ich dann hinzufügen und entfernen in der mich zum Beispiel nur hinzufügen dem ch1 plus ist gleich in Schreib oder mit Minus ist gleich kann ich auch sagen ich will nur das Flack entfernen und nicht den gesamten Rekord neu setzen Art DSP Rekord der Vorläufer von D-Mark das ist ja nicht wirklich umgesetzt wurde da kann man sagen Art DSP Order also das alles ist DKIM signiert ist eigentlich irrelevant was hat nur noch den CRR Rekord der muss zum Beispiel das hier drinstehen und ich letztendlich in den Grip nehmen muss ich ich glaube ich null ist ich habe ein paar Beispiele die nicht funktionieren das ist so ungefähr sieht das aus was man da reinschreiben kann besser ist aber einfach Auto rein zu schreiben weil ich habe ja schon bei der Domain festgelegt dass da das Zertifikat dazugehört und zwar hier ich gebe ja die Domain an und sage das Main Zertifikat dazugehören und da steht hier drin dass der Handler letztendrückt ist wie das da das verwende und da ist es ja klar was als CRR Rekord hingehört so TLSA ist halt wichtig da gibt es Angaben da gibt es so Flex die dann sagen soll jetzt das gesamte Zertifikat gehescht werden oder soll jetzt auch die gesamte Zertifikat Chain gehescht nein geprüft werden soll jetzt der Haschwerten Schad 256 sein also da muss man einfach nachgucken wenn man das einträgt es gibt halt so ein paar Standardsachen wie es immer angetragen wird was sind die Cycles Repair also fügt eben die DKIM und TLSA kurz hinzu die dann geprüft werden können da wird aber noch keine Prüfung erfolgen weil da ist ja noch nichts damit rausgegangen beim Rollover wird in DNS nichts geändert werden die Zertifikate und DKM Sachen da nur auf dem Server angewendet und beim Client in Ab werden die auch in DNS gelöscht das sind jetzt die ganzen Komponenten die da drin sind die habe ich jetzt mal in den Folien mit dazu geschrieben ist eigentlich nur für Entwickler interessant was vielleicht noch relevant ist ist sowas das hat mit dem Aufbau zu tun ich kann ja, ich habe ja einerseits zum Beispiel das wo ich das Zertifikat anlege und einmal das mit TLSA-Records das sind aber zwei getrennte Module ich muss aber sicher gehen, dass das Zertifikat schon da ist damit ich den TLSA-Record berechnen kann das habe ich eben so ähnlich aufgebaut wie der Gedanke bei SystemD dass es halt prüft ist es schon fertig mit dem Ding dann kann ich das machen das schreibe ich eben nicht als Code im Beratief ineinander weg weil das sind ja einzelne Plugins, einzelne Module und da habe ich eben noch so ein Subsystem was das ganze Tracked, das ist fertig jetzt kann ich das anwenden also das schreibe ich dann beim TLSA-Records hin wenn das Zertifikat fertig ist dann rechne ich den TLSA-Record aus das ist einfach nur dafür da, dass das System leicht erweiterbar ist also da ging es eben wirklich um Erweiterbarkeit deshalb ist da auch ein ganzes Stück mehr kurd als jetzt irgendein Shellscript oder ein einfaches Python-Script wo das hintereinander weggeschrieben ist geht es um Erweiterbarkeit auch um Testbarkeit sehr viele Komponenten sind da drin ja es ist jetzt nicht so interessant wir können zur Diskussion kommen wir haben noch fünf Minuten ja ich zeig nochmal was das haben wir schon gesehen das sind einige Sachen sind jetzt nicht vom Gryptomainmanager selber, das sind Einstellungen noch zum Web-Server und so weiter aber was kann ich zum Gryptomainmanager zeigen ich habe hier mit diesen DKIM-Vali-Data mal geprüft ob das geht was kommt da zurück, sieht man das überhaupt davon ich kann nicht das größere machen ja das geht, das geht tatsächlich wir haben natürlich eine ARC-Signatur Authenticate-Addressiv-Chain heißt es und hier hat es mal nicht geklappt ich kann aber sagen warum Resalt-Fail-Bet-RSA-Signatur ich habe es nämlich nochmal gemacht und da hat es geklappt warum? ganz einfach man muss ja die Services reloaden dass sie die neuen Keys annehmen und erst beim D ist ja für die Signierung zuständig und das System-City-Reload erst beim D funktioniert nicht, da kommen neue Prozesse und da habe ich das heute so umgestellt oder gestern, dass das restart macht es gibt auch einen anderen Load-Befilm, wo erst beim admin aber der funktioniert auch nicht da haben die dann auch geschriebene Autoren es ist eigentlich so ein Stubb da ist gar nichts implementiert, man kann das veraufrufen aber es hat gar keine Funktion ja das ist irgendwie komisch ich hoffe mal, das wird irgendwann dann kann ich das reload nehmen, das restart gefällt mir nicht weil es wieder so eine Zeit wird das irgendwie neu startet und erst mal nicht aktiv ist wenn da gerade die wichtige E-Mail reinkommt geht dann problemlos, also keine Ahnung das ist auch noch ein schöner Test da sehen wir auch das DNS-Sekt, HLSA und SMTP, alles schön abgesichert ist so gibt es denn Fragen gibt es Leute, die das einsetzen möchten oder so oder dran mitentwickeln Kommentare Beiträge, da ist was wir haben ein Mikrofon, oder? es ist sehr wichtig, dass dabei das DNS-Sekt funktioniert ob es auch irgendwelche Tools oder Plugins zum Monitoren von DNS-Sekt Nein, DNS-Sekt ist nicht implementiert das macht der Main-Provider selber aber bei der Folgeversion, die ich dann davon machen will bei der Weiterentwicklung will ich auch selbst DNS-Sekt steuern also dass ich jetzt einen eigenen DNS-Server habe und da auch das DNS-Sekt Signierung und so weiter damit mache und ein Monitoring-Tool was dann auch die anderen Komponenten prüft das ist auch noch so ein Ziel was ich umsetzen möchte das ist aber auf GitHub, wenn du möchtest kein Problem kannst du auch machen das Ding ist, ich betreibe selbst einen DNS-Server und ein Power DNS-Sekt funktioniert das ganz gut das DNS-Sekt wird automatisch gemanagt von Power DNS nur gibt es nicht wirklich gute Monitoring Tools dazu das heißt, wenn DNS-Sekt mal nicht funktioniert weiß ich nicht, wie ich das erkennen kann Ja, das werde ich auch, muss ich mal ausdenken werde ich mal schreiben wenn ich Zeit dazu habe wäre es sowieso ein cooles Tool was man auch einfach mal so als Host-Service anbieten könnte da kann sich dann jeder selber registrieren und hat immer seinen Monitoring drauf weitere Fragen da kann man dann auch draußen klären ist ja schon knapp ok schließe ich den Vortrag ich bedanke mich