Wer kennt das nicht, die Daten sollen möglichst überall zur Verfügung stehen. So hatte ich mir auch die Dokumente und damit auch die Passwort-Safe-Dateien auf den zentralen NFS-Server gelegt, damit ich nicht nur von meiner Workstation, sondern auch von unterwegs auf diese Daten zugreifen kann.
Nun hatte ich in der letzten Woche aber ein Groß-Projekt, in dem ich den zentralen Server von TrueNAS zurück auf FreeBSD gesetzt habe (mehr davon im kommenden Artikel). Dabei wurde mir sehr schnell klar, dass meine Dokumente, zwar 2x in Backup gesichert waren, aber ich im Moment des Umbaus keinen Zugriff hatte.
Aber wie kann man das lösen?
Nun ja, der zentrale Server hatte neben NFSv4 auch einen Samba-Server für die wichtigsten Freigaben, damit man mit so mancher VM oder auch Smartphone und/oder Tablett auf die Daten zugreifen kann. Einen Zugriff über NFSv4 von Android aus habe ich (vielleicht noch) nicht gefunden. Und ich will auf gar keinen Fall einen direkten Zugriff auf meine Workstation über Samba, denn dann kann alles mögliche über Windows und Android auf die Workstation gelangen. Also so Viren, Ransomware… etc. also alles schmutzige… 🙁
Es muss also ein sicherer Zugriff ermöglicht werden. Nur lesend reicht mir ja schon. Ja, auch wenn man einen Samba-Server mit lesenden Freigaben lokale auf der Workstation einrichtet, es ist mit nicht sicher genug, denn unter Windows ist halt alles möglich und man weiß nie, was im Hintergrund alles übertragen werden kann.
Man bräuchte also so etwas wie einen Freihafen, … Freihafen … Hmmmmm……
Casablanca!
Ja, Casablanca ist mir hier in den Sinn gekommen!!! Wer nicht weiß, was Casablanca ist, soll hier man nachsehen. 😉
Ein separater Freihafen, der nur lesend auf die Daten zugreifen kann. Sprich‘, ich baue ein Bastille-Jail, in dass ich die Ordner nur lesend einhänge und dann dort einen Samba-Server mit den Freigaben auf diese Ordner einrichte. Da ich ja bereits einen Browser in einem Jail habe, siehe hier, kann ich hier die bestehende Bastille-/Netzwerk-Struktur verwenden.
Ich will hier nur auf den Workflow eingehen, weil das Howto ja bereits bekannt sein sollte.
- Zuerst erstellt man sich ein neues Jail. Diesem Jail gibt man am besten eine eigene, feste IP-Adresse, über die dieses erreichbar sein soll.
- Nun geht man in das Jail und legt dort die entsprechenden Ordner an, damit man nachher die Mounts auch erfolgreich umsetzen kann.
- Die Ordner des Hosts/der Workstation, die man einhängen möchte, kann man nun über folgenden Befehl lesend einhängen.
# bastille mount casablanca /pfad/zum/Ordner pfad/im/jail nullfs ro 0 0
Man beachte, dass beim zweiten Pfad, der für den Pfad im Jail steht, der root-Slash „/“ am Anfang fehlt. Das ist wichtig, weil der Mount ansonsten nicht funktioniert. - Sind diese Mounts eingehängt, dann kann man wieder in das Jail gehen und den Samba-Server installieren.
- Nun richtet man den Samba-Server nach seinem Belieben ein und kann bei den Freigaben auch sagen, dass diese nur lesend verwendet werden sollen. Doppelt gemoppelt hält besser. 😉
- Da man nun auch noch einen Benutzer für Samba benötigt, kann man einen Benutzer im Jail anlegen und diese mit smbpasswd auch dem Samba-Server zur Verfügung stellen.
- Wenn man nun den Samba-Server neu startet und dann diesen mit dem Befehl testparm abruft, so sollte nun alles passen und unser Freihafen ist eingerichtet.
So, unser separater Freihafen ist eingerichtet, wird beim Start der Workstation hoch gefahren und nun kann man mit Android erfolgreich auf die Freigaben mit Samba zugreifen.
Man kann es in etwas wie das ILO bei HP-Servern beschreiben, nur dass dies ein separater Server ist, der einen lesenden Zugriff auf die Daten freigibt. und das ist ja das, was ich wollte.
Ein weiterer Punkt ist, dass man einen komplett anderen Benutzer für den Zugriff auf die Daten verwenden kann und somit die eigentlichen Credentials für die Workstation so auch gesichert sind.
Und wie greife ich von extern nun auf die Daten zu? Die Workstation kann ja nicht die ganze Zeit laufen!
Ja, das ist richtig. Aus Umweltschutz-Gründen sollte man seinen Rechner ausschalten, wenn man diese nicht braucht. Aber wie mache ich es dann, wenn ich wirklich an die Daten kommen muss?
Das geht ganz einfach!
Auf der Firewall, zu der ich mich über einen VPN verbinde, habe ich es so eingerichtet, dass Wakup-on-LAN für die Workstation funktioniert. Also, wenn ich nun von außen einen Zugriff brauche, dann kann ich durch den VPN über die Firewall die Workstation starten. Dann warte ich bis diese hochgefahren ist und greife dann auf meine Daten zu.
Habe ich alles beendet, dann kann ich über eine ssh-Shell auf die Workstation gehen, Die Daten lesend verwenden und am Ende diese gepflegt herunter fahren.
Das ist doch ein rundes Konzept, oder nicht. 🙂
Viel Spaß!