UUGRN:Jails/Konzept: Unterschied zwischen den Versionen
Rabe (Diskussion | Beiträge) (→Jail-Liste: klotz++ demizo++) |
Rabe (Diskussion | Beiträge) K (→Software: linkfix) |
||
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Jails]] sind virtuelle Systeme in [[FreeBSD]], die auf einem gemeinsamen Kernel laufen, jedoch voneinander getrennte Userlands haben, inkl. eigene Benutzer- und root-Rechte. Dieser Artikel soll das Konzept der [[UUGRN:Jails]] aufzeigen. | |||
[[Jails]] sind virtuelle Systeme in [[FreeBSD]], die auf einem gemeinsamen Kernel laufen, jedoch voneinander getrennte Userlands haben, inkl. eigene Benutzer- und root-Rechte. | |||
Dieser Artikel soll | |||
== Vereinsangebot == | == Vereinsangebot == | ||
[[UUGRN:Verein|UUGRN e.V.]] bietet seinen [[UUGRN:Mitgliedschaft|Mitgliedern]] eigene virtuelle Root-Server auf Jail-Basis an. | [[UUGRN:Verein|UUGRN e.V.]] bietet seinen [[UUGRN:Mitgliedschaft|Mitgliedern]] eigene virtuelle Root-Server auf Jail-Basis an. | ||
Diese Jails werden derzeit auf [[top.uugrn.org]] gehostet. | Diese Jails werden derzeit überwiegend auf [[UUGRN:Server/top|top.uugrn.org]] gehostet. | ||
Darüber hinaus werden Jails für teils gemeinsam genutzt Infrastrukturdienste wie etwa [[UUGRN:Jails/mail|Mailserver]], Webserver, [[UUGRN:Shell|Shellserver]] etc. eingesetzt. | |||
== Nutzung == | == Nutzung == | ||
Zeile 19: | Zeile 11: | ||
=== Verbindliche Policy === | === Verbindliche Policy === | ||
Vor der "Übergabe" eines [[UUGRN:Jails#Mitglieder-Jails|Mitglieder-Jails]] muss die [[Jail-Policy]] anerkannt und unterschrieben werden. Diese definiert, was "fair use" darstellt. | Vor der "Übergabe" eines [[UUGRN:Jails#Mitglieder-Jails|Mitglieder-Jails]] muss die [[UUGRN:Jails/Nutzungsbedingungen|Jail-Policy]] anerkannt und unterschrieben werden. Diese definiert, was "fair use" darstellt. | ||
; | ; siehe dazu: [[UUGRN:Jails/Nutzungsbedingungen]] | ||
== Einrichtung == | == Einrichtung == | ||
=== Übergabe / Root === | === Übergabe / Root === | ||
Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein [[UUGRN:Shell|Mitglieder-Account]] auf [[UUGRN:Jails/shell|shell.uugrn.org]]. Im Homeverzeichnis von username@shell.uugrn.org:.ssh/keyname muss ein gesicherter SSH-Key generiert werden. Der Publickey (.ssh/keyname.pub) wird initial als root-Login in root@userjail.uugrn.org:/root/.ssh/authorized_keys eingetragen. | |||
Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein [[UUGRN:Shell|Mitglieder-Account]] auf [[shell.uugrn.org]]. | |||
Mit Hilfe dieses Root-Logins im Jail können dann weitere Benutzer angelegt werden, mit denen man sich ohne Umweg über [[UUGRN:Jails/shell|shell.uugrn.org]] einloggen kann. | |||
;siehe dazu: [[UUGRN:Jails/einrichten]] | |||
=== Basis-Ausstattung === | === Basis-Ausstattung === | ||
{{UUGRN:Jails/Templates/Navigation}} | |||
; siehe auch: [[UUGRN:Jails/Templates]] | |||
: | |||
; | |||
: | |||
== Systempflege und Betrieb == | == Systempflege und Betrieb == | ||
=== Basis-System === | === Basis-System === | ||
Die Jail-Basissysteme werden zunächst auf | Die Jail-Basissysteme werden zunächst auf [[UUGRN:Jails/sandbox]] getestet. | ||
Updates des Basis-Systems in ''/usr/src'' werden von der Hauptmaschine aus durchgeführt, ebenso wie der idR erforderliche ''mergemaster''. Dabei wird darauf geachtet, dass mauelle Änderungen in /etc nicht überschrieben werden. Bitte wichtige Änderungen mit Kommentar versehen (Zeile obendrüber) und selbst für Sicherheitskopien außerhalb von /etc sorgen. | |||
Updates des Basis-Systems in ''/usr/src'' werden von der [[UUGRN:Server/top|Hauptmaschine]] aus durchgeführt, ebenso wie der idR erforderliche ''mergemaster''. Dabei wird darauf geachtet, dass mauelle Änderungen in /etc nicht überschrieben werden. Bitte wichtige Änderungen mit Kommentar versehen (Zeile obendrüber) und '''selbst für Sicherheitskopien außerhalb von /etc sorgen'''. | |||
=== Software === | === Software === | ||
Es gibt darüber hinaus ein global verfügbares ''/usr/ports/'', das read-only in allen Jails verfügbar ist, siehe auch [[FreeBSD/Ports/readonly]]. | |||
Es gibt darüber hinaus ein global verfügbares ''/usr/ports/'', das read-only in allen Jails verfügbar ist | |||
Alles unter /usr/ports/ wird außerhalb der Jails gepflegt, im Wesentlichen sind es das regelmäßige Update der Ports, das Herunterladen der aktuellen Distfiles aller Installierten Ports in allen Jails (/usr/ports/distfiles/) und das periodische zur Verfügung stellen von vorkompilierten Packages unter /usr/ports/packages/. | |||
=== Backup === | === Backup === | ||
Die [[top | Die [[UUGRN:Server/top|Jail-Maschine]] wird regelmäßig per [[rsync]] auf [[UUGRN:Server/charm]] kopiert. | ||
Derzeit findet dies 1x pro Tag morgens statt. Restore-Wünsche bitte sehr zeitnah kommunizieren. | Derzeit findet dies 1x pro Tag morgens statt. Restore-Wünsche bitte sehr zeitnah kommunizieren. | ||
Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt. | |||
;siehe auch: [[UUGRN:Backup]] und [[UUGRN:Server/top/backup]] | |||
=== Firewall === | === Firewall === | ||
Zeile 116: | Zeile 57: | ||
; Raw-Socket: | ; Raw-Socket: | ||
:* Zugriff auf den raw-Socket sind nicht möglich (z.B. tcpdump) | :* Zugriff auf den raw-Socket sind nicht möglich (z.B. tcpdump) | ||
:* ICMP (ping) ist aus den Jails heraus nicht möglich, [[top | :* ICMP (ping) ist aus den Jails heraus nicht möglich, [[UUGRN:Server/top|top]] selbst ist allerdings in der Lage, auf allen IPs ICMP zu empfangen und zu senden. | ||
'''Diese Policy kann sich jederzeit ändern oder erweitert werden.''' | '''Diese Policy kann sich jederzeit ändern oder erweitert werden.''' | ||
Zeile 131: | Zeile 72: | ||
* Auf Wunsch kann das Jail in Form einer Datensicherung (Gnu-tar) zur Verfügung gestellt werden. | * Auf Wunsch kann das Jail in Form einer Datensicherung (Gnu-tar) zur Verfügung gestellt werden. | ||
== Siehe auch == | == Siehe auch == | ||
* [[ | * [[UUGRN:Jails]] | ||
* [[ | :* [[UUGRN:Jails/Nutzungsbedingungen|Verbindliche Regeln für die Verwendung von UUGRN Jails]] | ||
:* [[UUGRN:MySQL|MySQL Zugang auf dem zentralen MySQL Server]] | |||
* [[ | * [[UUGRN:Server/top|top.uugrn.org]] | ||
* [[UUGRN:Mailkonzept]] | * [[UUGRN:Mailkonzept]] | ||
* [[UUGRN:Mitgliedschaft]] | * [[UUGRN:Mitgliedschaft]] | ||
* [[Jail|Hintergrundinformationen zu BSD Jails]] | |||
;Unterseiten: | |||
<splist /> | |||
[[Kategorie: | [[Kategorie:UUGRN:Jail|!]] | ||
Aktuelle Version vom 22. April 2009, 10:57 Uhr
Jails sind virtuelle Systeme in FreeBSD, die auf einem gemeinsamen Kernel laufen, jedoch voneinander getrennte Userlands haben, inkl. eigene Benutzer- und root-Rechte. Dieser Artikel soll das Konzept der UUGRN:Jails aufzeigen.
Vereinsangebot[Bearbeiten]
UUGRN e.V. bietet seinen Mitgliedern eigene virtuelle Root-Server auf Jail-Basis an. Diese Jails werden derzeit überwiegend auf top.uugrn.org gehostet.
Darüber hinaus werden Jails für teils gemeinsam genutzt Infrastrukturdienste wie etwa Mailserver, Webserver, Shellserver etc. eingesetzt.
Nutzung[Bearbeiten]
Das Jail-Konzept gewährt dem einzelnen Mitglied weitreichende Eigenverantwortung. Damit es jedoch nicht zu Betriebsbeeinträchtigungen kommt, müssen jewisse Standardregeln definiert und befolgt werden:
Verbindliche Policy[Bearbeiten]
Vor der "Übergabe" eines Mitglieder-Jails muss die Jail-Policy anerkannt und unterschrieben werden. Diese definiert, was "fair use" darstellt.
- siehe dazu
- UUGRN:Jails/Nutzungsbedingungen
Einrichtung[Bearbeiten]
Übergabe / Root[Bearbeiten]
Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein Mitglieder-Account auf shell.uugrn.org. Im Homeverzeichnis von username@shell.uugrn.org:.ssh/keyname muss ein gesicherter SSH-Key generiert werden. Der Publickey (.ssh/keyname.pub) wird initial als root-Login in root@userjail.uugrn.org:/root/.ssh/authorized_keys eingetragen.
Mit Hilfe dieses Root-Logins im Jail können dann weitere Benutzer angelegt werden, mit denen man sich ohne Umweg über shell.uugrn.org einloggen kann.
- siehe dazu
- UUGRN:Jails/einrichten
Basis-Ausstattung[Bearbeiten]
- siehe auch
- UUGRN:Jails/Templates
Systempflege und Betrieb[Bearbeiten]
Basis-System[Bearbeiten]
Die Jail-Basissysteme werden zunächst auf UUGRN:Jails/sandbox getestet.
Updates des Basis-Systems in /usr/src werden von der Hauptmaschine aus durchgeführt, ebenso wie der idR erforderliche mergemaster. Dabei wird darauf geachtet, dass mauelle Änderungen in /etc nicht überschrieben werden. Bitte wichtige Änderungen mit Kommentar versehen (Zeile obendrüber) und selbst für Sicherheitskopien außerhalb von /etc sorgen.
Software[Bearbeiten]
Es gibt darüber hinaus ein global verfügbares /usr/ports/, das read-only in allen Jails verfügbar ist, siehe auch FreeBSD/Ports/readonly.
Alles unter /usr/ports/ wird außerhalb der Jails gepflegt, im Wesentlichen sind es das regelmäßige Update der Ports, das Herunterladen der aktuellen Distfiles aller Installierten Ports in allen Jails (/usr/ports/distfiles/) und das periodische zur Verfügung stellen von vorkompilierten Packages unter /usr/ports/packages/.
Backup[Bearbeiten]
Die Jail-Maschine wird regelmäßig per rsync auf UUGRN:Server/charm kopiert. Derzeit findet dies 1x pro Tag morgens statt. Restore-Wünsche bitte sehr zeitnah kommunizieren.
Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt.
- siehe auch
- UUGRN:Backup und UUGRN:Server/top/backup
Firewall[Bearbeiten]
Die aktuelle Firewall-Policy für Mitglieder-Jails ist folgende:
- TCP und UDP
-
- Ein- und ausgehende Verbindungen für TCP und UDP sind frei
- Ausnahmen
-
- Port 25/tcp wird über zentrales MX angeboten (Spamschleudern etc), siehe UUGRN:Mailkonzept
- Port 53/udp wird über zentralen DNS gehostet. Einrichtung und Pflege eigener Domains ist möglich (über hidden Primary), siehe UUGRN:DNS-Konzept.
Auf speziellen Wunsch können weitere deny-Regeln eingerichtet werden
- Raw-Socket
-
- Zugriff auf den raw-Socket sind nicht möglich (z.B. tcpdump)
- ICMP (ping) ist aus den Jails heraus nicht möglich, top selbst ist allerdings in der Lage, auf allen IPs ICMP zu empfangen und zu senden.
Diese Policy kann sich jederzeit ändern oder erweitert werden.
Was tun im Nofall?[Bearbeiten]
Jedes Mitglied kann sein eigenes Jail von innen heraus selbst stoppen:
als root einfach # kill -9 -1
ausführen, beendet alle Prozesse im Jail-Kontext, das Jail wird somit gestoppt.
Ein Neustart kann durch die Administration veranlasst werden.
Beendigung[Bearbeiten]
- Ein Jail wird auf eigenen Wunsch des Mitglieds hin entweder zweitweise deaktiviert oder gelöscht, z.B. wenn keine weitere aktive Nutzung (und Pflege) mehr gewünscht ist bzw. stattfindet.
- Ein Jail wird im Notfall durch die Systemadministration deaktiviert und dokumentiert (z.B. bei Mißbrauch // Abwenden weiterer Schäden)
- Ein Jail wird auf eigenen Wunsch oder bei Vorliegen entsprechender Gründe gelöscht.
- Auf Wunsch kann das Jail in Form einer Datensicherung (Gnu-tar) zur Verfügung gestellt werden.
Siehe auch[Bearbeiten]
- Unterseiten