UUGRN:Jails/Konzept: Unterschied zwischen den Versionen

Aus UUGRN
K (→‎Siehe auch: UUGRN:Jails)
Zeile 156: Zeile 156:
  ! Typ
  ! Typ
  ! Beschreibung
  ! Beschreibung
! Links
  |-
  |-
  | 195.49.138.98
  | 195.49.138.98
Zeile 161: Zeile 162:
  | I
  | I
  | Interne Infrastrukturdienste, zB [[intern.uugrn.org/MySQL|MySQL]]
  | Interne Infrastrukturdienste, zB [[intern.uugrn.org/MySQL|MySQL]]
| <small>[[intern.uugrn.org|Info]] [[intern.uugrn.org/Adminlog|Adminlog]] [[intern.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.99
  | 195.49.138.99
Zeile 166: Zeile 168:
  | I
  | I
  | Externe Infrastrukturdienste, z.B. Webseite und [[UUGRN:Mailingliste|Mailingliste]]
  | Externe Infrastrukturdienste, z.B. Webseite und [[UUGRN:Mailingliste|Mailingliste]]
| <small>[[verein.uugrn.org|Info]] [[.uugrn.org/Adminlog|Adminlog]] [[.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.100
  | 195.49.138.100
Zeile 171: Zeile 174:
  | M
  | M
  | User-Jail für (alle) [[UUGRN:Mitgliedschaft|Mitglieder]] von [[UUGRN:Verein|UUGRN e.V.]]
  | User-Jail für (alle) [[UUGRN:Mitgliedschaft|Mitglieder]] von [[UUGRN:Verein|UUGRN e.V.]]
| <small>[[shell.uugrn.org|Info]] [[shell.uugrn.org/Adminlog|Adminlog]] [[shell.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.101
  | 195.49.138.101
Zeile 176: Zeile 180:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[mile.uugrn.org|Info]] [[mile.uugrn.org/Adminlog|Adminlog]] [[mile.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.102
  | 195.49.138.102
Zeile 181: Zeile 186:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[rabe.uugrn.org|Info]] [[rabe.uugrn.org/Adminlog|Adminlog]] [[rabe.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.103
  | 195.49.138.103
Zeile 186: Zeile 192:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[trickster.uugrn.org|Info]] [[trickster.uugrn.org/Adminlog|Adminlog]] [[trickster.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.104
  | 195.49.138.104
Zeile 191: Zeile 198:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[drmotte.uugrn.org|Info]] [[drmotte.uugrn.org/Adminlog|Adminlog]] [[drmotte.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.105
  | 195.49.138.105
Zeile 196: Zeile 204:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[che.uugrn.org|Info]] [[che.uugrn.org/Adminlog|Adminlog]] [[che.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.106
  | 195.49.138.106
Zeile 201: Zeile 210:
  |  
  |  
  |  
  |  
| <small>[[.uugrn.org|Info]] [[.uugrn.org/Adminlog|Adminlog]] [[.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.107
  | 195.49.138.107
Zeile 206: Zeile 216:
  |  
  |  
  |  
  |  
| <small>[[.uugrn.org|Info]] [[.uugrn.org/Adminlog|Adminlog]] [[.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.108
  | 195.49.138.108
Zeile 211: Zeile 222:
  |  
  |  
  |  
  |  
| <small>[[.uugrn.org|Info]] [[.uugrn.org/Adminlog|Adminlog]] [[.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.109
  | 195.49.138.109
Zeile 216: Zeile 228:
  |  
  |  
  |  
  |  
| <small>[[.uugrn.org|Info]] [[.uugrn.org/Adminlog|Adminlog]] [[.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.110
  | 195.49.138.110
Zeile 221: Zeile 234:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[bert.uugrn.org|Info]] [[bert.uugrn.org/Adminlog|Adminlog]] [[bert.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.111
  | 195.49.138.111
Zeile 226: Zeile 240:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[rmfausi.uugrn.org|Info]] [[rmfausi.uugrn.org/Adminlog|Adminlog]] [[rmfausi.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.112
  | 195.49.138.112
Zeile 231: Zeile 246:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[shl.uugrn.org|Info]] [[shl.uugrn.org/Adminlog|Adminlog]] [[shl.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.113
  | 195.49.138.113
Zeile 236: Zeile 252:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[friedel.uugrn.org|Info]] [[friedel.uugrn.org/Adminlog|Adminlog]] [[friedel.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.114
  | 195.49.138.114
Zeile 241: Zeile 258:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[schwede.uugrn.org|Info]] [[schwede.uugrn.org/Adminlog|Adminlog]] [[schwede.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.115
  | 195.49.138.115
Zeile 246: Zeile 264:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[klotz.uugrn.org|Info]] [[klotz.uugrn.org/Adminlog|Adminlog]] [[klotz.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.116
  | 195.49.138.116
Zeile 251: Zeile 270:
  | M
  | M
  | Mitgliedsjail
  | Mitgliedsjail
| <small>[[demizo.uugrn.org|Info]] [[demizo.uugrn.org/Adminlog|Adminlog]] [[demizo.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.117
  | 195.49.138.117
Zeile 256: Zeile 276:
  | M
  | M
  | Mitgliedsjail  
  | Mitgliedsjail  
| <small>[[hdi.uugrn.org|Info]] [[hdi.uugrn.org/Adminlog|Adminlog]] [[hdi.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.118
  | 195.49.138.118
Zeile 261: Zeile 282:
  | I
  | I
  | FreBSD Master Server (cvsup, Portpflege, Packagebuilder)
  | FreBSD Master Server (cvsup, Portpflege, Packagebuilder)
| <small>[[freebsd.uugrn.org|Info]] [[freebsd.uugrn.org/Adminlog|Adminlog]] [[freebsd.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.119
  | 195.49.138.119
Zeile 266: Zeile 288:
  | P
  | P
  | Partnerjail Rabe+JJ <!-- Details folgen, je nachdem, was draus werden wird -->
  | Partnerjail Rabe+JJ <!-- Details folgen, je nachdem, was draus werden wird -->
| <small>[[privacy.uugrn.org|Info]] [[privacy.uugrn.org/Adminlog|Adminlog]] [[privacy.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.120
  | 195.49.138.120
Zeile 271: Zeile 294:
  | P
  | P
  | Partnerjail für [[NoName|NoName e.V.]]
  | Partnerjail für [[NoName|NoName e.V.]]
| <small>[[noname.uugrn.org|Info]] [[noname.uugrn.org/Adminlog|Adminlog]] [[noname.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.121
  | 195.49.138.121
Zeile 276: Zeile 300:
  | I
  | I
  | Testumgebung / Standardjail
  | Testumgebung / Standardjail
| <small>[[sandbox.uugrn.org|Info]] [[sandbox.uugrn.org/Adminlog|Adminlog]] [[sandbox.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.122
  | 195.49.138.122
Zeile 281: Zeile 306:
  | I
  | I
  | UUGRN Mail-Exchange (derzeit noch extern)
  | UUGRN Mail-Exchange (derzeit noch extern)
| <small>[[up.uugrn.org|Info]] [[up.uugrn.org/Adminlog|Adminlog]] [[up.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  | 195.49.138.123
  | 195.49.138.123
Zeile 286: Zeile 312:
  | I
  | I
  | UUGRN Mail-Exchange
  | UUGRN Mail-Exchange
| <small>[[mail.uugrn.org|Info]] [[mail.uugrn.org/Adminlog|Adminlog]] [[mail.uugrn.org/Backup|Backup]]</small>
  |-
  |-
  |}
  |}

Version vom 15. November 2008, 17:42 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

Um im eigenen Jail später root werden zu können, muss der angelegte User in der wheel-Gruppe sein. Als primäre Gruppe wird man wohl i.d.R. "staff" nehmen und auf die Frage "Invite user to ... " zusätzlich "wheel" angeben, oder nachträglich in /etc/group(5) eintragen.

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

Vorkompilierte Packages können direkt aus dem Internet installiert werden. Es gibt darüber hinaus ein global verfügbares /usr/ports/, das read-only in allen Jails verfügbar ist. Über ein script auf top.uugrn.org werden regelmäßig alle Distfiles von installierten Ports aktualisiert und in /usr/ports/distfiles/ angeboten (prefetch). 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 Spiegel-Servers, der als Fallback und Backup läuft.

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), 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?

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 Links
195.49.138.98 intern.uugrn.org I Interne Infrastrukturdienste, zB MySQL Info Adminlog Backup
195.49.138.99 verein.uugrn.org I Externe Infrastrukturdienste, z.B. Webseite und Mailingliste Info Adminlog Backup
195.49.138.100 shell.uugrn.org M User-Jail für (alle) Mitglieder von UUGRN e.V. Info Adminlog Backup
195.49.138.101 mile.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.102 rabe.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.103 trickster.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.104 drmotte.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.105 che.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.106 Info Adminlog Backup
195.49.138.107 Info Adminlog Backup
195.49.138.108 Info Adminlog Backup
195.49.138.109 Info Adminlog Backup
195.49.138.110 bert.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.111 rmfausi.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.112 shl.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.113 friedel.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.114 schwede.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.115 klotz.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.116 demizo.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.117 hdi.uugrn.org M Mitgliedsjail Info Adminlog Backup
195.49.138.118 freebsd.uugrn.org I FreBSD Master Server (cvsup, Portpflege, Packagebuilder) Info Adminlog Backup
195.49.138.119 privacy.uugrn.org P Partnerjail Rabe+JJ Info Adminlog Backup
195.49.138.120 noname.uugrn.org P Partnerjail für NoName e.V. Info Adminlog Backup
195.49.138.121 sandbox.uugrn.org I Testumgebung / Standardjail Info Adminlog Backup
195.49.138.122 up.uugrn.org I UUGRN Mail-Exchange (derzeit noch extern) Info Adminlog Backup
195.49.138.123 mail.uugrn.org I UUGRN Mail-Exchange Info Adminlog Backup

Siehe auch