************************************************ Ausführlichere Konfiguration eines Einzelsystems ************************************************ Dieses Kapitel beschreibt die Konfiguration der automatischen Installation im Detail. Diese Konfiguration gilt auch für das Vorgehen bei älteren mapwoc-Installationen (bzw. bei manueller mapWOC-Installation ohne das Paket `mapwoc-quick`). Für einen schnellen Einstieg, lesen Sie das Kapitel :doc:`"mapWOC installieren" `. Dort wird die automatische Installation (inkl. Standardkonfiguration) beschreiben. Auf die Konfiguration eines gesicherten Verkehrs der Komponenten untereinender wird separat im Kapitel :doc:`"Setup CA" ` eingegangen. Beachten Sie, dass in diesem Handbuch eine Konfiguration zur Evaluation von mapWOC vorgestellt wird. Im Produktivbetrieb sollte mapWOC immer in Zusammenarbeit mit Sicherheitsbeauftragten und Systemadministratoren installiert werden. .. note:: Die drei Komponenten *mapwoc-master*, *mapwoc-node* und *mapwoc-redirector* lassen sich über Konfigurationsdateien oder über die Befehle parametrisieren. Eine ausführliche englischsprachige Beschreibung lässt sich mit .. code-block:: bash mapwoc-node --help oder .. code-block:: bash man mapwoc-node man mapwoc-node.config aufrufen. Als Voreinstellung wird die Datei :file:`/etc/mapwoc/mapwoc-node.config` geladen. Es kann jedoch auch eine andere Konfigurationsdatei geladen werden:: mapwoc-node --config /path/to/testing-node.config Das hier beispielhaft an *mapwoc-node* gezeigte Verhalten gilt auch für *mapwoc-master* und *mapwoc-redirector* (vgl. auch Kapitel :doc:`"mapWOC-Konfigurationsdateien" `.). Die drei Komponenten schreiben Log-Informationen auf die Standardausgabe stdout und in eine komponentenabhängige Logdatei (:file:`mapwoc-node.log`, :file:`mapwoc-master.log`, :file:`mapwoc-redirector.log`). Konfiguration im Detail ======================= Eine Schritt-für-Schritt-Anleitung: #. Neuen Nutzer anlegen:: adduser --disabled-password mapwoc usermod -a -G kvm mapwoc #. Umgebung anlegen:: mkdir -p /var/lib/mapwoc/master/credentials /var/lib/mapwoc/master/nodes/ mkdir -p /var/lib/mapwoc/master/work/ mkdir -p /var/lib/mapwoc/node/work /var/lib/mapwoc/node/results chown -R mapwoc:mapwoc /var/lib/mapwoc chmod 700 -R /var/lib/mapwoc/ (Wenn die Standard-Einstellungen bezüglich der Datenspeicherung benutzt werden sollen.) .. important:: Von nun an werden alle Aktionen als Nutzer mapwoc ausgeführt (`su - mapwoc`). Die Default-Konfigurationsdateien unter /etc/mapwoc müssen bei Bedarf für diesen Nutzer schreibbar gemacht werden. #. Sich bekannt machen Der *mapwoc-master* wird in regelmäßigen Abständen mit dem rsync-Programm nach neuen Ergebnissen auf den Nodes sehen. Diese Art der Kommunikation ist mit ssh-Schlüsseln abgesichert. Ein solches Schlüsselpaar muss einmalig für den Master erstellt werden und der öffentliche Teil auf jeder Node als vertrauenswürdig hinterlegt werden. Weiterhin müssen dem master die hosts auf denen die Nodes laufen bekannt gemacht werden.:: mkdir /home/mapwoc/.ssh chmod 700 /home/mapwoc/.ssh Das Schlüsselpaar wird (passwortlos) mit:: ssh-keygen -f master_key erzeugt und (entsprechend der Konfigurationsdatei) in :file:`/var/lib/mapwoc/master/key/` hinterlegt (*Achtung:* restriktive 0700-Rechte für diesen Ordner mit `chmod 700 ` setzen, ansonsten wird das Schlüsselpaar nicht benutzt!):: mv /home/mapwoc/master_key* /var/lib/mapwoc/master/credentials/ chmod 700 /var/lib/mapwoc/master/credentials/ Nun wird ein Remote-Login mit diesem Schlüssel erlaubt:: cat /var/lib/mapwoc/master/credentials/master_key.pub >> ~/.ssh/authorized_keys Und der Host wird bekanntgemacht:: touch ~/.ssh/known_hosts echo -n "localhost ssh-rsa " >> ~/.ssh/known_hosts ssh-keygen -e -f /etc/ssh/ssh_host_rsa_key | tail -n+3 | head -n-1 | awk '{printf "%s", $0}' >> ~/.ssh/known_hosts Alternativ zu letztem Schritt kann:: ssh localhost aufgerufen und die dann aufkommende Frage mit 'yes' beantwortet werden (danach mit Ctrl-C abbrechen). #. Honey-Client-Dateien für die Node hinterlegen. Dazu müssen Sie vorher Honey-Clients angelegt haben. Informationen dazu finden Sie im nächsten Kapitel `mapWOC benutzen `_. #. Datei-Rechte oder Pfade in der Datei :file:`/etc/mapwoc/mapwoc-node.config` anpassen. #. Datei-Rechte oder Pfade in der Datei :file:`/etc/mapwoc/mapwoc-master.config` anpassen. #. Datei-Rechte oder Pfade in der Datei :file:`/etc/mapwoc/mapwoc-redirector.config` anpassen. #. Den *mapwoc-redirector* starten:: mapwoc-redirector #. Eine *mapwoc-node* starten:: mapwoc-node #. Dem *mapwoc-master* Zugang zu der *mapwoc-node* bekannt geben: Dazu im **node_config_dir** (über die Konfigurationsdatei :file:`/etc/mapwoc/mapwoc-master.config` auf :file:`/var/lib/mapwoc/master/nodes/` voreingestellt), eine Datei anlegen, z.B. :file:`demo-node.config`: .. code-block:: bash [demo-node] name=Demo Node description=This node runs on the same host as the master rsync_address=localhost ip=localhost port=18158 #. *mapwoc-master* starten:: mapwoc-master #. Die grafische Oberfläche aufsetzen und starten: - Eine Ausgangs-Konfigurationsdatei erstellen. .. code-block:: bash paster make-config "mapwocgui" mapwoc-gui.ini - Die erstellte Datei :file:`mapwoc-gui.ini` gegebenenfalls anpassen: Soll ein bereits existierendes Zertifikat genutzt werden, muss die Zeile .. code-block:: bash ssl_pem = durch .. code-block:: bash ssl_pem = /path/to/certificate ersetzt werden. Soll mit selbst-signierten Zertifikaten gearbeitet werden, wird .. code-block:: bash ssl_pem = * eingetragen. Soll die ssl-Verschlüsselung ausgeschaltet werden, kann die Zeile entfernt oder durch ein "#" auskommentiert werden. Weiterhin kann der Port und das Interface konfiguriert werden. Mit .. code-block:: bash host = 0.0.0.0 port = 8080 wird die grafische Oberfläche über Port 8080 auf allen Netzwerkinterfaces zur Verfügung stehen. Außerdem sollten die Werte für **beaker.session.secret** und **authkit.cookie.secret** durch mehr oder weniger zufällige Werte ersetzt werden. Wurde mapwoc-master so konfiguriert, dass es auf einen anderen Port oder anderem Interface lauscht, ist der Wert **master.port** (**master.host**) anzupassen. - Datenbank und initialen Nutzer einrichten: .. code-block:: bash paster setup-app mapwoc-gui.ini - Die GUI starten: .. code-block:: bash paster serve mapwoc-gui.ini