UUGRN:Jails/Konzept: Unterschied zwischen den Versionen

Aus UUGRN
K (→‎Firewall: IPv6 und VPN-Integration ist derzeit kein Thema.)
(Neu sortiert und strukturiert, aufgeräumt. Formulierungen ...)
Zeile 1: Zeile 1:
{{Administrative Hinweise|Das Jailkonzept wird noch erarbeitet. Viele der hier getroffenen Aussagen sind derzeit noch als Planung zu verstehen.<br />  
+
{{Administrative Hinweise|Das Jailkonzept wird ständig überarbeitet und angepasst. <br />
Näheres dazu auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite]]. --[[Benutzer:Rabe|RaBe]] 20:30, 13. Jun 2006 (CEST)}}
+
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 ==
 +
[[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.
 +
 
 +
Darüber hinaus werden Jails für teils gemeinsam genutzt Infrastrukturdienste wie etwa Mailserver, Webserver, Shellserver etc. eingesetzt.
  
[[top.uugrn.org]] wird im Wesenetlichen Infrastrukturdienste für das Hosting von [[Jail]]s anbieten.
 
Jails sind virtuelle Systeme, die auf einem gemeinsamen Kernel laufen, jedoch voneinander getrennte Userlands haben, inkl. eigene Benutzerrechte.
 
[[UUGRN]] bietet seinen Mitgliedern auf Wunsch ein solches virtuelles System an. Dieser Artikel soll aufzeigen, welche Mechanismen wirken und welche Voraussetzungen es gibt.
 
  
== 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.
+
== Nutzung ==
 +
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:
  
=== Partner-Jails (P) ===
+
=== Verbindliche Policy ===
Kooperationspartner von UUGRN bekommen für eigene Projekte (und ggf auch User) ein Jail zur Verfügung gestellt.  
+
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.  
  
Hier gelten abweichend von der normalen Policy ggf. individuelle Zugriffsrechte und Befugnisse.
+
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 ==
Die Einrichtung eines Jails erfolgt zentral.  
+
=== Übergabe / Root ===
Es wird normalerweise ein schlüsselfertiges Jail angeboten, welches einen Standardumfang an vorkonfigurierter Software enthält.  
+
Die Mitglieder-Jails werden ohne Benutzeraccounts angelegt.  
Auf Wunsch kann ein Minimal-System (ohne Zusatzpackages) angeboten werden.  
+
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 ===
Zeile 62: Zeile 85:
 
:* mod_perl
 
:* mod_perl
  
== Systempflege ==
+
 
 +
 
 +
== Systempflege und Betrieb ==
 
=== Basis-System ===
 
=== Basis-System ===
 
Die Jail-Basissysteme werden zunächst auf testjail.uugrn.org getestet. Wir werden auf den jeweiligen RELEASE-Ständen fahren.  
 
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.
 
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 (ports) ===
+
=== Software ===
 
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]].
 
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 [[top.uugrn.org|Jail-Maschine]] wird regelmäßig per [[rsync]] auf [[bottom.uugrn.org|eine Ausweichmaschine]] kopiert.  
 
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.
Zeile 78: Zeile 103:
 
Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt.
 
Eine individuelle Sicherung mit Historie/Rollback findet derzeit nicht statt.
  
== Firewall ==
+
=== Firewall ===
Die aktuelle Firewall-Policy für Mitglieder-Jails ist folgende:
+
Die aktuelle '''Firewall-Policy''' für Mitglieder-Jails ist folgende:
  
* Ein- und ausgehende Verbindungen für TCP und UDP sind frei ausgenommen:
+
; TCP und UDP:
** Port 25/tcp wird über zentrales MX angeboten (Spamschleudern etc), siehe [[UUGRN:Mailkonzept]]
+
:* Ein- und ausgehende Verbindungen für TCP und UDP sind frei  
** Port 53/udp wird über zentralen DNS gehostet. Einrichtung und Pflege eigener Domains ist möglich (über ''hidden Primary'').
+
:;Ausnahmen:
* 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.
+
::* Port 25/tcp wird über zentrales MX angeboten (Spamschleudern etc), siehe [[UUGRN:Mailkonzept]]
* Zugriff auf den raw-Socket sind nicht möglich (z.B. tcpdump)
+
::* 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
  
Diese Policy kann sich jederzeit ändern oder erweitert werden.
+
; Raw-Socket:
Auf speziellen Wunsch hin können wir weitere deny-Regeln anbieten.
+
:* Zugriff auf den raw-Socket sind nicht möglich (z.B. tcpdump)
 +
:* 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.
  
== Nutzung ==
+
'''Diese Policy kann sich jederzeit ändern oder erweitert werden.'''
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 ("policy").
 
  
=== Verbindliche Policy ===
+
=== Was tun im Nofall? ===
Vor der "Übergabe" eines Mitglieder-Jails muss die (noch zu erstellende)  [[Jail-Policy]] anerkannt und unterschrieben werden.
+
Jedes Mitglied kann sein eigenes Jail von innen heraus selbst stoppen:
Diese wird insbesondere definieren, was "fair use" darstellt. Die Grundpolicy wird enthalten: 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.
+
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.
  
=== Einrichtung und Übergabe / Root ===
+
=== Beendigung ===
Die Mitglieder-Jails werden ohne Benutzeraccounts angelegt.  
+
* 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.  
Voraussetzung für die Schlüsselübergabe für den root-Zugriff ist ein Mitglieder-Account auf [[shell.uugrn.org]].
+
* Ein Jail wird im Notfall durch die Systemadministration deaktiviert und dokumentiert (z.B. bei Mißbrauch // Abwenden weiterer Schäden)
Zunächst muss dort ein mit Passphrase gesicherter SSH-Key erzeugt werden:
+
* 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.
  
[mitglied@shell ~]$ ssh-keygen -t dsa
 
  
Standardmäßig werden hierbei die beiden Dateien ~/.ssh/id_dsa und ~/.ssh/id_dsa.pub erzeugt.  
+
== Jail-Typen ==
Vom Einrichter des Mitglieder-Jails wird mitglied@shell:~/.ssh/id_dsa.pub an root@mitgliedsjail:.ssh/authorized_keys angehängt, wodurch das Mitglied sein Jail initial als root einloggen kann:
+
=== 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.
  
[mitglied@shell ~]$ ssh root@meinjail.uugrn.org
+
=== 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.  
  
Nach dem initialen root-Login sollte das root-Passwort unbedingt gesetzt werden:
+
Ein spezielles Sammeljail [[shell.uugrn.org]] beitet für alle Mitglieder Zugriff auf eine gemeinsame Umgebung.
  
[root@meinjail ~]# passwd
+
=== 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.
  
und normale Benutzeraccounts eingerichtet werden:
+
Hier gelten abweichend von der normalen Policy ggf. individuelle Zugriffsrechte und Befugnisse, die mit dem jeweiligen Partner vereinbart 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
 
 
 
=== Regeln bei Verstoß ===
 
Kommerzielle Nutzung oder illegale Aktivitäten werden als schwerer Verstoß behandelt, was zu einer unverzüglichen Deaktivierung des Jails bis zur Klärung des Sachverhalts führt.
 
Bei (wiederholtem) Mißbrauch der Jails wird die Administration bzw. Vereinsführung je nach Schwere oder Dringlichkeit handeln, um Schaden abzuwenden.
 
Entsprechende Szenarien werden detailliert in der [[Jail-Policy]] enthalten sein.
 
Derartige Aktionen durch die Vereinsführung werden öffentlich dokumentiert.
 
 
 
=== Beendigung ===
 
* 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.
 
 
 
== Was tun im Nofall? ==
 
Jedes Mitglied kann sein eigenes Jail von innen heraus selbst stoppen:
 
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.
 
  
 
== Jail-Liste ==
 
== Jail-Liste ==
Jails sind an IP-Adressen gekoppelt. Die folgende Liste gibt einen ersten Entwurf der vergebenen Jails wieder.
+
Jails sind an IP-Adressen gekoppelt.  
Ein eigenes Jail bekommt jeder, der Mitglied im Verein ist auf Nachfrage, sobald die Maschine einsatzbereit ist.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 162: Zeile 170:
 
  | [[shell.uugrn.org]]
 
  | [[shell.uugrn.org]]
 
  | M
 
  | M
  | User-Jail für (alle) Mitglieder von UUGRN
+
  | User-Jail für (alle) [[UUGRN:Mitgliedschaft|Mitglieder]] von [[UUGRN:Verein|UUGRN e.V.]]
 
  |-
 
  |-
 
  | 195.49.138.101
 
  | 195.49.138.101
  | mile.uugrn.org
+
  | [[mile.uugrn.org]]
 
  | M
 
  | M
  | Benutzer-Jail
+
  | Mitgliedsjail
 
  |-
 
  |-
 
  | 195.49.138.102
 
  | 195.49.138.102
  | rabe.uugrn.org
+
  | [[rabe.uugrn.org]]
 
  | M
 
  | M
  | Benutzer-Jail
+
  | Mitgliedsjail
 
  |-
 
  |-
 
  | 195.49.138.103
 
  | 195.49.138.103
  | trickster.uugrn.org
+
  | [[trickster.uugrn.org]]
 
  | M
 
  | M
  | Benutzer-Jail
+
  | Mitgliedsjail
 
  |-
 
  |-
 
  | 195.49.138.104
 
  | 195.49.138.104
  | .uugrn.org
+
  |  
  | M
+
  |  
 
  |  
 
  |  
 
  |-
 
  |-
 
  | 195.49.138.105
 
  | 195.49.138.105
  | che.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.106
 
  | 195.49.138.106
  | klotz.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.107
 
  | 195.49.138.107
  | unger.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.108
 
  | 195.49.138.108
  | hgw.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.109
 
  | 195.49.138.109
  | mh.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.110
 
  | 195.49.138.110
  | bert.uugrn.org
+
  |  
  | M
+
  |  
  | Benutzer-Jail
+
  |  
 
  |-
 
  |-
 
  | 195.49.138.111
 
  | 195.49.138.111
  |  
+
  | [[rmfausi.uugrn.org]]
  |  
+
  | M
  |
+
  | Mitgliedsjail
 
  |-
 
  |-
 
  | 195.49.138.112
 
  | 195.49.138.112

Version vom 13. Mai 2007, 11:35 Uhr

Administrative Hinweise:

Das Jailkonzept wird ständig überarbeitet und angepasst.
Näheres dazu auf der Diskussionsseite. --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 der Verein anbietet, welche Voraussetzungen es gibt und welche Mechanismen wirken.

Vereinsangebot

UUGRN e.V. bietet seinen Mitgliedern eigene virtuelle Root-Server auf Jail-Basis an. 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

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

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

Übergabe / Root

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 ~/.ssh/id_dsa und ~/.ssh/id_dsa.pub erzeugt. Vom Einrichter des Mitglieder-Jails wird mitglied@shell:~/.ssh/id_dsa.pub an root@mitgliedsjail:.ssh/authorized_keys 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

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

Basis-System

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

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

Die Jail-Maschine wird regelmäßig per rsync auf eine Ausweichmaschine kopiert. 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.

Firewall

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).

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?

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

  • 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.


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 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.

IP Name Typ Beschreibung
195.49.138.98 intern.uugrn.org I Interne Infrastrukturdienste, zB MySQL
195.49.138.99 verein.uugrn.org I Externe Infrastrukturdienste, z.B. Webseite und Mailingliste
195.49.138.100 shell.uugrn.org M User-Jail für (alle) Mitglieder von 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
195.49.138.106
195.49.138.107
195.49.138.108
195.49.138.109
195.49.138.110
195.49.138.111 rmfausi.uugrn.org M Mitgliedsjail
195.49.138.112
195.49.138.113
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