 Erst mal vorweg, also ich werde wie gesagt was mit versteckten Blog-Spreiter, WSD und Tor sagen, aber wenn ihr sagt, direkt WSD ist doh, oder ihr wollt das weit machen, bevor direkt WSD da ist, ihr könnt versteckten Blog-Sprecher auch in anderen Systemen aufsetzen. Auch wenn ihr sagt, Tor-Anonymität brauche ich eigentlich gar nicht, dann kann ich vielleicht trotzdem einen Blog-Spreiter für eure Wecker-Prozesse einbauen, oder auch trotzdem, also das ist die Vorteil mit dem, dass wir in euch anonymität nicht richtig sind. Angefangen habe ich mit dem Thema, weil ich Backups haben wollte, die Anforderungen, die ich hatte, sind hier aufgelistet, die sahen mal anders aus, aber das sind eigentlich auch die Klassiker, die man eigentlich haben möchte, also die ersten drei, Vertraulichkeit, Verfügbarkeit und Integrität. Also das, was man klassisch so als sicher halt versteht, dann möglichst magiefreie Konfiguration, das war mal eine magiefreie Konfiguration, aber mittlerweile ist da doch irgendwie so viel Funktion dazugekommen, dass ich davon leider abrücken musste. Also bei der Backup-Software, die ich zuerst hatte, war es halt so, dass man jedes beliebige Backup-Medium an den Rechner anschließen konnte, wenn es einmal eingerichtet war und dann seine Backups darauf machen musste, man brauchte keine Datenbank und all so was. Und es wird automatisch erkannt, welches Backup jetzt gerade am Rechner ist und dann wird halt die Verschlüsselung gestartet und dann sollte es funktionieren. Jetzt, wo Tor dazugekommen ist, geht es weiter nicht mehr, ich werde gleich drauf einkommen, warum. Aber es ist trotzdem, also der Versuch bei magiefreie Konfiguration, da verstehe ich halt, dass es doch noch einfach genug ist, dass wenn irgendwie die ganze Software irgendwie mal kaputt sein sollte, dass man auch noch mit Hand an die Backups reinkommt, ohne irgendwie ersten Datenbank dann irgendwie reverse engineern zu müssen oder sowas, weil da habe ich in der Vergangenheit schlechte Erfahrungen gemacht. Also zum Schluss freie Software ist mir natürlich auch noch, ist mir am Herzen, ich komme auch hier von der Federo-Gruppe in Köln, also hier von der SSFE, wir haben hier auch noch einen Stand, also wenn euch da das Thema allgemein interessiert, könnt ihr gerne noch heute oder morgen vorbeikommen. Freie Software, ich weiß nicht, wie viele hier aus dem Software-Bereich kommen und eher aus dem Medienbereich, ist hier Freie Software allen an den Griff? Okay, das weiß ich jetzt mal. Ich habe mich jetzt als geinterpretiert, auch wenn die Beteiligung geht so. Also hier steht das, was Freie Software sein soll, also es gibt die vier Anforderungen, die muss ein Programm erfüllen, um Freie Software zu sein, also Freie Software nach den Regeln hier gelistet sind. Ich werde im Vortrag auch darauf einfallen, warum diese Freiheiten wirklich nützlich sind, beziehungsweise wo ich diese Freiheiten auch gebraucht habe, um zu dieser Lösung zu gelangen, die ich hier vorstellen werde. Wie gesagt, es gibt eine Kölner-Gruppe, wir treffen uns einmal im Monat im C4, wenn euch das Thema interessiert, kommt vorbei. Ja, kommen wir zu ElectroBSD. Eigentlich hatte ich gehofft hier schon zu sagen, es könnte ElectroBSD fertig, ich könnte da runterladen und anschauen. Das ist immer noch nicht so weit. Es gibt die Webseite, die könnt ihr euch anschauen, aber Downloads sind noch nicht da. ElectroBSD erstmal, was es überhaupt ist. Wie ihr seht, das ist FreieBSD plus Patches minus Blocks. FreieBSD, das Betriebssystem, das ist ein Begriff. Also FreieBSD ist ein kostenfreies Betriebssystem, was hauptsächlich auch freies was besteht. Aber es enthält, wie die meisten anderen kostenfreien Betriebssysteme Teile, die keine Freiessoftware sind. Die möchte ich nicht weiterverbreiten, also das sind hier als Blocks, also die werde ich vorher entfernen. Mir geht es nicht darum, dass der Nutzer, die ich irgendwie wieder verwenden dürfte. Also jetzt nehmen wir meinen Laptop als Beispiel. Ich habe eine Firmnetzwerkarte, die funktioniert nur mit proprietärer Firmware. Und die proprietäre Firmware muss frei geladen werden. Das heißt bei FreieBSD ist die Firmware schon dabei, aber die Firmware ist proprietär. Bei ElectroBSD würde es so aussehen, die müsstet halt die Firmware euch selber installieren. Wie geht es da darum, dass man auch die bewusste Entscheidung trifft und dann wirklich sagen kann so, man rechnet es jetzt so vom Betriebssystem zu so und zu viel Prozent frei. Also bei ElectroBSD sollte es so sein, das Betriebssystem sollte 200 Prozent frei sein. Aber die Firmware, die nicht direkt im Körnel ist, sondern nur durch den Körnel geladen wird, ja die muss halt teilweise proprietär sein, wenn der Kram funktionieren soll. Und hier muss halt jeder selber die Entscheidung treffen, möchte ich dann irgendwie, dass meine Netzwerkarte funktioniert, kauf ich mir vielleicht eine andere Netzwerkarte oder nutze ich die proprietäre Firmware. Ah ja, Patches, also FreieBSD setze ich jetzt schon seit etwas über 10 Jahre ein. Die meisten FreieBSD-Nutzer, die ich kenne, haben sich auch eigene Patches irgendwie dazu gebastelt, die sie halt mit sich umschleppen und natürlich versucht man auch, die Patches wieder zurückzugeben, aber manchmal dauert das. Und von da ist es schwierig, wenn man mit anderen Leuten redet, so was jetzt ohne einen, ja ist jetzt FreieBSD mit Patches ein, ja ist jetzt auch FreieBSD mit Patches ein, weiß man halt nicht so, selbst man ist das gleiche ein, was sind die Unterschiede. Also da habe ich mir halt gedacht, so wenn ich halt zum einen FreieBSD mit Patches, wenn ich dem einen Namen gebe, dann kann ich auch darauf hinweisen und dann können die Leute das besser vergleichen. Soft Protection, das ist eine Funktion von ElectroBSD, die man auch mit FreieBSD erreichen könnte. Das ist, wenn der Rechner einmal gestartet ist, dann kann man den so einrichten, dass, wenn der Rechner plötzlich ausgehen würde, er nicht mehr wieder hochkommen würde. Das kann man jetzt natürlich sagen, ist ein Nachteil, ist aber auch, kann auch ein Vorteil sein, wenn jetzt der Rechner im offenen Betrieb entfernt wird, wenn man noch die Zeit hat, eben den Strom zu kappen, dann sollten die Daten auch sicher sein und dann gibt es halt auf der Festplatte nichts mehr, was unverschüsse da ist und irgendwie ausgewertet werden könnte. Reproduzierbare, also pädagogisch wertvoll, natürlich, wenn es fertig ist, dann sollte es pädagogisch wertvoll sein, aber pädagogisch wertvoll, da gibt es jetzt noch keine richtige Definition, also von daher, ich denke mal, dies Kriterium werde ich auf jeden Fall der Fall erreichen. Reproduzierbare Installation und reproduzierbare Kompilation. Bei der reproduzierbaren Installation geht es darum, dass man eine Installation auch wieder so herstellen kann, wie es einmal war, und dass das hoffentlich auch halt wie Zeitner geht. Da ist das Problem, ich wurde in der Vergangenheit schon ab und zu gefragt, da kannst du mir auch irgendwie das System so einrichten, wie du das hast und dann muss ich halt mal sagen, ich habe dir jetzt so um so viele Jahre reingesteckt und das nochmal irgendwie zu wiederholen, nur für dich. Also hier ist halt die Hoffnung, dass ich denen dann sagen kann, ja hier ist die Software, die ich verwendet habe, ich habe die Einstellungen genutzt, wenn du die gleichen Einstellungen hast, dann hast du ein vergleichbares System und dann könnte ich das auch vernünftig warten. Also es ist halt ein Problem, wenn alle Leute irgendwie ein bisschen unterschiedliche Software haben und teilweise auch andere Betriebssysteme und kann ich natürlich schon von weitem draufgucken und sagen, ich finde die sind gut oder schlecht oder würde ich das und das anders machen, aber da habe ich halt die Zeit und dann wirklich ein Problem da ist es irgendwie zu lösen. Also wenn ich nicht dafür bezahlen werde und im Bekannten und Familienumkreis werde ich halt nicht bezahlt. Das ist eine reproduzierbare Kompilation, da geht es darum, dass wenn ich den Qualtex so verfügen stelle und die man sage hier, kompiliert das mal, dass die Person dann auch am Ende ein Ergebnis hat, wo sie eine Prüfzumme machen kann und dann die gleiche Prüfzumme kommt, die ich voll gegeben habe. Das ist der Vorteil, dass wenn dann zum Beispiel der Compiler schon kompiliert worden wäre und da irgendwie ein Backdoor installieren würde, kann man das dadurch ein bisschen eingrenzen. Weil man halt sagt hier in den verschiedenen Compiler und versucht da die gleichen Ergebnisse zu beziehen und wenn das funktioniert, dann hat man da noch mal nichts, ob das schon sicher hat. Ja, wann es fertig sein wird, ist noch nicht ganz klar. Heute ist es noch nicht fertig. Ich hoffe vielleicht zu Frostcom es fertig zu haben, aber dann kommen wir zum Blog-Speicher. Das Konzept Blog-Speicher, also ich verwende den Begriff Blog-Speicher hier als Abgrenzung zum Datei-System. Das heißt beim Blog-Speicher wird halt nur gesagt hier, ich hätte gern Daten an der und der Adresse und gern so und so viel. Ich muss aber nichts sagen, wie die ausgewertet werden wollen. Ich komme nachher später noch drauf zurück. Der Vorteil soll sein, wenn die Schnittstelle einfacher ist, dann sind hoffentlich weniger Bugs da. Und beim Blog-Speicher ist ein weiterer Vorteil, dass man kann es auf kleinen Seite verschlüsseln, einfach verschlüsselnde Blogs zur Gegenseite weitergeben und die Gegenseite kann doch hoffentlich möglichst wenig Information ausgewinnen. Ein weiterer Vorteil vom Blog-Speicher für Backupswecke im Vergleich zur Ersynk, aber auch nur unter der Einschränkung, dass CFS verwendet wird, was hier verwendet wird, ist, dass weniger Datenverkehr auf dem Netzwerk stattfinden muss. Das ist ein Vorteil, weil ich halt Tor einsetze und da ist ja jedes Beid, was man spart, von Vorteil. Soft Protection hatte ich vorhin schon genannt. Das ist halt das Layout, was verwendet wird. Ihr seht hier, dass es keinen Boot-Pun gibt. Also das sind die Open-CFS-Datei-Systeme bzw. Pools, also Open-CFS, das Datei-System ist das einen Begriff. Also Open-CFS ist ein modernes Datei-System. Ich komme gleich auch noch so ein paar Funktionen dazu. Es werden Datenquellen Open-CFS gegeben und Open-CFS teilt das dann wieder in Datei-Systeme ein, die man als Nutzer nutzen kann. Hier seht ihr verschiedene Datei-Systeme, sind jeweils über Geli angebunden. Geli ist eine Verschlüsselungsklasse in FreeBSD und damit auch in ElectroBSD und damit auch in ElectroBSD. Das heißt, alle Daten, die dem System lief, ist deswegen so noch zugreifbar, sind verschlüsselt. Wenn man das System jetzt mit Absicht neu starten wollte, muss man erst wieder ein Boot-Bereich einlegen, der dann halt unverschlüsselt sein muss, weil ein bisschen braucht auch das BIOS und darauf zuzugreifen bei Neustart. Aber in der Konfiguration wäre halt das System, wenn es irgendwie geschlagen würde, nicht mehr angehen. Unter der Voraussetzung, dass der Angriff vor keine Zeit hat, um auch zu werden. Wenn der Angriff halt die Möglichkeit hat, dann hat man leider auch mit ElectroBSD verloren. Aber das ist die Konfiguration, die man auch im Netzwerk laufen lassen kann. Und wenn man dann zusätzlich auf dieser Konfiguration sowieso nur Verschlüsseldaten speichert, also auch das Netzwerk nur Verschlüsseldaten reinkommen, dann ist halt da der Schaden möglichst geblieben. Die Bausteine, die ich verwende, intern und extern, bezieht sich hier auf das, wo der ElectroBSD in Basisumfang drin ist. extern heißt halt, muss man noch dazu installieren, dass es aber bei ElectroBSD kein großer Aufwand, da wird die Box Collection verwendet, die auch bei freeBSD verwendet wird. Das ist so was Ähnliches wie Appt für Debian und so weiter. Also damit kann man einfach Pakete nachinstallieren. Ich werde auf die Details noch näher eingehen. Also das ist nur, was euch erwartet. Ein paar OMSI FS Features. OMSI FS hat deutlich mehr Features. Das sind jetzt so ein paar Features, die sind direkt relevant für diesen Vortrag. Ende zu Ende Prüfzummen, das bedeutet, dass Daten auf der Festplatte können geprüft werden. Es kann geprüft werden, ob die Daten noch so vorliegen, wie sie ursprünglich geschrieben wurden. Oft höre ich dann, ja, das sollte doch eigentlich selbstverständlich sein. Und ich denke auch, das sollte selbstverständlich sein, aber es ist leider noch immer nicht Stand der Technik. Also die meisten anderen Dateisysteme machen das nicht und haben nur Prüfzummen für Metadaten. Das heißt, wenn ihr vielleicht irgendwie eine Videodatei habt oder irgendwie eine größere Datei und das sind halt keine Metadatenbits, dann werden eventuell einfach als Defekt ausgelesen, als Defekt weitergegeben und die Anwendung kriegt davon nichts mit. Seiden ja noch irgendwie Prüfzummen auf der Teile, also oberhalb der Anwendung oder in der Anwendung selber. Selbstteilung, das ist der Marketingbegriff, der verwendet wird. Damit wird gesagt, dass wenn Datenritten dann vorliegen und es wird ein Fehler erkannt anhand der Prüfzummen, dann kann der Fehler beruhen werden. Man kriegt dann nach der Administrate noch den Hinweis, hier da wurden Fehler erkannt und beruhen, aber man muss da nicht irgendwie noch anhand eingreifen. Copy and write, das bedeutet, dass Daten nicht direkt überschrieben werden, wenn man neue Daten schreibt, sondern es werden erst die Daten auf der Fesperle gespeichert, wenn dann alle Daten so weit da sind, wie sie da sein sollten, wird auf oberster Ebene gesagt so, wir sind jetzt an der Stelle und da geht es weiter. Snapshots, das ist ein, nämlich man kennt ihr vielleicht schon so von virtuellen Maschinen, das gibt es auch auf der Teilsystemebene, gibt es auch schon länger, hatten auch schon noch andere Teilsysteme und der FreeBSD ist zum Beispiel UFS, nur das Snapshots, da gibt es sogar viele Anstrengungen, das heißt, bei FreeBSD und UFS war es so, je mehr Snapshots man hat, desto langsamer wird das System und bei 30 oder 20 ist sowieso das harte Limit und weiter geht es nicht. Diese Limits hat sich nicht, man kann Snapshots praktisch liebig machen, also auf dem Laptop jetzt habe ich mehr als 1000 Snapshots auf die Snapshots auch wieder zurückgreifen, das kann man auch als Backup nehmen und also weil Snapshots ist auch noch so, also wenn ich ein Dateisystem habe, wir hauptsächlich da hin dazukommen, das heißt zum Beispiel meine Mails, wenn ich Mails schreibe ich meistens, also ich schreibe Mails und dann bekomme ich neue Mails und werden auch gespeichert, aber ältere Mails, die wir schliesslich selten weg, das heißt, das Dateisystem wird immer ein bisschen größer, aber das ist hier dann für die Snapshots egal wenn ich ein Dateisystem hätte, wo ich mein Ding jeden Tag einen Gigabyte schreibe und dann Gigabyte lösche und dann Gigabyte schreibe und Gigabyte lösche und so weiter, dann würde diese löschen auch wirklich dem Snapshot zugeschrieben und dann wäre der Date bereit irgendwann vor. Ein weiterer Vorteil von Snapshots ist man kann sich versenden und verschicken, das heißt, wenn ich ein Dateisystem habe wo ich sagen würde, ja, das möchte ich jetzt zu dem Zustand sichern und ich möchte das auch auf einem anderen System haben, kann ich den Snapshot auf ein anderes System schicken und dann habe ich halt auf zwei Systemen, ein Dateisystem mit dem gleichen Inhalt. Delegation der Anrechte, ob ein CFS hat ein Haufen Funktionen, die man bei anderen Dateisystemen nur mit Hubrechten ausführen darf, bei CFS kann man bei bestimmten Rechten sagen, ja, der Nutzer, der soll auch das dürfen. Also jetzt um ein Thema Snapshots zu bleiben, könnte man sagen, der Nutzer XY, der darf ein Snapshot anlegen oder darf ein Snapshot senden, einen Snapshot entfernen oder so, das kann man willkürlich festlegen, muss man sich überlegen, was man möchte. Platz, ja, theoretisch 2 hoch 128, das kann natürlich niemand erreichen, weil niemand so viel Speicherplatz hat und auch der Strom irgendwie nicht ausreicht, um das zu speichern zu können, aber es ist zumindest für mich beruhigend, zu wissen, dass wenn ich halt nur ein paar Terabyte oder ein paar Petabyte oder ein paar Etabyte habe oder ich Platz zu, wenn ich es dann bräuchte. Robust, um CFS soll so robust sein, diverse Fehler im System sollen erkannt werden und das System soll damit vernünftig umgehen. Ich würde auch sagen, im Vergleich zu anderen Datei-Systemen ist es auch, also es ist robuster als die Konkurrenz, meiner Meinung nach, aber da gibt es schon noch ein bisschen Spielraum für Verwässerung, zumindest für den Anwendungszweck, den ich hier habe. Transparente Kompression ist natürlich für Backups besonders interessant, das heißt, Daten können auf ein Datei-System einfach so beschrieben werden, man muss nicht von Hand parken, man kann vorher sagen, so ein diesem Datei-System sollen halt die Daten sowieso komprimiert werden, hier sind die Kompassionssorgen, die um zur Auswahl stehen und gerade bei Lockdateien kann man so viel Dankspeicher auf den Spanen. Um CFS ist auch portable, ihr seht hier eine Auswahl vom Betriebssystem, bei Genuglinungs habe ich die einzelnen Distruktionen nicht aufgeführt, aber für die meisten Genuglinungsdistruktionen gibt es mittlerweile um CFS auch aufs Kölnemodul, da ist das Problem, die meisten Distruktionen nehmen es nicht direkt auf, weil die sagen, das Lizenz gefällt uns nicht so gut, wenn was direkt an Kölnel drauf haben wollen, aber hier gibt es genug Distruktionen, die es mittlerweile einfach machen. Imus Meccos X ist auch unterstützt. Ich werde jetzt auf den nächsten Folien so ein bisschen zeigen, wie das aussehen würde, wenn man damit von Hand arbeitet, weil, wie gesagt, ich möchte gerne eine magiefreie Konfiguration, das heißt, wenn man erstmal so ein paar Grundlagen verstanden hat, dann kommt man dann die Daten auch dran, wenn alles ausfallen würde. Hier seht ihr die manuelle Poolerstellung, das heißt, um Daten mit, ob CFS nutzen zu können, muss man die erstmal in einen Pool reinpacken, das heißt, CFS sagen, welche Datenquellen es verwenden darf, ja, habe ich als Beispiel MD0 genommen, man sagt also, sie holt Test und dann den Fahrt, dann wird der Pool erstellt und man kriegt hinten Status, momentan sehen noch alles super aus, dann wird hier der Pool wieder exportiert. Okay, ich sehe gerade, das ist ein Fehler, also das letzte Kommande müsste man auch mit Sudo ausführen, aber um mir abends käme eine Fehlermeldung, dann wird es auffallen. Aber um den Pool wieder zu importieren, ja, sie holt Import, also es ist kein Hexenwerk. Die Integritätsprüfung, von den Prüfzummen habe ich schon gesprochen, man kann dann im CFS sagen, dass alle Daten, die geschrieben werden und noch lesbar sein sollen, geprüft werden sollen und dann wird halt die Prüfzummen geprüft und das Abweichung gibt, der es angezeigt. In diesem Beispiel waren da keine Fehler da, es wurde ja auch noch nicht so viel geschrieben und man hat hier das Ergebnis und man weiß dann auch wirklich, alle Daten, die geschrieben wurden, wurden geprüft und das ist halt nicht so, ja, es ist vielleicht ein Fehler da, weder nach keiner gesehen. Also das ist wirklich, wenn da steht, alles, was lesbar, dann sind die Daten auch. Erfolgreiche Selbstteilung. Bei diesem Beispiel muss man dazu sagen, der Pool Claudia 1, das geht nur auf einem Datenträger und das heißt, die Redundanz ist, also es sind nicht alle Daten, die Redundanz gespeichert, das heißt, bei dieser Konfiguration könnte man oben CFS keinen Vorwurf machen, wenn die Daten, wenn Teile der Daten kaputt werden, nach einer Störung, also hier die Störung, die wurde mit Absicht dabei geführt, das ist jetzt kein Fehler. Ihr seht, gelesen und geschrieben werden, das sind die Read und Write Kolumne, konnten auch alle Daten, aber beim Prüfzummen gab es ein paar Fehler und CFS ist dabei, das zu reparieren. Die Meterdaten werden von CFS Redundanz gespeichert, weil das halt nicht viel Speicherplatz nimmt. Normalerweise wird davon ausgegangen, dass Meterdaten sind nur so 1-3%, das heißt, die kann man ruhig mehr verspeichern und dann, wenn man das kaputt ist, kann man es halt reparieren. Hier ist eine ähnliche Konfiguration, also wieder nur ein Datenträger, aber da wurden bei der bewussten Korruption Fehler eingebaut, die nicht mehr abgedeckt sind durch Redundanz. Der Vorteil bei CFS, hier im Vergleich zu anderen Lösungen, ist halt man recht angezeigt, welche Dateien sind kaputt und kann sich dann überlegen, ja, was mache ich dann? Ihr seht hier in dem Beispiel, da ist ein bisschen aus User-Source, d.h. da könnte ich einfach die Dateien löschen, die nochmal aus geht auschecken und dann wäre der Fehler behoben. Bei der anderen Datei könnte ich halt überlegen, ja, brauche ich die jetzt noch oder habe ich irgendwie noch ein anderes Backup und kann das wieder herstellen. Aber das Beruhigende ist halt, man weiß wirklich, was kaputt war und kann reagieren. Snapshots, das hatte ich vorhin schon angesprochen, das wäre das Kommande, um Snapshots anzulegen. Das heißt, alles bis ungefähr hier ist das Dateisystem. Dahinter macht man Add und dann einen Snapshot Namen. Den kann man relativ frei sich auswählen. Ich wähle in der Regel ein Datum, weil dann weiß ich, wie ich den wiederfinde und wie ich den Einsorten sortieren muss im Vergleich zu anderen. Man kann auch irgendwie sagen, heute und morgen und gestern, aber wenn das dann irgendwie sortiert, dann hat man eventuell nicht die Reihenfolge, die man intuitiv erwartet. Und wenn man halt in so einem Datemaus geht, macht man nichts verkehrt. Das habe ich dann angesprochen. Hier seht ihr nochmal, wie das auf der Kommandezahl da aussehen würde. Das M-Buffer hier in dem Beispiel, das ist optional. Das kann für einen gleichmäßigeren Datenfluss sorgen. Man braucht es nicht grundsätzlich. Aber ein weiterer Vorteil ist auch, dass man eine nette Anzahl gekriegt und weiß, wieviel Daten pro Sekunde und so weiter durchspießen. Aber wenn man es nicht möchte, braucht man es nicht. Geli hat sich angesprochen zur Verschlüsselung. Das ist auch alles, was so stand der Technik ist. Das Nullinux-Gegner-Stück wäre wahrscheinlich Lux. Lux ist für FreeBSD nicht verfügbar und Geli funktioniert sowieso für das, was ich möchte, also habe ich Geli verwendet. Ein Nachteil für die Lösung ist, es ist noch kein Trim-Support da. Dafür ist ein Patch verfügbar. Wenn ihr den Patch nutzen wolltet, findet ihr da die Adresse. Trim-Support, das bedeutet, da kann das Datalsystem der unteren Ebene sagen, so die Daten von dem Bereich zu dem Bereich, die brauche ich jetzt nicht mal. Damit kannst du machen, was du möchtest. Zum Beispiel, weil wenn man dann mal nur da Handel zuschreibt, dann kommen die Platten eventuell mit dem Rare-Leveling durcheinander. Wenn man aber hier sagt, so, hier ist jetzt den Gigabyte Bereich wieder für Free, als frei klassifiziert, dann kann damit die Firmen bearbeiten. Die manuelle Geli Initialisierung ist auch relativ einfach. Hier ist halt der Nachteil, man muss das Passwort eingeben, aber es ist halt so, ich komme gleich noch dazu, wie man das ein bisschen automatisieren kann. Das heißt, wenn man dann irgendwie 20 Datenquellen noch einmal einbindet, dass man dann noch einladen kann, wie das Passwort angehen muss. Manuelle Einbindung, das ist hier das Kommando. Die Anzeige, ich werde jetzt hier bei den nächsten Folien nicht immer auf alle Details eingeben, weil zum einen sind die für den Vortrag nicht so relevant und zum anderen ist man die Zeit leider beferntzt. Die manuelle Poolerstellung auf verschlüsselten Geom. Wir haben auf den Sites davor gesehen, es wurde eine Verschlüsselungsschicht aktiviert. Wenn man hier an diesem Punkt geli, das heißt halt, für das, was davor ist, also defmd0, wurde Verschlüsselung aktiviert und wenn man dann auf das Punkt geli zugreift, heißt das alle Daten, die da draufgeschrieben oder gelesen werden, gehen halt durch geli und werden verschlüsselt oder entschlüsselt. Label. Label sind sinnvoll, wenn man externe Datenträger hat, dann ist es ja oft so, dass sich die Reihenfolge verändert und dadurch verändern sich dann eventuell auch der Name. Und wenn man dem einen Label gibt, was halt an den Datenträger hängen bleibt, ist das Problem nicht. Man könnte zum Beispiel eine Seriennummer als Label nehmen oder sich das Label einfach ausdenken, solang keine zwei Datenträger das gleiche Label haben und die gleichzeitig am System stecken funktioniert das. Die Gelinitialisierung mit Labelnutzung ist praktisch das Gleiche, nur man gibt dann nicht mehr den eigentlichen Datenträger an, sondern das Label, das mit dem Datenträger verbunden ist. Hier gehe ich einfach durch. SOC-FDW ist der Name von der Backup-Software, mit der ich angefangen habe. SOC-FDW hat von Hause aus noch keine Funktion oder irgendwie sowas. Die Idee ist einfach, man hat 110 oder 100 lokale Datenträger, möchte da seine Backups aufmachen und dafür automatisiert SOC-FDW halt den Prozess. Meine Zeit ist begrenzt, da zeige ich immer so viele Funktionen, die ich da damit brauche. Für diesen Vortrag werde ich hier das GeomGate, den GeomGate klein verwenden. GeomGate ist für FreeBSD eine Möglichkeit, wie man Zugriffen auf der Geomebene, also es ist die Ebene, die auch von Geely verwendet wird, also die Schreib- und Lesezugriffe auf Datenträger, wie man die über ein Netzwerk verteilen kann. So ich habe jetzt, der Laptop schreibt ein Block auf einen internen Server. Was mache ich dafür, dafür nehme ich GeomGate und GeomGate, das heißt, der GeomGate klein würde das Netzwerk schicken. Das Netzwerk würde damit irgendwas machen, irgendwann kennt die Antwort und das wird damit vermittelt. Es ist jetzt nichts Neues, denn FreeBSD bereits seit 2004 verwendet. Es hat ein eigenes Protokoll, da muss man auch sagen, also da gibt es auch keinen Standard, oder irgendwie so was, was man unterstützen könnte. Der Qualtex ist bei FreeBSD und auch bei Qualtex. Die Kommunikation ist unverschlüsselt, aber in der Regen wird man sowieso über SSH oder irgendwas anderes tunneln und dann ist das nicht mehr ganz so tragisch. Man sollte es halt nur wissen. Die Authentifizierung, die kann man eigentlich auch nicht ernst nehmen heutzutage, das ist halt so wie NFS, das heißt, das System, was die richtige IP-Adresse hat und weiß womit es reden will, das wird halt angenommen. Aber auch hier ist es so, wenn man das über SSH tunnelt, dann ist das egal. Das ist die Konfiguration, auf die ich hin möchte. Man kann natürlich sagen, ich gehe über Tor und dann nochmal über SSH und dann habe ich da schon mal eine doppelte Verschlüsselung und dann baue ich auch, also das ist die Server-Seite. Man könnte hier zwischen GeomGate, zwischen dem GeomGate Demon und den Datenträger auf der Festplatte, also die Zivol, das ist halt, wird von CFS zur Verfügung gestellt, basierend auf den Datenträgern, die hier unten seht. Das heißt, der Datenpool, der hat da wirklich die Redundanz, da irgendwie ein Fehler zu erkennen, um es zu beheben. Also bei der Konfiguration, da könnten zwei Festplatten ausfallen, das würde noch weiter funktionieren. Die Elischlicht, das Schicht zwischen GeomGate und dem Zivol, da kann man sich überlegen, ist das jetzt sinnvoll oder nicht. Also das Problem ist ja sowieso, wenn jetzt jemand den Server kompetiert, während das System so läuft, dann ist diese Verschlüsselungsschicht aktiviert. Das heißt, der Schutz ist gar nicht da. Der Schutz wäre nur dann gegeben, der auf den Server einbricht, während der Datenträger gerade nicht eingebunden ist. Das war die Hälfte. Okay, dann muss ich ein bisschen anziehen. Auf dem Kleint würde das so sehen. Also auch hier wieder ist SSH optional, beziehungsweise auch Tor ist optional. Im Titel hatte ich Tor drin, von da habe ich Tor jetzt hier nicht als optional gekennzeichnet. Bei Tor ist ein komplexes Thema. Wenn ihr euch das weiter interessiert, kann ich hier dieses Salz empfehlen, wie ein Überblick geben. Ich kann leider hier nur Tor und Blackbox verwenden. Nehmen wir an, es gibt Torhidden Services und die bieten diese Funktionalität, die ich ja auch studiert habe. Das heißt, der Kleint muss nicht wissen, wo der Server steht. Der Server muss nicht wissen, wo der Kleint steht. Wenn ich irgendwie Atlas Translation dazwischen habe, also angenommen, mein Laptop steht bei mir zu Hause in meinem lokalen Netzwerk und in den anderen Rechner steht woanders im lokalen Netzwerk, um miteinander kommunizieren. Und ich habe zusätzlich eine Authentifizierungsmöglichkeit sowohl für den Server, die ist auch nicht optional und für den Kleint, die ist optional. Grundsätzlich kann jeder TCP Service als Hidden Service verfügbar gemacht werden. Es gibt da ein paar Dinge, die man wissen sollte. Also, dadurch wird nämlich nicht alles automatisch irgendwie sicherer, sondern es heißt halt nur, wenn die Leute den Hidden Service kennen und den erreichen können, dann können ja auch die gleichen Angriffe fahren, die sie sonst auch fahren könnten. Und wenn die Leute ja hinterläuft, die kann eventuell dem Angreifer wieder Informationen geben, die man eigentlich verhindlichen wollte. Also, angenommen, man hat einen Hidden Service und sagt, ich möchte nicht, dass ein Angreifer erkennen kann und wo der Server steht. Und man hat dahinter halt irgendwie so eine lause Gewerbanwendung, wie irgendwie dem Angreifer eine Rutsche gibt und dann macht er irgendwie If-Config oder was auch immer. Dann wird halt auch keine Anomität gewährleistet. Das heißt, dass jede Software, die man als Hidden Service verfügbar macht, die sollte man sich vorgrundlich angucken, die Funktionalität vom Hidden Service haben möchte. Also die Anomität. Wenn man natürlich sagt, auch den Hidden Service nur zur Identifizierung, dann ist das vielleicht auch egal. Ja, oft wird gesagt, ja, Hidden Services oder Tor Allgemein, es ist ja eigentlich lahm. Es kommt immer darauf an. Eigentlich ist es auch so, es ist eher so eine hohe Latents da, aber die Nächsterrate, die ist eigentlich akzeptabel, kommt natürlich auch immer darauf an. Ihr seht hier in den Beispielen, ich habe halt so eine Net-Colon-Anbindung, das heißt, wenn das hier mir nicht schnell genug ist, dann kann ich immer noch maulen, aber ich kann natürlich nicht sagen, Tor ist der Schuld, sondern hier ist das einfach, was die Anbindung hergibt, wird genutzt. Also es wird vielleicht hier nicht so deutlich. Das eine ist Hidden Service und das andere ist SSH über Tor normal. Also das heißt, der Hidden Service ist auch nicht unbedingt langsam als Tor ohne Hidden Service, auch wenn mehr Knoten im Netz vergründet werden. Aber es gibt keine Garantie und es ist auch richtig in den Service, es können langsam sein. Die ersten Versuche mit Tor, also mit Tor für die Lösung, die ich genannt hatte, um Geom, Gate und den Demo dazu über Tor zugänglich zu machen, dafür habe ich zuerst einfach SSH über Tor getunnelt und dann den Geom Gate verkehrt über SSH. Man hat weiterhin SSH und die Komplexität ist höher und man muss sich halt überlegen, braucht man das oder braucht man das nicht. Also wenn man es braucht, dann funktioniert es, aber es ist eigentlich nicht das, was ich am Ende haben möchte. Im nächsten Slides habe ich, zeige ich, was ich für die Hidden Service Configuration auf dem Server gemacht habe. Ich werde hier auch wieder aus Zeitgründen nicht alles ansprechen. Also die generelle Idee ist halt, man gibt Tor an und sagt hier, ich habe einen Daumen kommen, leite die bitte auf den Port weiter. Dann, wenn das funktioniert, und wer eigentlich funktioniert das, legt Tor hier diese Dateien ab, also unter anderen Private Key und die Datei Hostname. In der Datei Hostname steht dann der Name von Hidden Service. Das ist diese Onion Adresse, die ich ein bisschen unkenntlich gemacht habe. Dazu noch ein Passphrase und der Kleinen muss dann sowohl die Adresse wissen, als auch die Passphrase, wie man ein Datenträger im SiWall anlegt. Hier habe ich 4 GB gesagt und da trage ich das in die Exporter-Teile für GearmGate an. Die IP-Adresse hier, das ist die IP-Adresse, die GearmGate nutzen wird. Das ist eine lokale IP-Adresse, das heißt, das wird auch nicht umgelegt, wo ich muss anziehen. Wenn das funktioniert, sieht das so aus. Die Annahme der Verbindung, weil dann auf dem Klein, wie gesagt, um auf dem Klein das nutzen zu können, muss man Tor in der Konfigurationsdatei sagen, welcher Hidden Service mit welcher Passphrase verbunden werden soll. Wenn man keine Passphrase hat, braucht man das nicht. Hier ist die automatisierte Anbindung. Hier möchte ich nur zeigen, wird dann viel Arbeit abgenommen. Die Poolerzeugung, auch hier müsste man nicht alles lesen. Das sollte man aber schon noch sehen. Das ist der Poolimport von einem CFS-Pool, der bei einem Tor Hidden Service geladen wird. Ihr seht, das habe ich heute Morgen getestet. So schnell oder langsam ist das Netz da gerade. Es ist nicht ganz ideal. Ihr seht hier zwischen dem Zeitpunkt, wo die Verschlussung aktiviert war und der Pool vollständig geladen wurde, sind hier etwa 4 Minuten vergangen. Man muss sich überlegen, möchte ich das übernicht. Aus meiner Sicht ist das hier noch akzeptabel. Ich muss ja nicht immer dabei gucken. Wenn man insgesamt das Backup, dann vielleicht eine halbe Stunde dauert, aber auch hier gibt es noch viel Optimierungsbedarf, Möglichkeiten. Hier ist es so, dass hier einige Sachen prüfen, wo man sagen könnte, das muss eigentlich nicht bei jedem Mal geprüft werden und wenn man es halt nicht jedes Mal prüft, dann wird das schneller gehen. Das System lädt. Hier seht ihr die Geschwindigkeit, die ich heute Morgen erreicht habe. Hier ist nicht mehr meine lokale Verbindung der Flaschenhals, sondern das ist jetzt wirklich der Hidden Service. Hier geht häufig weniger als 20 Kilo weit und wenn das jetzt akzeptabel ist oder nicht, kommt darauf an, wie viel Daten man deckt. Hier ist nochmal der ganze Vorgang. Aus Zeitgrunden werde ich auch hier nicht alles ansprechen. Was ich hier erwähnen wollte, man sieht halt hier ein paar Dischnitzwerte. Das heißt, die klingen erstmal etwas eigentlich eher gut. Also hier sieht man, das sind mal fast 2 Megabyte pro Sekunde. Hier ist aber eine Täuschung da. Es ist nämlich nur die, also gemessenen, die Kommunikation zwischen CFS und CFS und das System. Was eigentlich wichtiger ist, ist schnell die Daten über die Netzwerkverbindung gehen und das kann man hier nur indirekt rauslesen, nämlich daraus, wie lange das gedauert hat und dann weiterzuspringen. Also man sieht hier diese Sprung von 6.30 Uhr zu 6.39 Uhr. Das heißt, um das zu senden, das hat etwa 6 Minuten gekostet. Hier nochmal der Durchsatz. Es ging hier auch ein bisschen schneller. Also hier, wo es war, es wieder akzeptabel. Aber wir sehen hier den Poolstatus. Noch sieht alles in Ordnung aus. Hier wird dann getestet. Es ist wirklich alles in Ordnung. Das heißt, alle Daten werden noch mal gelesen. Auch hier wieder ein etwas deprimierender Wert. Und auch mehr 3 Stunden für 90 Megabyte warten ist halt die Frage, ob man es möchte. Aber hier ist das so, es ist so wie bei den meisten, also wie jetzt so der Windows-Ladeweiden. Es wird manchmal noch besser. Und hier wurde es in der Tat besser und es hat eigentlich ganz so lange gedauert und es war erträglich. Und Test-Egegendes war okay, Pool wird exportiert und dann, ja, das ist eigentlich so der Hauptteil von meinem Vortrag. Also bei dieser ganzen Konfiguration waren schon die ein oder anderen, das ein oder andere Problem, was aufgetreten ist und dann auch im Buchen werden musste. Ja, also der Kleint vertraut den Server und auch den Kleint. Das ist ja eigentlich nicht das, was man haben möchte für einen Hidden-Service. Also daran habe ich gearbeitet. Ja, es gibt keine Automatisiten-Tests und es natürlich haben. Also Automatisiten-Tests sind immer cooler, aber ich muss sagen, auch für meine Software habe ich auch nicht immer alles für alles Test. Also es ist schade, dass es so ist, aber es sieht in der Regel aus. Diverse Doss-Möglichkeiten waren da. Hier muss man sagen, die normale Konfiguration von GeomGate wird beide Systeme und er wird wahrscheinlich nicht sein eigenes System angreifen und wenn dann, ja, wäre es selber schon, wenn hier bei meiner Konfiguration ist, aber so, ich würde dir gern so einrichten, dass ich irgendwie ein Familienmögliche sagen kann, hier gib mir deinen Laptop, ich spiel dir da Elektro-BSD auf und dann gibst du mir irgendwie 10 GB und ich geb dir 10 GB auf mein System und dann speichern wir unsere Backups gegenseitig und ich spreche natürlich nicht, dass mich irgendwie Familienmögliche angreifen. Also von da ist das nicht ideal. Das Problem Können und User-Land haben sich ein bisschen weiterentwickelt, leider nicht ganz synchron, was nicht ideal ist. Das führt auch dazu, dass der GeomGate klein auf Intel i36 also es ist die 32-Bit-Architektur funktioniert gar nicht mehr seit 2012. Also dafür habe ich ein Patch und das war auch jetzt irgendwie kein komplexes Problem, aber wenn man sieht, dass so ein Problem überhaupt nicht funktioniert und das wird drei Jahre nicht gefixt, dann ist es halt auch ideal. Wenn man eine Weckerblösung haben möchte, das musste auch oben werden. Ich habe hier kurz das Protokoll aufgeführt, wie gesagt, es ist kein Standard, es werden ein paar Pakete hin- und hergeschickt. Okay. Das heißt, das Protokoll werden wir auch besprungen. Ich habe hier ein paar Beispiele genannt, die entweder erwähnenswert oder einfach noch anbesamt waren. Also hier ist ein Beispiel für Können und User-Land nicht ganz synchron. Ihr seht hier den Kernelcode. Die Command Message sagt, dass jetzt auch Bio-Flash-Request akzeptiert werden. Bio-Flash-Request ist das, was man bekommt, wenn man Essung macht. Das heißt, die Anwendung sagt dem Betriebssystem hier, die dann, die ich in der letzten Zeit geschrieben habe, bitte sorgt dafür, dass die auch wirklich auf der TESPA da angekommen sind und ich mache erst weiter, wenn ich das okay bekomme. Das heißt, wenn das nicht funktioniert, ist das nicht ideal. In dem Fall sieht man, es macht doch gar nichts, denn das ist das, was der GOM-Klein damit macht. Hier gibt es die Switch-Anweisung. Hier ist das Kommando und es wird geprüft, es ist ein Read oder ein Write und wenn nicht, dann mache ich halt trotzdem weiter. Und interessant, auf dem Server sieht es genauso aus, auch der Server macht einfach weiter. Das heißt, in der Praxis, das Kommando wird als irgendwas verstickt, glücklicherweise oder vielleicht auch Pech, das heißt, es wird entweder ein Read oder ein Write-Request generiert für 0 bytes und 0 bytes schreiben oder lesen tut nicht weh, funktioniert, aber es ist eigentlich nicht das, was man beim Sync-Request haben möchte. Also, Bio-Delete funktionierte ähnlich, also funktionierte im Sinne von, hat keinen Fehler geworfen, da war eigentlich nicht das gemacht, was man wollte. Das war nicht ganz so tragisch, weil der Version, die ich hier einsetze, ist ja noch GOM da und das heißt, das hat ein wenigstes Fehler gemacht. Hier kommen wir zur Datenkorruption, die Fehlerprüfung ist fehlerhaft. Man sieht hier die Server-Seite, es gibt einen Thread, der hier Datenpaket annimmt. Man sieht hier, es ist ein Write-Kommando. Es gibt hier eine Länge, die an Daten gelesen werden sollte. Die Prüfung ist hier nur minus 1, also ist der Rückgabewert minus 1. Das Problem ist diese Funktion hier, die kann auch ein Wert anders als minus 1 ausgeben und das ist dann trotzdem nicht unbedingt in Ordnung, also man kriegt auch, wenn bestimmte Signale einkommen, dann kriegt man halt ein Rückgabewert, es konnte nicht alles gelesen werden, sondern nur ein paar Prozent oder irgendwie fast alles und das Problem ist halt hier, es wird nicht erkannt, das heißt angenommen, ich warte hier auf megabyte und die kriege nur 10 Kilobyte, dann wird hier trotzdem megabyte geschrieben, Datenmüll aufgefüllt und ich merke das eventuell erst, wenn ich auf die Datenlesen zuweifle. Das zu beheben ist, wenn man es erstmal erkannt hat, trivial, das heißt man macht noch eine Prüfung rein und bricht dann ab, wenn der Fehler auftreten sollte. Das Interessante ist hier, dieses Problem könnte grundsätzlich auch in jedem Heimnetzwerk auftreten. Ich habe das selbst auch selber ein, seit, ich muss sagen, so 2005 und ich habe das zu Hause oder auch im Firmenumfeld habe ich dieses Problem noch nie gesehen, aber bei Hidden Services ist es wirklich fast in der Tagesordnung, dass das auftritt. Ungeplant Planplatznutzung ist auch unschön. Grundsätzlich ist bei der Konfiguration die ich hier vorstelle so, man möchte eigentlich als Server betreiben und sagen, der Nutzer sowieso, der soll nur auf die und die Daten zugreifen können und mehr Daten sollte gar nicht schreiben dürfen. Hier ist aber das Problem, hier gibt es ein paar Surgeons, also damit wird geprüft funktioniert auch alles, wie es funktionieren sollte und wenn nicht, dann wird halt Coordump geschrieben. Das Problem ist, diese Fehlerzustände kann auch der Kleint generieren, wenn er schlecht drauf ist und dann gibt es halt einen Coordump und der geht auf die Festplatte und wenn man das häufiger macht, ist die Festplatte eventuell irgendetwas voll. Interessant ist auch, wenn man die beiden Fehler kombiniert, also hier den, dass da nicht richtig gelesen werden und dass man da Coordumps schreiben kann, dann kann man auch 100 Gigabyte oder größere Coordumps generieren. Inhaltsprüfe noch ankommt, da gibt es keine Lösungsmöglichkeit, d.h. man prüft das einfach nicht mit Surgeons ab, sondern mit richtigen Bedingungen und wirft dann keinen Coordump, sondern sagt halt dem Kleint hier so nicht und fertig. Ich habe jetzt ein paar Probleme vorgestellt, die man auch als Sicherheitslücken betrachten kann. Ein paar Dino-Service Angriffe habe ich hier nicht extra aufgeführt, weil das waren nicht immer die gleichen. Es gab Filescriptor Leaks, damit könnte man den Server Alarm legen und es gibt Surgeons, die hier gezeigt werden, die führen halt sowieso dazu, dass der Prozess abricht und für alles gibt es Patches, die wurden alle ans FreeBSD hingeschickt. Ich habe leider noch keine definitive Antwort, wann das irgendwann auch mal in FreeBSD gefixt wird. Ich hoffe wirklich bald, aber ja, also die letzte 6 Monate hat es leider nicht geklappt. Ein paar weitere Anpassungen, die ich vorgenommen habe. BioDelete Support, damit kann man jetzt also auch über das Netzwerk sagen. Die Daten, die ich hier geschrieben habe, aber heute nicht mehr braucht, die sollen jetzt auch wieder freigegeben werden. Das ist praktisch um dem Nutzer halt, wenn man Quotas hat, es ist halt sinnvoll, wenn man den Nutzer sagen kann, hier die Daten, die kannst du als Freimarkieren, dann werden die nicht mehr aus Quota aufgerechnet und dann funktioniert wieder alles. Ja, Logging wurde verbessert, die Legen reduziert, ich muss jetzt leider das anziehen. Das ist hier die die Delete Implementierung. Das Dumme ist, der GeomGate-Demon, der ist eine normale Anwendung, also der redet nicht direkt mit dem Kernel, sondern normal über das Teilsystem und da gibt es keinen Systemcall oder sowas, also zumindest in FreeBSD, der halt sagt so, der Bereich ist jetzt wirklich frei. In Linux gibt es sowas schon, das heißt halt Hole-Punching da, das hat FreeBSD leider auch nicht. Ein Workaround ist hier, das man einfach nullen schreibt und dann in CFS die eine Kompression anstellt, die halt sagt, wenn der ganze Block null ist, dann wird der halt wie ein Delete interpretiert, das seht ihr hier. Also, ich hab auch noch zwei Bilderreize mitgebracht. Es wurden zwei Sicherheitsmechanismen implementiert, hier könnt ihr mal raten, was da sein soll. Ich glaube, aus Zeitkunden haben wir gar keine Zeit, um das wirklich abzufragen, also ihr seht ein Gitter. Man benötigt Rotrechte. Bereits im Vortrag erwähnt. FreeBSD seit 4.0. Okay, also gesucht waren Jails. Mit Jails kann man dafür sorgen, dass ein Prozess nur noch auf einem bestimmten Bereich das System zugreifen darf und aus diesem Bereich auch nicht mehr rauskommt. Man kann das einmal in der Anwendung selber machen, das ist ideal, die Möglichkeit, die ich für GameGate klein und für den Demo verwendet habe. Der Nachteil ist hier, die Anwendung muss mit Rotrechten gestartet werden, das ist aber bei den beiden Anwendungen sowieso so vorgesehen. Bei dem Demo weiß ich noch nicht, ob ich das so lassen werde, also der Demo muss das nicht grundsätzlich, aber ist das, was ich gewählt habe. Okay, jetzt für Fortgeschrittene. Erster verhindernweiß. Trademark selbst fort, ist geschützt und wurde schon erfolgreich verklagt. Der Mechanismus benötigt keine Rotrechte. Im FreeBSD seit 9.0. Bonusfrage? Okay, ich sehe. Auflösungen für die Bonusfrage sind auch in der IT-Literatur erwähnt. Für die Passwortwahl hat sich man von euch den Hunde-Namen als Passwort wählt. Das ist nicht der Fall, andere machen das so. Die Auflösung also gesucht wird war Capsicum, das ist eine Sandbox-Technologie die im FreeBSD seit 9.0 drin ist. Damit kann man sagen, es gibt alle Rechte ab, die er nicht mehr braucht und ich kann mich da dann auch nicht wieder. Das heißt, man kann sagen, ich öffne jetzt fünf Dateien und ich weiß, dass ich keine weiteren Dateien brauche. Dann gehe ich jetzt in den Sandbox rein und komme da auch nicht mehr raus. Das sieht im Detekt im Code so aus. In der Lock Datei sieht das so aus. Man sieht auch hier, ich musste noch Logs 5 implementieren. Das ist halt das Protokoll, das normalerweise auf der kleinen Seite mit Torz kommunizieren. Man kann das auch anders lösen, aber Socks 5 ist eigentlich das, was vorgesehen ist. Das ist die Information, die man bekommt, wenn man über Socks 5 jetzt ein Hidden Service mit GeomGate kleint, angebunden hat. Hier sieht man, dass die Legien-Separation wirklich funktioniert hat. Man sieht zum einen, der Prozess ist hier in einem Jail und er darf weiterhin die beiden Verbindungen, die er braucht, mit dem Server zu reden. Das ist hier der Debatt-Modus. Wenn es nicht der Debatt-Modus wäre, dann wären hier die Termine 7 gar nicht da. Man sieht hier nochmal, es ist in einem Jail drin. Also ich habe hier einen Jail für Tor. Das ist Jail ID 1 und das ist hier die gleiche IP-Adresse. Aber da das unterschiedliche Jails sind, heißt das, die Prozesse können nur über diese Netzwerk-Adresse miteinander reden, aber auf dem Detail-System teilen, man sieht hier, der Nutzer ist nicht mehr gut, sondern Hass. Hass ist der Nutzername, der eigentlich für High Available Storage in FreeBSD genutzt wird. Das ist so ein bisschen thematischer Warn, das wäre schöner, wenn man da einen eigenen Nutzer für verwendet. Ich habe das hier nicht gemacht, weil die Idee ist, dass auch FreeBSD-Nutzer die Patches einfach einspielen können, ohne Nutzer neu anlegen zu müssen. Hier ist nochmal ein Beispiel für eine Verbindung, die eigentlich zu langsam ist und da ist halt die Frage, was das kann man da machen. Multi-Pass kann man natürlich machen. Ich frage jetzt, ob man es machen sollte. Aussehen könnte das so. Ihr seht, der Geom-Gate-Klein läuft halt fünfmal und baut fünf Verbindungen zu Tor auf, beziehungsweise eigentlich sind es zehn, weil es gibt einmal zwei pro logische Verbindung. Dadurch wird theoretisch der Durchsatz erhöht. Ich sage theoretisch, weil in der Literatur wird eigentlich gesagt, dass wenn man mehr gerade einsetzt, dann ist die Chance hoch, dass einer so langsam ist, dass der wieder alles ausbrennt. Und abgesehen davon ist auch für die Anonymität eventuell, also es verändert halt den Fingerprint, den der Kleint hinterlässt und dann ist halt auch deswegen die Frage möchte man es haben oder nicht. Das ist ja hauptsächlich um zu zeigen, dass es geht und ich muss hier noch ein bisschen mehr mittexplantieren. Also ich persönlich nutze es in der Regel nicht, weil für mich ist das auch so schnell genug. Ich habe meinen Rechner alle sicher, wenn ich daran arbeite eigentlich für mehr als 100. Und in der Zeit kriege ich mein Backup eigentlich immer über die Leitung. Es müssen ja nur die Daten, die übertragen werden, die sich seit dem letzten Backup geändert haben. Und wenn ich ein Take-back habe, habe ich damit keinen Problem. Es gibt verschiedene Konfigurationen für die Multi-Pass-Konfigurationen unter 4 BSD. Es gibt Active-Active-Rede und Active-Passive. Hier in diesem Beispiel sieht man Active-Active. Also funktionieren sollten die eigentlich alle, die haben aber unterschiedliche Nachteile. Also das Einzige, was halblich, also das Einzige, was garantiert sicher ist, das ist eigentlich hier das Active-Passive, das heißt eine Verbindung ist aktiv und war das ein Zeichen oder? Also eine Verbindung ist immer aktiv und wenn die abrichtet, dann wird auch eine andere umgestellt. Das ist sicher. Active-Read bedeutet, es wird über eine Verbindung gelesen und geschrieben, aber es wird nur über den Rest nur gelesen. Das Problem ist halt, wenn man über verschiedene Verbindungen gleichzeitig schreibt, dann wird eventuell dem System, also hier in diesem Beispiel CFS das falsche Signal gegeben, da könnte bestätigt werden, dass Daten schon festgeschrieben werden, die noch gar nicht angekommen sind. Für CFS und für das Beispiel, was ich hier präsentiert, ist das eigentlich kein Problem, also von daher all die Möglichkeiten sollten funktionieren, aber wenn man das irgendwie mit einer anderen Lösung macht, sollte man sich das Problem bewusst sein. Ja, wenn man richtig angehen will, dann kann man ja so machen. Das heißt, jeder G-Um-Klein kriegt auch nochmal einen eigenen Vorprozess. Weil gerade auf einer langsamen Verbindung muss der Talk-Prozess auch noch irgendwie mit den anderen Servern reden und das heißt eventuell ist dann diese Lösung nochmal deutlich langsamer, weil halt die Datenverbindung von den Talk-Prozessen verwendet wird, um irgendwie direkte Information oder so was zu zu sehen. Ja, damit haben wir es auch in der Zeit geschafft. Ich stehe gern für Fragen zur Verfügung. Wenn ihr nicht hier fragen wollt, dann könnt ihr gerne auch noch zu unseren Stand kommen.