Skip to content
Snippets Groups Projects
Commit 67a40b48 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

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

parent 8603e94c
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -46,12 +46,12 @@ ...@@ -46,12 +46,12 @@
\section{Übersicht} \section{Übersicht}
Im ersten Teil dieser Anleitung (\gitfile{ow}{}{online-werkzeuge.pdf}) Im ersten Teil dieser Anleitung (\gitfile{ow}{}{online-werkzeuge.pdf})
wurden die Werkzeuge \newterm{Mumble}, \newterm{noVNC} wurden die Werkzeuge \newterm{Mumble}, \newterm{noVNC\/}
und \newterm{OpenMeetings} aus Sicht der Teilnehmenden vorgestellt, und \newterm{OpenMeetings\/} aus Sicht der Teilnehmenden vorgestellt,
im zweiten Teil (\gitfile{ow}{}{online-werkzeuge-extra.pdf}) dann 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. die von uns eingesetzten Online-Werkzeuge auch bei sich aufzusetzen.
\strong{Diese Anleitung ist keine Einführung \strong{Diese Anleitung ist keine Einführung
und keine Schritt-für-Schritt-Installationsanleitung.} und keine Schritt-für-Schritt-Installationsanleitung.}
...@@ -77,12 +77,12 @@ ...@@ -77,12 +77,12 @@
Genau darum geht es hier. Genau darum geht es hier.
Alle in den ersten beiden Anleitungen beschriebenen Werkzeuge -- \term{Mumble}, 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, \emph{sind} freie Software. Insbesondere haben Sie das Recht,
die Software bis hin zur Quelltextebene zu analysieren und sicherzustellen, 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. 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 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 Ihrer Organisation installieren, ist dies die bestmögliche Garantie
für Datenschutz und Privatsphäre, die es bei Online-Kommunikationswerkzeugen für Datenschutz und Privatsphäre, die es bei Online-Kommunikationswerkzeugen
überhaupt geben kann. überhaupt geben kann.
...@@ -104,9 +104,12 @@ ...@@ -104,9 +104,12 @@
\item \item
Wir haben einige proprietäre Online-Kommunikationswerkzeuge ausprobiert Wir haben einige proprietäre Online-Kommunikationswerkzeuge ausprobiert
und können das oft behauptete Plus an Funktionsumfang und Stabilität und können das oft behauptete Plus an Funktionsumfang und Stabilität
nicht bestätigen. Ob etwas korrekt funktioniert oder nicht unter gleichen Bedingungen nicht bestätigen.
und ob es viel oder wenig kann, hängt von vielen Faktoren ab, (So darf man zum Beispiel ein Web-Interface
aber nicht unmittelbar von der Lizenz. 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 \item
Ein Werkzeug, das Sie ausspioniert, weiß naturgemäß mehr über Sie Ein Werkzeug, das Sie ausspioniert, weiß naturgemäß mehr über Sie
als eins, das Ihre informationelle Selbstbestimmung respektiert. als eins, das Ihre informationelle Selbstbestimmung respektiert.
...@@ -117,6 +120,11 @@ ...@@ -117,6 +120,11 @@
Die Situation ist vergleichbar mit dem Sicherheitsgurt im PKW: Die Situation ist vergleichbar mit dem Sicherheitsgurt im PKW:
Ohne Gurt mag es komfortabler sein, aber mit Gurt ist es sicherer. Ohne Gurt mag es komfortabler sein, aber mit Gurt ist es sicherer.
\end{itemize} \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 Neben den in diesen Anleitungen vorgeschlagenen freien Werkzeugen
können wir im Kontext der Online-Kommunikation noch die folgenden empfehlen: können wir im Kontext der Online-Kommunikation noch die folgenden empfehlen:
...@@ -125,7 +133,7 @@ ...@@ -125,7 +133,7 @@
\newterm{BigBlueButton\/} ist ein Online-Konferenz-Werkzeug \newterm{BigBlueButton\/} ist ein Online-Konferenz-Werkzeug
mit einem ähnlichem Funktionsumfang wie \term{OpenMeetings}. mit einem ähnlichem Funktionsumfang wie \term{OpenMeetings}.
In unseren Tests war es hinsichtlich Audio-Übertragung und 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}. es erreicht hingegen nicht die Klangqualität von \term{Mumble}.
\item \item
\newterm{NextCloud\/} ist ein bewährtes Werkzeug für den Austausch von Dateien \newterm{NextCloud\/} ist ein bewährtes Werkzeug für den Austausch von Dateien
...@@ -143,7 +151,7 @@ ...@@ -143,7 +151,7 @@
(Schnitte, Übergänge etc.). (Schnitte, Übergänge etc.).
\item \item
\newterm{VLC\/} kann Filme und Kamerabilder nicht nur wiedergeben, \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. wird daraus eine Online-Sendestation.
\item \item
\newterm{GitLab\/} ist ein Web-Interface für \newterm{Git}. \newterm{GitLab\/} ist ein Web-Interface für \newterm{Git}.
...@@ -155,7 +163,129 @@ ...@@ -155,7 +163,129 @@
\dots\ und natürlich kennen Sie \newterm{SSH}, \newterm{GNU Screen} \dots\ und natürlich kennen Sie \newterm{SSH}, \newterm{GNU Screen}
und \newterm{ytalk} für die Online-Kommunikation zwischen Experten. 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.)} \emph{(Fortsetzung folgt.)}
...@@ -171,7 +301,7 @@ ...@@ -171,7 +301,7 @@
\setlength{\leftskip}{3cm} \setlength{\leftskip}{3cm}
Stand: 6.\ April 2020 Stand: 8.\ April 2020
Copyright \copyright\ 2020\quad Peter Gerwinski\\ Copyright \copyright\ 2020\quad Peter Gerwinski\\
Lizenz: \mylicense Lizenz: \mylicense
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment