Bearbeiten von „UUGRN:Jails/Konzept“
Aus UUGRN
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
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 | + | {{Administrative Hinweise|Das Jailkonzept wird ständig überarbeitet und angepasst. <br /> |
+ | Näheres dazu auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite]]. --[[Benutzer:Rabe|RaBe]] 13:35, 13. Mai. 2007 (CEST) }} | ||
+ | |||
+ | [[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 aufzeigen, was [[UUGRN:Verein|der Verein]] anbietet, welche Voraussetzungen es gibt und welche Mechanismen wirken. | ||
== 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 | + | Diese Jails werden derzeit auf [[top.uugrn.org]] gehostet. |
+ | |||
+ | Darüber hinaus werden Jails für teils gemeinsam genutzt Infrastrukturdienste wie etwa Mailserver, Webserver, Shellserver etc. eingesetzt. | ||
+ | |||
+ | |||
− | |||
== Nutzung == | == Nutzung == | ||
− | Das Jail-Konzept gewährt dem | + | 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 === | === Verbindliche Policy === | ||
− | Vor der "Übergabe" eines | + | Vor der "Übergabe" eines Mitglieder-Jails muss die [[Jail-Policy]] anerkannt und unterschrieben werden. Diese definiert, was "fair use" darstellt. |
− | ; | + | ;Die Grundpolicy enthält: Erlaubt ist alles, was einem "fair use" entspricht. |
+ | |||
+ | Diese weitreichende Freiheit wird allerdings definierte Grenzen haben, die überprüft und durchgesetzt werden, um Mißbrauch vorzubeugen. | ||
+ | Im Zweifel sind Aktionen vorher mit der Vereinsführung oder Administration abzustimmen. Sonderregelungen werden öffentlich dokumentiert (Transparenzgebot). | ||
== Einrichtung == | == Einrichtung == | ||
=== Übergabe / Root === | === Übergabe / Root === | ||
− | Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein | + | Die Mitglieder-Jails werden ohne Benutzeraccounts angelegt. |
+ | Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein Mitglieder-Account auf [[shell.uugrn.org]]. | ||
+ | Zunächst muss dort ein mit Passphrase gesicherter SSH-Key erzeugt werden: | ||
+ | |||
+ | [mitglied@shell ~]$ ssh-keygen -t dsa | ||
+ | |||
+ | Standardmäßig werden hierbei die beiden Dateien <code>~/.ssh/id_dsa</code> und <code>~/.ssh/id_dsa.pub</code> erzeugt. | ||
+ | Vom Einrichter des Mitglieder-Jails wird <code>mitglied@shell:~/.ssh/id_dsa.pub</code> an <code>root@mitgliedsjail:.ssh/authorized_keys</code> angehängt, wodurch das Mitglied sein Jail initial als root einloggen kann: | ||
+ | |||
+ | [mitglied@shell ~]$ ssh root@meinjail.uugrn.org | ||
+ | |||
+ | Nach dem initialen root-Login sollte das root-Passwort unbedingt gesetzt werden: | ||
+ | |||
+ | [root@meinjail ~]# passwd | ||
+ | |||
+ | und normale Benutzeraccounts eingerichtet werden: | ||
+ | |||
+ | [root@meinjail ~]# adduser | ||
− | + | Der SSH-Rootzugriff von mitglied@[[shell.uugrn.org]] aus kann entweder bestehen bleiben, oder aber gelöscht werden. | |
+ | Hierzu ist es erforderlich, die Datei authorized_keys entsprechend zu bearbeiten: | ||
− | + | [root@meinjail ~]# vi ~/.ssh/authorized_keys | |
=== Basis-Ausstattung === | === Basis-Ausstattung === | ||
− | + | ; FreeBSD Basissystem des jeweils aktuellen Releases: | |
− | ; | + | :* Standardumfang des Basissystems |
+ | ; Shells: | ||
+ | :* bash | ||
+ | :* zsh | ||
+ | :* ksh | ||
+ | ; Standard-Tools: | ||
+ | :* coreutils (The Free Software Foundation's core utilities) | ||
+ | :* findutils (The GNU find utilities) | ||
+ | :* ImageMagick | ||
+ | :* rsync | ||
+ | :* sudo | ||
+ | |||
+ | ;Console-Standardsoftware: | ||
+ | :* Midnight Commander | ||
+ | :* mutt | ||
+ | :* lynx | ||
+ | ;Editoren: | ||
+ | :* vim 6 | ||
+ | :* nano | ||
+ | |||
+ | ; Devel: | ||
+ | :* PERL 5.8 | ||
+ | :** Standardausstattung p5-Module | ||
+ | :* Python | ||
+ | |||
+ | ; Web-Paket: | ||
+ | :* Apache 1.3.x mit mod_ssl | ||
+ | :** div. Zusatzmodule | ||
+ | :* PHP5 plus zahlreiche Module | ||
+ | :* [[smarty]] | ||
+ | :* mod_perl | ||
+ | |||
+ | |||
== Systempflege und Betrieb == | == Systempflege und Betrieb == | ||
=== Basis-System === | === Basis-System === | ||
− | Die Jail-Basissysteme werden zunächst auf | + | Die Jail-Basissysteme werden zunächst auf testjail.uugrn.org getestet. Wir werden auf den jeweiligen RELEASE-Ständen fahren. |
− | + | Wir prüfen derzeit, wie sich Jails zentral updaten lassen, da es nicht erwünscht ist (jedoch möglich sein wird), innerhalb vom Jail eigene Systeme zu kompilieren. | |
− | |||
=== Software === | === Software === | ||
− | Es | + | Es wird ein zentrales Package Verzeichnis geben, welches in den Jails r/o gemountet sein wird. Darüberhinaus können Packages aus dem Internet installiert werden. Es wird weiterhin zentral gepflegte Ports geben (/usr/ports), welche in den Jails r/o verfügbar sein werden. Durch Konfiguration wird es dennoch ermöglicht, selbst Ports zu bauen. Siehe dazu [[FreeBSD Ports/readonly]]. |
− | |||
− | |||
=== Backup === | === Backup === | ||
− | Die [[ | + | Die [[top.uugrn.org|Jail-Maschine]] wird regelmäßig per [[rsync]] auf [[bottom.uugrn.org|eine Ausweichmaschine]] 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. | ||
+ | |||
+ | Geplant ist der Betrieb eines Parallel-Servers. | ||
Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt. | Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt. | ||
− | |||
− | |||
=== Firewall === | === Firewall === | ||
Zeile 52: | Zeile 110: | ||
:;Ausnahmen: | :;Ausnahmen: | ||
::* Port 25/tcp wird über zentrales MX angeboten (Spamschleudern etc), siehe [[UUGRN:Mailkonzept]] | ::* 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'') | + | ::* Port 53/udp wird über zentralen DNS gehostet. Einrichtung und Pflege eigener Domains ist möglich (über ''hidden Primary''). |
Auf speziellen Wunsch können weitere deny-Regeln eingerichtet werden | Auf speziellen Wunsch können weitere deny-Regeln eingerichtet werden | ||
; 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, [[ | + | :* ICMP (ping) ist aus den Jails heraus nicht möglich, [[top.uugrn.org|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 63: | Zeile 121: | ||
=== Was tun im Nofall? === | === Was tun im Nofall? === | ||
Jedes Mitglied kann sein eigenes Jail von innen heraus selbst stoppen: | Jedes Mitglied kann sein eigenes Jail von innen heraus selbst stoppen: | ||
− | als root einfach <code># kill -9 -1</code> ausführen | + | als root einfach <code># kill -9 -1</code> ausführen beendet alle Prozesse im Jail-Kontext, das Jail wird somit gestoppt. |
Ein Neustart kann durch die Administration veranlasst werden. | Ein Neustart kann durch die Administration veranlasst werden. | ||
Zeile 72: | Zeile 130: | ||
* 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. | ||
+ | |||
+ | == Jail-Typen == | ||
+ | === Infrastruktur-Jails (I) === | ||
+ | Infrastruktur-Jails erfüllen eine zentrale Aufgabe für den Betrieb als solchen. | ||
+ | Sie haben eine auf den Zweck zugeschittene Grundkonfiguration und auch spezielle Zugriffsrechte und Firewall-Regeln. | ||
+ | Root-Rechte liegen bei der Administration des Vereins. Ein Userbetrieb findet hier NICHT statt. | ||
+ | |||
+ | === Mitglieder-Jails (M) === | ||
+ | Mitglieder-Jails werden mit einer Grundkonfiguration initialisiert, die einen gewissen Standardumfang enthält. | ||
+ | Das jeweilige Mitglied hat root-Rechte am eigenen Jail. | ||
+ | |||
+ | Ein spezielles Sammeljail [[shell.uugrn.org]] beitet für alle Mitglieder Zugriff auf eine gemeinsame Umgebung. | ||
+ | |||
+ | === Partner-Jails (P) === | ||
+ | Kooperationspartner von [[UUGRN:Verein|UUGRN e.V.]] bekommen für eigene Projekte (und ggf auch User) ein Jail nach Maß zur Verfügung gestellt. | ||
+ | |||
+ | Hier gelten abweichend von der normalen Policy ggf. individuelle Zugriffsrechte und Befugnisse, die mit dem jeweiligen Partner vereinbart werden. | ||
+ | |||
+ | == Jail-Liste == | ||
+ | Jails sind an IP-Adressen gekoppelt. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! IP | ||
+ | ! Name | ||
+ | ! Typ | ||
+ | ! Beschreibung | ||
+ | |- | ||
+ | | 195.49.138.98 | ||
+ | | [[intern.uugrn.org]] | ||
+ | | I | ||
+ | | Interne Infrastrukturdienste, zB [[intern.uugrn.org/MySQL|MySQL]] | ||
+ | |- | ||
+ | | 195.49.138.99 | ||
+ | | [[verein.uugrn.org]] | ||
+ | | I | ||
+ | | Externe Infrastrukturdienste, z.B. Webseite und [[UUGRN:Mailingliste|Mailingliste]] | ||
+ | |- | ||
+ | | 195.49.138.100 | ||
+ | | [[shell.uugrn.org]] | ||
+ | | M | ||
+ | | User-Jail für (alle) [[UUGRN:Mitgliedschaft|Mitglieder]] von [[UUGRN:Verein|UUGRN e.V.]] | ||
+ | |- | ||
+ | | 195.49.138.101 | ||
+ | | [[mile.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.102 | ||
+ | | [[rabe.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.103 | ||
+ | | [[trickster.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.104 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.105 | ||
+ | | [[che.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.106 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.107 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.108 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.109 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.110 | ||
+ | | [[bert.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.111 | ||
+ | | [[rmfausi.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.112 | ||
+ | | [[shl.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.113 | ||
+ | | [[friedel.uugrn.org]] | ||
+ | | M | ||
+ | | Mitgliedsjail | ||
+ | |- | ||
+ | | 195.49.138.114 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.115 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.116 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.117 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.118 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.119 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.120 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.121 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.122 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | 195.49.138.123 | ||
+ | | [[mail.uugrn.org]] | ||
+ | | I | ||
+ | | UUGRN Mail-Exchange | ||
+ | |- | ||
+ | | 195.49.138.124 | ||
+ | | sandbox.uugrn.org | ||
+ | | I | ||
+ | | Jail zum Basteln und Ausprobieren | ||
+ | |- | ||
+ | | 195.49.138.125 | ||
+ | | | ||
+ | | | ||
+ | | (reserviert für Hardware) | ||
+ | |- | ||
+ | |} | ||
== Siehe auch == | == Siehe auch == | ||
− | * [[ | + | * [[top.uugrn.org]] |
− | + | * [[Jail|Hintergrundinformationen zu BSD Jails]] | |
− | + | * [[Jail-Policy|Verbindliche Regeln für die Verwendung von UUGRN Jails]] | |
− | + | * [[intern.uugrn.org/MySQL|MySQL Zugang auf dem zentralen MySQL Server]] | |
* [[UUGRN:Mailkonzept]] | * [[UUGRN:Mailkonzept]] | ||
* [[UUGRN:Mitgliedschaft]] | * [[UUGRN:Mitgliedschaft]] | ||
− | |||
− | |||
− | |||
− | |||
− | [[Kategorie: | + | [[Kategorie:Verein]] |
+ | [[Kategorie:Jail]] |