Commit 67a40b48 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

online-werkzeuge-admin: Verweis auf online-werkzeuge-nachhaltig, kleinere Korrekturen

parent 8603e94c
......@@ -46,12 +46,12 @@
\section{Übersicht}
Im ersten Teil dieser Anleitung (\gitfile{ow}{}{online-werkzeuge.pdf})
wurden die Werkzeuge \newterm{Mumble}, \newterm{noVNC}
und \newterm{OpenMeetings} aus Sicht der Teilnehmenden vorgestellt,
wurden die Werkzeuge \newterm{Mumble}, \newterm{noVNC\/}
und \newterm{OpenMeetings\/} aus Sicht der Teilnehmenden vorgestellt,
im zweiten Teil (\gitfile{ow}{}{online-werkzeuge-extra.pdf}) dann
\newterm{TightVNC} und \newterm{PuTTY} aus Sicht der Vortragenden.
\newterm{TightVNC\/} und \newterm{PuTTY\/} aus Sicht der Vortragenden.
Dieser dritte Teil der Anleitung soll Administratoren dabei unterstützen,
Dieser dritte Teil der Anleitung soll IT-Verantwortlichen dabei unterstützen,
die von uns eingesetzten Online-Werkzeuge auch bei sich aufzusetzen.
\strong{Diese Anleitung ist keine Einführung
und keine Schritt-für-Schritt-Installationsanleitung.}
......@@ -77,12 +77,12 @@
Genau darum geht es hier.
Alle in den ersten beiden Anleitungen beschriebenen Werkzeuge -- \term{Mumble},
\term{OpenMeetings}, \term{TightVNC}, \term{noVNC} und \term{PuTTY} --
\term{OpenMeetings}, \term{TightVNC}, \term{noVNC\/} und \term{PuTTY\/} --
\emph{sind} freie Software. Insbesondere haben Sie das Recht,
die Software bis hin zur Quelltextebene zu analysieren und sicherzustellen,
daß sie wirklich nur das tut, wofür sie gedacht ist, und keine Hintertür enthält.
Wenn Sie diese Werkzeuge für Ihre Organisation
auf einem Server Ihrer Organisation in Ihrer Eigenschaft als Administrator
auf einem Server Ihrer Organisation in Ihrer Eigenschaft als Admin
Ihrer Organisation installieren, ist dies die bestmögliche Garantie
für Datenschutz und Privatsphäre, die es bei Online-Kommunikationswerkzeugen
überhaupt geben kann.
......@@ -104,9 +104,12 @@
\item
Wir haben einige proprietäre Online-Kommunikationswerkzeuge ausprobiert
und können das oft behauptete Plus an Funktionsumfang und Stabilität
nicht bestätigen. Ob etwas korrekt funktioniert oder nicht
und ob es viel oder wenig kann, hängt von vielen Faktoren ab,
aber nicht unmittelbar von der Lizenz.
unter gleichen Bedingungen nicht bestätigen.
(So darf man zum Beispiel ein Web-Interface
nur mit einem anderen Web-Interface vergleichen,
nicht jedoch mit einer installierten Software.)
Ob etwas korrekt funktioniert oder nicht und ob es viel oder wenig kann,
hängt von vielen Faktoren ab, aber nicht unmittelbar von der Lizenz.
\item
Ein Werkzeug, das Sie ausspioniert, weiß naturgemäß mehr über Sie
als eins, das Ihre informationelle Selbstbestimmung respektiert.
......@@ -117,6 +120,11 @@
Die Situation ist vergleichbar mit dem Sicherheitsgurt im PKW:
Ohne Gurt mag es komfortabler sein, aber mit Gurt ist es sicherer.
\end{itemize}
Für weitere Details siehe den Artikel
\emph{Nachhaltige Online-Werkzeuge für Home Office und Lehre}
in der Datei \gitfile{ow}{}{online-werkzeuge-nachhaltig.pdf}.
\bigbreak
Neben den in diesen Anleitungen vorgeschlagenen freien Werkzeugen
können wir im Kontext der Online-Kommunikation noch die folgenden empfehlen:
......@@ -125,7 +133,7 @@
\newterm{BigBlueButton\/} ist ein Online-Konferenz-Werkzeug
mit einem ähnlichem Funktionsumfang wie \term{OpenMeetings}.
In unseren Tests war es hinsichtlich Audio-Übertragung und
Desktop-Sharing stabiler als \term{OpenMeetings};
Desktop-Sharing stabiler als \term{OpenMeetings\/};
es erreicht hingegen nicht die Klangqualität von \term{Mumble}.
\item
\newterm{NextCloud\/} ist ein bewährtes Werkzeug für den Austausch von Dateien
......@@ -143,7 +151,7 @@
(Schnitte, Übergänge etc.).
\item
\newterm{VLC\/} kann Filme und Kamerabilder nicht nur wiedergeben,
sondern auch streamen. In Kombination mit \newterm{Icecast}
sondern auch streamen. In Kombination mit \newterm{Icecast\/}
wird daraus eine Online-Sendestation.
\item
\newterm{GitLab\/} ist ein Web-Interface für \newterm{Git}.
......@@ -155,7 +163,129 @@
\dots\ und natürlich kennen Sie \newterm{SSH}, \newterm{GNU Screen}
und \newterm{ytalk} für die Online-Kommunikation zwischen Experten.
\bigskip
\section{Let's Encrypt}
Die diversen Online-Dienste benötigen X.509-Zertifikate.
Oft laufen die Dienste auf separaten (virtuellen) Rechnern.
Wir zeigen hier, wie man mit Hilfe von \newterm{Let's Encrypt}
sichere Zertifikate erhält.
\iffalse
# Letsencrypt
Um sichere Zertifikate zu erhalten, benutzen wir Letsencrypt. Es gibt
dabei mehrere Möglichkeiten, die Kontrolle über eine Domain
nachzuweisen.
Wir benutzen die DNS-Methode. Dabei stellt Letsencrypt eine DNS-Anfrage
an unseren Server, die wir mit einem unmittelbar zuvor von Letsencrypt
erhaltenem Zufallsstring beantworten müssen. Der DNS-Server läuft dabei
auf comm-0, der letsencrypt-Client (certbot) läuft aber auf dem Host,
auf dem tatsächlich das Zertifikat benötigt wird.
## Konfiguration am Beispiel von main-1
apt install certbot
$SOME_E_MAIL_ADDRESS bekommt bei Bedarf relevante Mitteilungen
vom Letsencrypt-Projekt (z.B. ablaufende Zertifikate, die nicht erneuert
wurden).
$HOST1, $HOST2 steht für beliebige Hostnamen, für die jeweils ein
Zertifikat beantragt werden soll.
Hier die benutzte Konfigurationsdatei:
root@main-1:~# cat /etc/letsencrypt/cli.ini
# Because we are using logrotate for greater flexibility, disable the
# # internal certbot logrotation.
# max-log-backups = 0
#
# email = $SOME_E_MAIL_ADDRESS
#
# authenticator = manual
# preferred-challenges = dns
# domains = $HOST1, $HOST2
#
# expand = True
# manual-public-ip-logging-ok = True
# preferred-challenges = dns
# manual-auth-hook = /usr/local/sbin/letsencrypt_dns_update
# post-hook = /usr/local/sbin/letsencrypt-install-new-keys
Zum Updaten des DNS-Records wird einmalig dnssec-keygen (apt install
bind9utils) und jedesmal nsupdate (apt install dnsutils) benötigt. Nach
dem erstellen des Keys in /etc/bind (Kommando s.u.) und der
Konfiguration von comm-0 kann das Updaten erfolgen.
root@main-1:~# cat /usr/local/sbin/letsencrypt_dns_update
#!/bin/bash
# Generate key using: dnssec-keygen -a hmac-sha512 -b 512 -n host main-1.cvh-server.de
if [ -z "$CERTBOT_DOMAIN" ] || [ -z "$CERTBOT_VALIDATION" ]
then
echo "EMPTY DOMAIN OR VALIDATION"
exit -1
fi
HOST="_acme-challenge"
/usr/bin/nsupdate -k /etc/bind/keys/Kmain-1.cvh-server.de.+165+52870.private << EOM
server comm-0.cvh-server.de
zone ${HOST}.${CERTBOT_DOMAIN}
update delete ${HOST}.${CERTBOT_DOMAIN} TXT
update add ${HOST}.${CERTBOT_DOMAIN} 300 TXT "${CERTBOT_VALIDATION}"
send
EOM
echo ""
## comm-0
Der auf main-1 erzeugte Key muss natürlich von comm-0 auch akzeptiert werden:
root@comm-0:~# grep -A6 -F mumble.cvh-server.de /etc/bind/named.conf.local; grep '^include .*main-1' /etc/bind/named.conf.local
zone "_acme-challenge.mumble.cvh-server.de" {
type master;
file "/etc/bind/dynamic/db._acme-challenge.mumble.cvh-server.de";
# look for dnssec keys here:
key-directory "/etc/bind";
allow-update { key main-1.cvh-server.de; };
};
include "/etc/bind/keys/key.main-1.cvh-server.de";
root@comm-0:~# cat /etc/bind/keys/key.main-1.cvh-server.de
key main-1.cvh-server.de. {
algorithm HMAC-SHA512;
secret "$KEY_AUS_/etc/bind/keys/Kmain-1.cvh-server.de.+165+52870.private_AUF_MAIN-1";
};
Damit die eigentliche Challenge direkt beim eigenem DNS-Server abgefragt
wird (um Verzögerungen durch den nötigen AXFR-Transfer zu umgehen, wird
der entsprechende DNS-Eintrag auf den sonst für cvh-server.de benutzten
Servern auf unseren eigenen Server delegiert), außerdem muss
mumble.cvh-server.de natürlich einen CNAME oder A-Eintrag erhalten:
root@comm-0:~# grep -F mumble /var/lib/bind/db.cvh-server.de
mumble IN CNAME main-0
_acme-challenge.mumble IN NS dns-0
Aus Sicherheitsgründen wollen wir Port 53 aber von dort nicht allgemein
beantworten, sondern uns eigentlich auf die Letsencrypt-Server
beschränken. Leider scheinen deren Anfragen nun von sehr vielen
verschiedenen Amazon-Servern zu kommen (siehe root@root-1:~# grep -F
letsencrypt /etc/iptables.rules, welches aktuell unvollständig ist),
daher wird aktuell beim Durchführen der Zertifikatsanfrage auf main-1
durch "certbot certonly") kurzzeitig auf root-1 mittels 'iptables -I
INPUT -p udp --dport 53 -j ACCEPT' kurzzeitig die Abfrage auf Bind von
außen erlaubt.
TODO: Schöner lösen!
\fi
\emph{(Fortsetzung folgt.)}
......@@ -171,7 +301,7 @@
\setlength{\leftskip}{3cm}
Stand: 6.\ April 2020
Stand: 8.\ April 2020
Copyright \copyright\ 2020\quad Peter Gerwinski\\
Lizenz: \mylicense
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment