3080
Kommentar: neu!!!
|
← Revision 93 vom 2023-08-19 18:22:04 ⇥
5832
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
[[TableOfContents]] | ## page was renamed from FaxeDokumentation {{attachment:sao.png}} <<TableOfContents>> = Überblick = ''systemausfall.org'' dient als Organisationsplattform für progressive Projekte. Detaillierte Infos dazu findest du auf den [[https://systemausfall.org/wikis/hilfe/|Hilfeseiten]] Mit dieser Dokumentation des Projekts möchten wir unser Wissen veröffentlichen, um anderen Gruppen den Aufbau einer ähnlichen Infrastruktur zu erleichtern. So könnte sich idealerweise in jeder Region mit interessierten Menschen eine oder mehrere Gruppen bilden, die ähnliche Dienste für ihr Umfeld bereitstellen. Diese angestrebte dezentrale Struktur stellt für uns eine gute Mischung aus lokaler Vernetzung und übergreifendem Wissensaustausch dar. Weitere Projekte mit ähnlicher Zielstellung sind beispielsweise: * https://immerda.ch * https://nadir.org * https://riseup.net * https://so36.net * https://systemli.org Es gibt noch wesentlich mehr Projekte dieser Art. Eine Übersicht findest du [[https://help.riseup.net/en/security/resources/radical-servers|hier]]. = Ziele = * Bereitstellung von Werkzeugen, um die Arbeit von Projekten zu unterstützen, also beispielsweise: * sichere E-Mail-Accounts * (verschlüsselte) Mailinglisten * Veröffentlichung von Inhalten * Projektverwaltungstools * Wikis * Sicherheit des Systems gegenüber Angriffen mit technischen Mitteln ([[http://www.jargon.net/jargonfile/c/cracker.html|Cracker]]) * Schutz der Verkehrsdaten unserer Nutzer_innen * Schutz der gespeicherten Daten unserer Nutzer_innen (bei Diebstahl, Beschlagnahmung, usw.) = Konzept = Die erste Inkarnation des ''systemausfall''-Servers war ein alter ''HP'' der ''[[http://www.nl.debian.org/ports/hppa/|PA-RISC]]''-Architektur mit 60 MHz und einer guten Netzanbindung. Dabei stießen wir im Laufe der Zeit auf folgende Probleme: * wir hatten keinen physischen Zugriff auf den Rechner - dies machte jedes Kernel-Upgrade ziemlich aufregend :) * für manche Dienste benötigten wir recht neue Software-Versionen und mussten somit das [[http://www.debian.org/releases/|Debian-stable]] System mit anderen ''releases'' vermischen - dies verkomplizierte Updates * durch die große Anzahl installierter Pakete mit gegenseitigen Abhängigkeiten fühlte sich das System im Laufe der Zeit zunehmend fragil an - Veränderungen gefährdeten die Stabilität * ein Eindringling hätte potentiell Zugriff auf alle Dienste des Servers erlangen können Um diese Probleme bei der Neueinrichtung zu vermeiden, wollten wir den neuen Server modularer gestalten. Die Verwendung mehrerer getrennter Rechner kam jedoch aufgrund des Energieverbrauchs nicht in Frage. Die Isolation der einzelnen Dienste lässt sich beispielsweise durch getrennte [[WikiPedia:Chroot|chroot-Umgebungen]] umsetzen. Dies stellt jedoch nur einen geringen Schutz dar, da es einem potentiellen Angreifer möglich ist, der chroot-Umgebung zu entkommen. Zudem würden beispielsweise alle Systeme die gleichen TCP-Ports teilen. Wir haben stattdessen einige Jahre [[WikiPedia:User-mode_Linux|User-Mode-Linux]] genutzt, waren kurzzeitig bei WikiPediaDe:Xen und aktuell [[WikiPedia:Kernel-based_Virtual_Machine|KVM]]. Kurz gesagt: in dem realen Linux-System (dem ''Host'') werden mehrere selbständige Linux-Systeme (Gäste) gestartet. Jedes dieser Gast-Systeme verfügt über eine eigene virtuelle Netzwerk-Schnittstelle, um mit den anderen Gästen und dem Host zu kommunizieren. = Dienste = Auf den nachfolgenden Seiten dokumentieren wir die Einrichtung der von uns bereit gestellten Dienste. * [[FaxeMailServer|Mails und Listen]] * [[FaxeWebServer|Webserver]] -- Auslieferung von Webseiten * [[FaxeMoinWiki|Wikis]] * [[FaxeSubVersion|Versionsverwaltung mit subversion]] * [[Infinoted und Gobby unter Debian installieren|Infinoted und Gobby]] -- ein kollaborativer Text-Editor * [[LdapEinrichtung|Accountverwaltung]] mit LDAP = Administration = * [[Icinga 2 unter Debian installieren|Systemüberwachung mit Icinga 2]] * [[Webdienste und Privatsphäre]] -- Konfiguration verschiedener Webdienste mit dem Blick auf die Privatsphäre * [[FaxeKonfigurationsManagement|Konfigurationsverteilung]] via [[http://ansibleworks.com|ansible]] * [[FaxeLogicalVolumeManagement|Kurzanleitung zum Umgang mit dem LVM auf]] * [[FaxeKVM|Hardwarevirtualisierung mittels qemu/kvm]] * FaxeKleinigkeiten |
Zeile 4: | Zeile 63: |
= Alte Dokumente - nur noch teilweise gültig und ziemlich durcheinander = * [[Pootle]] -- Übersetzungsoftware * [[FaxeRouterWRT]] -- Bis ca. 2007: vor dem Server kümmert sich ein Linksys WRT54G um den Netzwerkzugang und die Paketfilterung * [[FaxeLXC]] -- Betriebssystemvirtualsierung mit Linux Containern * FaxeUpgrades -- Protokolle verschiedener Upgrades des Servers * [[FaxeUML]] -- bis Ende 2007 verwendete Virtualisierungslösung * FaxeTrac -- ist eine Problemverwaltungssoftware. Es ist primär auf die Unterstützung bei der Software-Entwicklung ausgerichtet, eignet sich aber auch für die Organisation allgemeiner Projekte. * FaxeKernel -- Ein selbstkompilierter [[http://debian.org|Debian/GNU Linux]] Kernel mit verschiedenen Patches fuer das [[UML-Host| UML-Host-]] und [[UML-Gastsysteme| UML-Gastsystem]]. * FaxePolicy -- Richtlinien, nach denen wir versuchen, das System wartbar und konsistent zu halten. * FaxeZugangsKontrolle -- Beschreibung der Zungangsregeln * FaxeNeustart -- Schritte um den Server (neu) zu starten * FaxeBackup -- Wie fertige ich ein Backup an * [[UML-Gastsysteme]] -- Eine kurze Auflistung der Dienste sortiert nach den Servern. * MailServerAdministration - neue Nutzer und Domains ... * [[QMailInstallationHowto]] - die Einrichtung der Zukunftsmails * ssl-ZertifikatErstellung - ... und unsere CA |
|
Zeile 5: | Zeile 80: |
= Überblick = = Ziele = = Konzept = = Dienste = == Mailserver == ''[FaxeMailServer]'' Für unseren Mailserver haben wir folgende Kombination gewählt: * ''qmail'' für den Empfang, den Versand und die Zustellung * ''courier'' für die Abholung durch den Nutzer * ''ezmlm-idx'' als Mailinglisten-Software * ''sqwebmail'' ist eine schlanke [wiki:WikiPediaDe/Webmail Webmail-Oberfläche] * ''squirrelmail'' eine modulare Webmail-Oberfläche als Alternative zu dem eher einfachen ''sqwebmail'' == Web-Server == ''[FaxeWebServer]'' [wiki:WikiPediaDe/Webserver Web-Server] sind für viele Bestandteile des Systems erforderlich, die primär eigentlich eine andere Aufgabe haben: * Mailserver: für die Webmail-Oberflächen * Wikis: benötigen naturgemäß einen Web-Server * Content Managenemt Systeme: werden über die Web-Schnittstelle genutzt * Versionsverwaltung : ''subversion'' arbeitet mit der Web-DAV-Schnittstelle * Nutzerverwaltung: wird über das Web-Schnittstelle verwendet Damit alle Dineste über die [wiki:WikiPediaDe/Port_%28Protokoll%29 Standard-Ports] angesprochen werden können, verwenden wir den [wiki:WikiPediaDe/Load-balancing Lastverteilungsserver] [http://www.apsis.ch/pound/ Pound]. Er leitet jede Anfrage an den zuständigen Webserver weiter und fungiert gleichzeitig als SSL-Umsetzer. == MoinMoin-Wiki == ''[FaxeMoinWiki]'' MoinMoin ist eine [wiki:WikiPediaDe/Wiki Wiki-Implementation] in der [wiki:WikiPedia/Python_%28Programmiersprache%29 Programmiersprache ''python'']. Es ist modular und recht benutzerfreundlich gestaltet. == Usemod-Wiki == ''[FaxeUsemodWiki]'' [http://www.usemod.com/cgi-bin/wiki.pl Usemod] ist ein schlankes monolithisches Wiki. Es wurde in [wiki:WikiPediaDe/Perl perl] geschrieben und ist leicht zu installieren. Anpassungen sind jedoch meist nur durch [wiki:WikiPediaDe/Patch_(Unix) Patches] möglich. == Subversion == ''[FaxeSubVersion]'' [http://subversion.tigris.org/ Subversion] ist eine [wiki:WikiPediaDe/Versionsverwaltung Versionsverwaltungssoftware]. Wir haben uns für die Web-DAV-Schnittstelle zum Zugriff auf den Server entschieden, da hierfür keine shell-Accounts für die Nutzer notwendig sind. ----- = Alte Dokumente - nur noch teilweise gültig = * CourierImapInstallation - courier-imap, maildrop, vpopmail und sqwebmail auf faxe * DocBookFormat - fuer Dokumentationen * EzmlmInstallationHowto - die Installation des Mailinglisten-Managers unter qmail * EzmlmAdministrationHowTo - die Einrichtung von Mailinglisten und so * JabberEinrichtung - Sozialkontakt-Schmutz mittels sauberer Technik * LdapEinrichtung - der allgemeine Verzeichnisdienst zur Authentifikation der Nutzer * MailServerAdministration - neue Nutzer und Domains ... * ["QMailInstallationHowto"] - die Einrichtung der Zukunftsmails * ["SVNhowTo"] - fuer gemuetliche Heimarbeit * ssl-ZertifikatErstellung - ... und unsere CA * WikiEinrichtung - ein kurzer Leitfaden zum Einrichten eines weiteren Wikis auf faxe |
CategorySystemausfall |
Inhaltsverzeichnis
Überblick
systemausfall.org dient als Organisationsplattform für progressive Projekte. Detaillierte Infos dazu findest du auf den Hilfeseiten
Mit dieser Dokumentation des Projekts möchten wir unser Wissen veröffentlichen, um anderen Gruppen den Aufbau einer ähnlichen Infrastruktur zu erleichtern. So könnte sich idealerweise in jeder Region mit interessierten Menschen eine oder mehrere Gruppen bilden, die ähnliche Dienste für ihr Umfeld bereitstellen. Diese angestrebte dezentrale Struktur stellt für uns eine gute Mischung aus lokaler Vernetzung und übergreifendem Wissensaustausch dar.
Weitere Projekte mit ähnlicher Zielstellung sind beispielsweise:
Es gibt noch wesentlich mehr Projekte dieser Art. Eine Übersicht findest du hier.
Ziele
- Bereitstellung von Werkzeugen, um die Arbeit von Projekten zu unterstützen, also beispielsweise:
- sichere E-Mail-Accounts
- (verschlüsselte) Mailinglisten
- Veröffentlichung von Inhalten
- Projektverwaltungstools
- Wikis
Sicherheit des Systems gegenüber Angriffen mit technischen Mitteln (Cracker)
- Schutz der Verkehrsdaten unserer Nutzer_innen
- Schutz der gespeicherten Daten unserer Nutzer_innen (bei Diebstahl, Beschlagnahmung, usw.)
Konzept
Die erste Inkarnation des systemausfall-Servers war ein alter HP der PA-RISC-Architektur mit 60 MHz und einer guten Netzanbindung. Dabei stießen wir im Laufe der Zeit auf folgende Probleme:
wir hatten keinen physischen Zugriff auf den Rechner - dies machte jedes Kernel-Upgrade ziemlich aufregend
für manche Dienste benötigten wir recht neue Software-Versionen und mussten somit das Debian-stable System mit anderen releases vermischen - dies verkomplizierte Updates
- durch die große Anzahl installierter Pakete mit gegenseitigen Abhängigkeiten fühlte sich das System im Laufe der Zeit zunehmend fragil an - Veränderungen gefährdeten die Stabilität
- ein Eindringling hätte potentiell Zugriff auf alle Dienste des Servers erlangen können
Um diese Probleme bei der Neueinrichtung zu vermeiden, wollten wir den neuen Server modularer gestalten. Die Verwendung mehrerer getrennter Rechner kam jedoch aufgrund des Energieverbrauchs nicht in Frage.
Die Isolation der einzelnen Dienste lässt sich beispielsweise durch getrennte chroot-Umgebungen umsetzen. Dies stellt jedoch nur einen geringen Schutz dar, da es einem potentiellen Angreifer möglich ist, der chroot-Umgebung zu entkommen. Zudem würden beispielsweise alle Systeme die gleichen TCP-Ports teilen.
Wir haben stattdessen einige Jahre User-Mode-Linux genutzt, waren kurzzeitig bei Xen und aktuell KVM.
Kurz gesagt: in dem realen Linux-System (dem Host) werden mehrere selbständige Linux-Systeme (Gäste) gestartet. Jedes dieser Gast-Systeme verfügt über eine eigene virtuelle Netzwerk-Schnittstelle, um mit den anderen Gästen und dem Host zu kommunizieren.
Dienste
Auf den nachfolgenden Seiten dokumentieren wir die Einrichtung der von uns bereit gestellten Dienste.
Webserver -- Auslieferung von Webseiten
Infinoted und Gobby -- ein kollaborativer Text-Editor
Accountverwaltung mit LDAP
Administration
Webdienste und Privatsphäre -- Konfiguration verschiedener Webdienste mit dem Blick auf die Privatsphäre
Alte Dokumente - nur noch teilweise gültig und ziemlich durcheinander
Pootle -- Übersetzungsoftware
FaxeRouterWRT -- Bis ca. 2007: vor dem Server kümmert sich ein Linksys WRT54G um den Netzwerkzugang und die Paketfilterung
FaxeLXC -- Betriebssystemvirtualsierung mit Linux Containern
FaxeUpgrades -- Protokolle verschiedener Upgrades des Servers
FaxeUML -- bis Ende 2007 verwendete Virtualisierungslösung
FaxeTrac -- ist eine Problemverwaltungssoftware. Es ist primär auf die Unterstützung bei der Software-Entwicklung ausgerichtet, eignet sich aber auch für die Organisation allgemeiner Projekte.
FaxeKernel -- Ein selbstkompilierter Debian/GNU Linux Kernel mit verschiedenen Patches fuer das UML-Host- und UML-Gastsystem.
FaxePolicy -- Richtlinien, nach denen wir versuchen, das System wartbar und konsistent zu halten.
FaxeZugangsKontrolle -- Beschreibung der Zungangsregeln
FaxeNeustart -- Schritte um den Server (neu) zu starten
FaxeBackup -- Wie fertige ich ein Backup an
UML-Gastsysteme -- Eine kurze Auflistung der Dienste sortiert nach den Servern.
MailServerAdministration - neue Nutzer und Domains ...
QMailInstallationHowto - die Einrichtung der Zukunftsmails
ssl-ZertifikatErstellung - ... und unsere CA