Versionsinformationen
Erstellt: 2021-03-05 14:34:49 UTC
Revision: 62e7163021da165861ab23f38a15500a69a0801a
Quelle: https://uni-h.de/anleitung
Repository: https://gitlab.uni-hannover.de/luis/anleitung
Passwörter
KeepassXC - Ersteinrichtung
Hinweis: Die Anleitung wurde mit KeePassXC 2.6.4 erstellt.
Startbildschirm
Erstellen der Datenbank
Einstellungen
Wahl des Passworts
Der Passwort-Generator
Datenbank wird erstellt
Entsperren der Datenbank
Einträge erstellen
Übersicht
Ctrl+C Ctrl+V
KeePassXC - Browser Addon
Browserintegration aktivieren
Datenbank mit Browser-Addon verbinden
Verbindung benennen
Browser-Zugriffsanfrage
Automatisches Ausfüllen der Login-Felder
Passwortgenerator (sicheres Passwort)
Um ein sicheres Passwort zu erstellen raten wir davon ab, sich dieses selbst zu überlegen. Stattdessen empfehlen wir die Verwendung von Passwortgeneratoren. Nutzen Sie dafür nur vertrauenswürdige Passwortgeneratoren (keine Online-Passwortgeneratoren o.ä.). Konkret empfehlen wir (weitere Erläuterungen unter der Auflistung):
-
Integrierter Passwortgenerator im Passwort-Manager KeePassXC (plattformübergreifend)
-
pwgen Kommandozeilen-Programm (Unix)
Integrierter Passwort-Manager in KeePassXC
KeePassXC beinhaltet einen integrierten Passwortgenerator. Dieser kann jederzeit über das Würfel-Symbol in der Menüleiste aufgerufen werden. Das Würfel-Symbol taucht auch jedesmal auf, wenn ein neues Passwort generiert werden soll (zum Beispiel beim Erstellen eines neuen Eintrages im Passwort-Manager oder dem Setzen eines Masterpasswortes beim Anlegen einer neuen KeePassXC-Datenbank). Zeichentypen und Passwortlänge sind konfigurierbar. Der farbige Balken und die Entropie bewerten die Qualität eines Passwortes. Verwenden Sie am besten nur Passwörter, welche einen grünen Balken mit der Passwort-Qualität "Ausgezeichnet" erzeugen. Ein Beispiel sieht man im folgenden Ausschnitt:
pwgen (Kommandozeilen-Programm)
In der Standardeinstellung erstellt pwgen Passwörter mit einer Zeichenlänge von 8, die einfach auszusprechen ("pronouncable") und sich daher gut zu merken sind. Da dies einen Kompromiss für die Passwortsicherheit darstellt, empfehlen wir die Erweiterung des Befehls durch die Flag -s (secure) und einer Mindestanzahl an Zeichen von 12. Der angepasste Befehl zum Generieren einer Auswahl von sicheren Passwörtern kann wie folgt aussehen:
$ pgwen -s 12
31t6iZNgsmwZ gblIMny0ft8B rhf5jLEmLg9e KXrvE02bAdC1 MoFZaMoKmE3u dDfu2TusKhVm
jUHcgiY6118c qmDm2lb30KBh q2yOVRpNTJDn ik7hml9iDqeW Gu035ifeXEBz i1NjLATxuyTq
2RVkd4m7NghQ JRW5uHubjx6s 1Uigy5zZRdX9 inw8XSxwYdj8 5Dozgcb2momO zKo08sHwswB6
[…]
Signatur & Verschlüsselung
Schritte zur signierten E-Mail
Thunderbird
Schritt-für-Schritt-Anleitung zum Einbinden und Verwenden eines Nutzerzertifikates in Thunderbird.
Einstellungen
Zertifikatsverwaltung
Importieren
PKCS12 Auswählen
Entsperren der PKCS12
Erfolgreich importiert
Einstellungen/Konten-Einstellungen
S/MIME-Sicherheit - Digitale Unterschrift
Zertifikat auswählen
Zertifikat für verschlüsselte Nachrichten
Nachrichten standardmäßig digital unterschreiben
Resultat: Nachrichten werden standardmäßig digital unterschrieben
Resultat: Empfang einer signierten E-Mail
Outlook
Schritt-für-Schritt-Anleitung zum Einbinden und Verwenden eines Nutzerzertifikates in Outlook.
Outlook-Optionen
Trust Center
Importieren einer digitalen ID (Zertifikat) - Schritt 1
Importieren einer digitalen ID (Zertifikat) - Schritt 2
Kennwort der Importdatei angeben
Sicherheitseinstellungen ändern
Ausgehende Nachrichten standardmäßig signieren
Ergebnis: Mails werden kryptographisch signiert
AppleMail
Schritt-für-Schritt-Anleitung zum Einbinden und Verwenden eines Nutzerzertifikates in AppleMail (entsteht noch).
Transport-Verschlüsselung (TLS)
Dienst | Name | Port |
---|---|---|
SMTP/STARTTLS |
smtp.uni-hannover.de |
587 |
IMAP/TLS |
mail.uni-hannover.de |
993 |
IMAP/STARTTLS |
mail.uni-hannover.de |
143 |
Apple mail
Outlook 2013
Thunderbird
Bei Thunderbird müssen Sie zunächst die "Konten-Einstellungen" aufrufen, die je nach Version oder Betriebssystem unterschiedlich zu erreichen sind:
-
in der Menüleiste über
Extras → Konten
-
in der Menüleiste über
Bearbeiten → Konten-Einstellungen
-
über Klick auf den Menüknopf (Icon aus drei Balken) und dort
Einstellungen → Konten-Einstellungen
Unterhalb der Konten-Liste und der lokalen Ordner sind am Ende gebündelt die "Postausgangs-Server (SMTP)" einstellbar. Nach Wahl dieses Punktes erscheint die Liste der konfigurierten Postausgang-Server. Für jeden Einzelnen sind durch Drücken auf den "Bearbeiten"-Knopf die Einstellungen anpassbar. Dabei ist der Port von 25 auf 587 zu ändern und die Verbindungssicherheit auf "STARTTLS" einzustellen.
Android
Mail-Versand (SMTP-Sperre)
Thunderbird
Bei Thunderbird müssen Sie zunächst die "Konten-Einstellungen" aufrufen, die je nach Version oder Betriebssystem unterschiedlich zu erreichen sind:
-
in der Menüleiste über "Extras", Unterpunkt "Konten"
-
in der Menüleiste über "Bearbeiten", Unterpunkt "Konten-Einstellungen"
-
über Klick auf den Menüknopf (Icon aus drei Balken) und dort "Einstellungen" mit dem Unterpunkt "Konten-Einstellungen"
Unterhalb der Konten-Liste und der lokalen Ordner sind am Ende gebündelt die "Postausgangs-Server (SMTP)" einstellbar. Nach Wahl dieses Punktes erscheint die Liste der konfigurierten Postausgang-Server. Für jeden Einzelnen sind durch Drücken auf den "Bearbeiten"-Knopf die Einstellungen anpassbar. Dabei ist der Port von 25 auf 587 zu ändern und die Verbindungssicherheit auf "STARTTLS" einzustellen.
Outlook
Um den Port für ein bereits konfiguriertes Mailkonto umzustellen, muss man im Menü unter Extras die Kontoeinstellungen auswählen. Für jedes Mailkonto muss man dann zunächst das Konto im erscheinenden Fenster im Karteireiter E-Mail auswählen und auf den Knopf ändern klicken.
Im Fenster "E-Mail-Konto ändern" muss man den Knopf "Weitere Einstellungen" drücken, und im dann auftauchenden Fenster "Internet-E-Mail-Einstellungen" auf dem auszuwählenden Karteireiter "Erweitert" kann man beim Verbindungstyp "TLS" wählen (TLS steht in Outlook-2007 für STARTTLS) und den Port auf 587 stellen . Zu beachten ist, dass bei Änderungen des Verbindungstyps der Port automatisch auf 25 zurück gesetzt wird. Unbedingt vor dem Drücken auf den OK-Knopf kontrollieren und ggf. wieder auf 587 stellen!
Android
Die Ausführungen hier beziehen sich auf die in Android 4.4 mitgelieferte E-Mail-App. Nach dem Starten der App kann man oben rechts (Icon mit 3 Punkten untereinander) die Einstellungen der Mailkonten auswählen. Jedes Mail-Konto ist dann einzeln durchzugehen, für jedes nimmt man die Einstellungen in der Rubrik "Servereinstellungen" unter "Ausgehende Nachrichten" vor. Dabei ist der Sicherheitstyp auf STARTTLS zu setzen. Falls dann der Port noch nicht auf 587 eingestellt wurde, die Änderungen noch vornehmen und "Fertig".
Fernwartung
SSH
/etc/ssh/sshd_config
Zum Einschränken des passwortbasierten Logins verbietet man diesen generell und erlaubt anschließend für vertraute Netze in der /etc/ssh/sshd_config.
…
PasswordAuthentication no
…
PubkeyAuthentication no
…
# und am Ende der Datei
# Universitaet intern
Match Address 130.75.0.0/16,10.0.0.0/8
PasswordAuthentication yes
PubkeyAuthentication yes
# Alle
Match All
PubkeyAuthentication yes
PubKey
Zur Verwendung von SSH mit PubKeys müssen Schlüssel erstellt und auf die Zielsysteme eingebracht werden. Der Kommentar dient der Identifikation des Schlüssels in der ~/.ssh/authorized_keys auf dem Zielsystem.
$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_zb -C "ein kommentar"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa_zb
Your public key has been saved in ~/.ssh/id_rsa_zb.pub
The key fingerprint is:
SHA256:o6IkV/HHF1z2y2bHLYDZ3enO/lkjFYlxOWN24bjwAnQ ein kommentar
The key's randomart image is:
+---[RSA 4096]----+
| . Eo. oo|
| ...* o*B+|
| . .=.oo===|
| o . ..ooooo|
| . . S .. o*o+|
| . o o .o+o |
|. o . . . +.|
| + . . o +|
| . oo|
+----[SHA256]-----+
Das Passwort kann zusammen mit dem generiertem Schlüssel in KeepassXC abgelegt werden.
Einbringen in das Zielsystem:
$ ssh-copy-id -i ~/.ssh/id_rsa_zb me@target
Verwendung des Schlüssels:
$ ssh -i ~/.ssh/id_rsa_zb me@target
oder bei Verwendung einer SSH Config in ~/.ssh/config:
Host target
User me
HostName target.ifzb.uni-hannover.de
IdentityFile ~/.ssh/id_rsa_zb
via
$ ssh target
Dateitransfer
Nicht unerwähnt bleibt die Möglichkeit mit SSH Dateien und auch Ordner zu übertragen.
$ scp -r me@target.uni-hannover.de:~/Documents/20210210-T3-Docs ~/Documents/
ProxyJump
Neben der Möglichkeit der Angabe des Jump Hosts als Teil des ssh Aufrufs:
$ ssh -J me@jump.ifzb.uni-hannover.de me@target.ifzb.uni-hannover.de
kann dies auch in der ~/.ssh/config erfolgen:
Host target
User me
HostName target.ifzb.uni-hannover.de
ProxyJump me@jump.ifzb.uni-hannover.de
SOCKS5 Proxy
Als Teil des SSH Aufrufs
$ ssh 8080 -f -C -q -N me@target.ifzb.uni-hannover.de
oder ~/.ssh/config:
Host target
User me
HostName target.ifzb.uni-hannover.de
DynamicForward 8080
der SOCKS5 Proxy kann dann mit FoxyProxy unter Firefox für Patterns der Domains welche über den Proxy laufen sollen eingebunden werden.
Tunnel
Tunnel können entfernte Dienste lokal bereitstellen oder lokale Dienste auf dem SSH Server durchreichen.
Host jump
User me
HostName jump.ifzb.uni-hannover.de
LocalForward 33891 130.75.47.11:3389
RemoteForward 12345 localhost:12345
ExitOnForwardFailure yes
Hier wird der Remote-Desktop Dienst von 130.75.47.11:3389 auf den lokalen Port 33891 durchgereicht und der lokale Dienst auf tcp/12345 steht auch auf dem SSH Zugangsserver auf Port 12345 zur Verfügung. Können die Tunnel nicht erstellt werden, bricht die SSH Verbindung ab.
FoxyProxy
Proxy hinzufügen
Konfigurieren der Patterns
Konfigurieren der Patterns
Umstellen über Browser-Tool-Bar
Firewall
Übersicht
Gateway-Firewall
Einschränkungen für Client-Systeme
Einschränkungen für Server-Systeme
Netzschutz-Firewall
Proxy Konfiguration
Eckdaten
Typ | DNS-Name | Port |
---|---|---|
Secure |
secure-proxy.rrzn.uni-hannover.de |
3131 |
Anon |
anon-proxy.rrzn.uni-hannover.de |
3130 |
Filter |
filter-proxy.rrzn.uni-hannover.de |
3129 |
Web |
web-proxy.rrzn.uni-hannover.de |
3128 |
wpad
Typ | Proxy-Konfig-/WPAD-URL |
---|---|
Secure |
appconf.rrzn.uni-hannover.de/conf/web-proxy/secure-proxy.pac |
Anon |
appconf.rrzn.uni-hannover.de/conf/web-proxy/anon-proxy.pac |
Filter |
appconf.rrzn.uni-hannover.de/conf/web-proxy/filter-proxy.pac |
Web |
appconf.rrzn.uni-hannover.de/conf/web-proxy/web-proxy.pac |
Linux
Die meisten Linux-Applikationen nutzen die Einstellungen in Umgebungsvariablen als Proxy-Definition (manchmal auch als „System-Proxy“ bezeichnet). Die Umgebungsvariablen können in der Shell oder in Skripten gesetzt werden, üblicherweise werden sie zentral in /etc/environment hinterlegt:
# /etc/environment
# Setzen des LUH-Web-Proxy
#http_proxy=http://anon-proxy.rrzn.uni-hannover.de:3130
#http_proxy=http://filter-proxy.rrzn.uni-hannover.de:3129
#http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128
http_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
https_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
ftp_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
no_proxy=localhost,127.0.0.1,uni-hannover.de
soap_use_proxy=on
Die Variablen-Namen sind wohl sprechend und wenig überraschend, zusätzlich werden hier auch SOAP-Webservices über den Proxy geschickt. Das Beispiel nutzt den sehr restriktiven Secure-Proxy, der für Server sinnvoll ist. Die Auswahl eines anderen Proxys geschieht durch entsprechende Umsetzung des Kommentar-Zeichens # und entsprechende Anpassungen für https und ftp (Variablenersetzungen wie https_proxy=$http_proxy funktionieren hier nicht!).
Damit die gemachten Änderungen aktiv werden, muss man sich einmal vom System ab- und am System erneut anmelden. Das Kommando-Zeilen-Tool wget kann dann gut genutzt werden, um den Proxy zu testen und ggf. Proxy-Fehlermeldungen zu sehen:
wget --spider 'http://debian.org'
Dieser Befehl sollte die Nutzung des Proxy darlegen, ggf. detaillierter mit der zusätzlichen Option "-d", was auch Proxy-Header anzeigt. Wenn man hingegen die URL "http://4btc.cc" (eine bekannte C&C-Site des Zeus-Trojaners) herunterladen will, sollte der Proxy das unterbinden.
Windows
Unter Windows ist die Einstellung des Proxy grundsätzlich nicht so einfach, da Windows keine systemweite Proxy-Einstellung vorsieht:
-
es sind verschiedene Bibliotheken einzustellen (WinINET & WinHTTP),
-
die Einstellungen des Internet-Explorer (=WinINET) gelten nur je Benutzer und können nicht (genauer: nicht mehr seit IE10) für den ganzen PC und somit alle Nutzer gleichzeitig eingestellt werden.
Die Einstellungen können auf verschiedenen Wegen vorgenommen werden (vgl. Abschnitte unten), wobei wir zur Umgehung der o.g. Problematik einen Installer bereitstellen werden (noch in der Entwicklung/Test)
Konfiguration über Skript & Registry
WinHTTP
Diese Einstellungen müssen über eine als Administrator ausgeführte Eingabeaufforderung vorgenommen werden. Dazu dienen die Befehle netsh.exe winhttp … proxy …:
netsh.exe winhttp set proxy proxy-server="secure-proxy.rrzn.uni-hannover.de:3131" bypass-list="<local>,*.uni-hannover.de"
netsh.exe winhttp show proxy
In 64-Bit-System setzt man die 64-Bit-Einstellungen über %windir%\System32\netsh.exe
, die 32-Bit-Einstellungen über %windir%\SysWOW64\netsh.exe
.
WinINET
- Über den Import einer .reg-Datei mit folgendem Inhalt (gilt für 32- und 64-Bit)
Regedit4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="http://secure-proxy.rrzn.uni-hannover.de:3131"
"ProxyOverride"="*.uni-hannover.de;localhost;<local>"
; alternativ ginge auch ueber WPAD-URL (bei ProxyEnable=0):
; "AutoConfigURL"="http://appconf.rrzn.uni-hannover.de/conf/web-proxy/secure-proxy.pac"
Oder über die Einstellungen im Internet-Explorer: Internet-Optionen→Verbindungen→LAN-Einstellungen
.
Mittel Group-Policy-Preferences
Eine (WinINET-) Proxy-Einstellung ist anders als früher nicht mehr über Gruppenrichtlinien möglich. Stattdessen müssen die Group-Policy-Preferenes (GPP) genutzt werden, die einer Einstellung von Nutzerprofilen entspricht (passend dazu, dass eben keine Maschinen-Einstellung des Proxy mehr möglich ist). Dafür im Gruppenrichtlinien-Objekt unter Benutzereinstellungen die Preferences und weiter Registry öffnen. Da dann die o.g. Registry-Schlüssel und -Werte eingeben.
Anwendungsspezifische Konfigurationshinweise
Firefox
Im Burgermenu über Einstellungen nach Proxy suchen, dort können die Verbindungseinstellungen konfiguriert werden.
Chrome/Chromium
Chrome verwendet normalerweise die Systemeinstellungen:
-
Unter Windows die gleichen wie beim Internet-Explorer und Windows selbst. Geht man über das Chrome-Menü zu den erweiterten Einstellungen und dort Verbindungen/Proxy, so gelangt man zum üblichen Einstellungsfenster von Windows (vgl. Proxy-Nutzung unter Windows).
-
Unter Linux werden die Werte aus den Umgebungsvariablen
http_proxy
etc. verwendet.
Anwendungsspezifische Proxy-Einstellung über Parameter
chromium-browser --proxy-pac-url=https://appconf.rrzn.uni-hannover.de/conf/web-proxy/filter-proxy.pac
Edge
Microsoft’s Chrome basierter Edge Browser versteht die Chrome Optionen und kann über die UI konfiguriert werden.
Debian/Ubuntu Paketverwaltung
Meist greift zwar die in /etc/environment gemachte Angabe für alle Skripte, Cron-Jobs, viele Anwendungen und eben auch die Paket-Verwaltung. Für die APT-basierte Paketverwaltung von Debian-Systemen kann aber eine explizite Angabe vorgenommen werden, indem eine Datei /etc/apt/apt.conf.d/10rrzn-proxy angelegt wird:
// /etc/apt/apt.conf.d/10rrzn-proxy
// Updates ueber den Whitelist-Proxy
Acquire::http::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
Acquire::https::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
Acquire::http::Proxy::ftp.rrzn.uni-hannover.de "DIRECT";
Acquire::http::Proxy::ftp.uni-hannover.de "DIRECT";
Acquire::http::Proxy::debian.rrzn.uni-hannover.de "DIRECT";
// gemaess man apt.conf funktioniert FTPoverHTTP-Proxy nur mit
// Umgebungsvariable ftp_proxy und nicht durch Angabe hier
//Acquire::ftp::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
Acquire::ftp::Proxy::ftp.rrzn.uni-hannover.de "DIRECT";
Acquire::ftp::Proxy::ftp.uni-hannover.de "DIRECT";
Müssen Quellen eingebunden werden die im Secure-Proxy keine Freigabe haben, so können diese über den filter-proxy genutzt werden. Hier am Beispiel von dl.gna.org:
// /etc/apt/apt.conf.d/11rrzn-proxy-extra
Acquire::http::Proxy::dl.gna.org "http://filter-proxy.rrzn.uni-hannover.de:3129";
Angabe für die Paketverwaltung bei Redhat Derivaten
Auch bei Redhat-basierten Systemen wie z.B. Scientific-Linux kann für die Paketverwaltung explizit ein Proxy angegeben werden.
# /etc/yum.conf
proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
Die Konfiguration von Repositories über die "mirrorlist" Direktive ist nicht vom Proxy unterstützt, es ist daher notwendig alle benötigten (enabled=1) Repositories mittels baseurl zu konfigurieren.
# /etc/yum.conf.d/X.repo
[X]
enabled=1
baseurl=http://ftp.uni-hannover.de/..
wget
wget kann man Proxy Informationen via Parameter übergeben, unterstützt werden http_proxy, https_proxy sowie ftp_proxy. Permanent können die Parameter in der /etc/wgetrcsowie ~/.wgetrc gesetzt werden, wird aber nicht empfohlen.
wget -e use_proxy=yes -e http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 www.kernel.org/pub/linux/kernel/README
curl
curl --proxy web-proxy.rrzn.uni-hannover.de www.kernel.org/pub/linux/kernel/README
pip/python
Unter Python/pip ist es leider etwas versionsabhängig ob der Parameter "proxy" respektiert wird, es kann sein, dass nur die Umgebungsvariablen http_proxy&https_proxy verwendet werden.
pip --proxy web-proxy.rrzn.uni-hannover.de install requests
alternativ falls dies nicht funktioniert:
http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 pip install requests
Für Python3/pip3 ist das analog umzusetzen.
saltstack
Als Ergänzung zur offiziellen Dokumentation:
PROXY='http://web-proxy.rrzn.uni-hannover.de:3128' curl -o bootstrap-salt.sh -L -x "$PROXY" bootstrap.saltstack.com | sudo sh bootstrap-salt.sh -G -H "$PROXY" git
gem/ruby
gem install --proxy http://web-proxy.rrzn.uni-hannover.de sequenceserver
Alternativ statisch via /etc/gemrc oder ~/.gemrc :
http_proxy: web-proxy.rrzn.uni-hannover.de
rvm/ruby
Ruby/rvm Ergänzend zur offiziellen Dokumentation:
http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 curl -sSL get.rvm.io | sudo -E bash -s stable
git
Auch hier hat man die Wahl zwischen peristenten oder temporären Einstellungen.
via ~/.gitconfig
git config --global http.https://github.com.proxy http://web-proxy.rrzn.uni-hannover.de:3128
[http]
[http "https://github.com"]
proxy = http://web-proxy.rrzn.uni-hannover.de:3128
über das Environment
$ http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 git clone https://github.com/the/project
als Argument
$ git -c http.proxy=http://web-proxy.rrzn.uni-hannover.de:3128 clone https://github.com/retspen/webvirtmgr.git webvirtmgr
Teamviewer
Im grafischen Teamviewer-Programm auf Options→General→Network Settings→Proxy Settings
(ggf. Netzwerkeinstellungen→Proxy Einstellungen
)
Im Proxy-Settings-Fenster dann Use manual proxy
mit Proxy-IP=130.75.6.113, Port=3128 und ohne User-Name (Benutzername) und ohne Password.
Appliances / Embedded-Geräte
Ricoh MFP Aficio MP C3502
Der http(s)-Zugriff auf das Internet ist nur für die @Remote-Funktionalität, d.h. die Wartungs- und Seitenzähler-Anbindung an Ricoh beim Leasing notwendig. Über die WebGUI
Zertifikate
Zertifikate dienen bei der Kommunikation zur Identifikation der Gegenseite und zum sicheren Austausch von kryptographischen Schlüsseln zur Absicherung der Kommunikation.
Beantragungen
Serverzertifikat
Nutzerzertifikat
Postident
Das Postident-Verfahren ermöglicht eine persönliche Identifizierung. Dadurch können Sie ein Nutzerzertifikat erhalten ohne einen Termin zur persönlichen Identifizierung im LUIS machen zu müssen.
Zertifikatshierarchie und RAs
Zertifikat-Signierungsanfrage (CSR) erstellen
Wir verwenden die luh-ca.cnf.
$ cat <<EOF>/dev/stdout | uudecode --output-file=/dev/stdout | gunzip > /tmp/luh-ca.cnf
begin-base64 600 luh-ca.cnf.gz.uu
H4sICOlk4F8AA2x1aC1jYS5jbmYArVZtb9tGDP5uwP+BaD40xiS5SbeiC6qu
huMuRTMnq1sMyDAEZ4mWbj6dvLuT3eTXjzxJtuW4/TBMQBBLfLkj+fAhT0BV
eZiIKNGLfu8EyhVqa1WYlHohM1hUaCCVCBPziFVW6QxQarSQoHFyIRPhEKzM
tNQZmxv8p0Lr4HQ8+xTAXa20FM4K7YzIBrXDGZo1+6W/a5RzLR/Z9ouW9NVK
J9DBldC6pFcWrDMVQe7cyl4Mh5vNJlKVtFGlZZg3WlGKw+bm980VotwViq3P
X5y9Ojt/+QI0bsAfUOoArq5I9j88/R6fcSX1BqXFC34J6yALzA0abILVokBd
RzKbfgBRwESn6FNwSTmUteFHfAi/WJFRgmUBlEPYoEnJkDJcGknpDODy/TS8
/fgBMjl3sC7N1hLQ14i0K51640K6XKoFcgUtnTSui2odKkVqaWWSnM0BnjXZ
4wJCW/wdMiDk5IVl5cD6cELSi1ZYPGsC5kLzyXyq0BZz+k2nH/iV+sAcQodf
3TNO4p9e5a9+L8WFqJS7n0tnYe+JqZI/vt7Jl/iwkAr35I1vErDvnWaRAnQ9
2Vyc//SKNKR1hFyCU47pPdeo1aDL3D+V9nv8na5MQRGM7L7P9UuGXo2HhVDK
wpJbBW6FtavcCItNN1FqVkauqeoaZkmuCK0WFegSKYeMINSJeVj5CLvX1iWc
gFCO4eTkmqpSpgQVUS3gY1kUQqflI1JO6kvMUcLMGYrAQlFipmSSU2saag4j
l2QfEGKUqOaOtW9J0Ym5wsbkAkbhXQAifAzgRfhzAM9PBz8EYTS8iH/xALtG
xhv5RM32n1+dbS2jKPLwh1lJIG+1AqCSEl1oenOgK/fIltYb3RfCLuEw2mJO
UnZ+XCmGyi1el1o97GfdY72FOmNQeLD/QRDlzFM1kG6fIRVDKQcbadKAranY
TcUoEWgEZwhhNF8Qb+Fedah4ZbFycPAcqc5cuCQ/Xp0G70cgxi3QcVPhnFDT
8aDLlSP4+cxU87/h+XAcX06Gs8/xVCIl3AqqNOrhddzS6PAmbpj2OM0Ob77E
b0ZzIiJFHP92OJ7Gb97/fjl9O8RCSDVKU4KNjd9Mwt/oNRz5V6Yv2/AbfSqk
pmiMcKWxb5/3e0lZEek/TLddtc3UuJaAF53S1Qcd7fumcRvty0lXSucwGRx8
FF/rj4woaq0bc2vKtdQJbs+PqRt4XJUGWll7g07aBkddHFyqY8GnqjIRSron
4cZw3Ujaw9qcD7pG+wfEe/Ov3ytNJqhygmu+7z6Gmz1J6/67dR489daeG8N3
LX2DtdvAB+3hqcLxiFviP7qE09bPoGEsbgNDgwRGOhNzimYczD4H18HNgJYM
6toFcVcAhWdMTa2LNGwyzKhDeLJIfZgtoehgV+esmy2h+E6uSdpEasOsRNi3
y4oZSw2+5WlXpxj4vIQ6s1uXHcxZ0hyxWwOAG2uwb9jBVuP2xCe6021MVQ17
enaVNIB2K1ZNFESatGhsCc2WzIDIs9kx/wNmFPkpj4aR38hqpzTRjGBOpC+O
rrbf9N2YJiyBRtRV7ALYVqtVady7Y7tay4D1yKwZb7Ibqq4Ekab+X2fPbDa7
fm8urEyI4ZltiKwt53p08X50PSOqoKnpVyjPyPoTrqpU+hIGlNGMEKhmtE0J
VxkMiPAfJjqRK4Idpc21jIqJG6kaNzG8IzL21Gzbe28/1Ff3bVEvH+ALTFDl
G3NTntK2NyDEWj+YmrEU+pUPclm3VVX4GeWBQhZSL2lLHE8HHtw8sFyzBkZw
V6W0NZWMd66hhwmdesdT4eDmPIRTYWkmUWC0oGmyZ/1fkaevR9Fu0LG3olny
eTOk0EbVwlQLSzaX01l0RonAr6JYKTyLmh9Py8qa5zvN829p/gvLxeZrdgwA
AA==
====
EOF
Subject Alternate Names
Für zusätzliche Namen im Zertifikat muss die luh-ca.cnf angepasst werden:
cp luh-ca.cnf luh-ca.my
Anschließend die Änderungen einbringen:
--- luh-ca.cnf
+++ luh-ca.my
@@ -71,7 +71,7 @@
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
-# subjectAltName = @alt_names
+subjectAltName = @alt_names
[ alt_names ]
@@ -79,5 +79,6 @@
# um alle Namen (inkl. CN) angepasst werden. Zudem oben bei
# der Zeile subjectAltName... das # entfernen.
# Geht nicht interaktiv beim Erzeugen des Aufrufs.
-DNS.1 = example1.example.uni-hannover.de
-DNS.2 = example2.example.uni-hannover.de
\ No newline at end of file
+DNS.1 = cluster2020.ifzb.uni-hannover.de
+DNS.2 = cluster2022.ifzb.uni-hannover.de
+DNS.2 = cluster2019.ifzb.uni-hannover.de
Erstellen des CSR
$ openssl req -config luh-ca.cnf -newkey rsa:4096 -keyout server-key.pem -out server-req.pem
Generating a RSA private key
.................................................................++++
......................................................................................................................................................................++++
writing new private key to 'server-key.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (=DE) [DE]:
State or Province Name (=Niedersachsen) [Niedersachsen]:
Locality Name (=Hannover) [Hannover]:
Organization Name (=Leibniz Universitaet Hannover) [Leibniz Universitaet Hannover]:
Organizational Unit Name (Einrichtungskuerzel) []:LUIS
Common Name (Servername FQDN) []:cluster2021.ifzb.uni-hannover.de
Email Address [support@luis.uni-hannover.de]:
Überprüfen eines CSRs
$ openssl req -text -noout -verify -in server-req.pem -inform PEM
verify OK
Certificate Request:
Data:
Version: 1 (0x0)
Subject: C = DE, ST = Niedersachsen, L = Hannover, O = Leibniz Universitaet Hannover, OU = LUIS, CN = cluster2021.ifzb.uni-hannover.de, emailAddress = support@luis.uni-hannover.de
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (4096 bit)
Modulus:
00:bf:25:ba:32:98:56:32:7d:bd:20:4e:2e:f1:83:
…
00:85:a1
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Subject Alternative Name:
DNS:cluster2020.ifzb.uni-hannover.de, DNS:cluster2022.ifzb.uni-hannover.de, DNS:cluster2019.ifzb.uni-hannover.de
Signature Algorithm: sha256WithRSAEncryption
73:09:37:d6:ff:1d:3c:95:3a:cd:ea:8d:a1:fb:16:42:15:32:
…
37:e3:ae:68:f5:6c:21:2e:7a:d6:da:34:07:3d:6d:ce:10:9a:
Zertifikatskonvertierungen
Dateiendungen bei Zertifikaten sind nicht vorgegeben und spezifizieren nur die Kodierung. Ob es sich dabei um ein Zertifikat, eine Zertifikatsanfrage, oder ein Schlüssel handelt, muss man über den Dateinamen zu erkennen geben.
Endung | Inhalt | Beispiel |
---|---|---|
.pem |
BASE64 der ASN.1 DER Repräsentation |
|
.der .crt |
binäre ASN.1 Repräsentation |
|
.p12 , .pkcs12 |
PKCS12 Container |
… |
DER / CRT
$ openssl x509 -in server-cert.der -inform DER -out server-cert.pem -outform PEM
$ openssl rsa -in server-key.der -inform DER -out server-key.pem -outform PEM
PEM
$ openssl x509 -in server-cert.der -inform PEM -out server-cert.pem -outform DER
$ openssl rsa -in server-key.der -inform PEM -out server-key.pem -outform DER
PKCS12
PKCS12 ist ein Containerformat welches Zertifikate und Schlüssel beinhalten kann. Zum Trennen in die Bestandteile:
$ openssl pkcs12 -clcerts -nokeys -in test-client1-ca-2019.p12 -out test-client1-ca-2019-cert.pem
Enter Import Password:
$ head -n 8 tests/conf/test-client1-ca-2019-cert.pem
Bag Attributes
localKeyID: 55 84 55 EC 44 16 9E B8 05 AE 9B EB C7 BB 55 D5 B2 AC A6 C1
subject=C = DE, O = Testinstallation Eins CA, CN = PN: Teilnehmerservice Test RAID 60
issuer=C = DE, O = Test, CN = Test Client 1 Issuing CA
-----BEGIN CERTIFICATE-----
MIIFJjCCBA6gAwIBAgIMIX3zIme/leh2t+pTMA0GCSqGSIb3DQEBCwUAMD8xCzAJ
$ openssl pkcs12 -cacerts -nokeys -in test-client1-ca-2019.p12 -out test-client1-ca-2019-chain.pem
Enter Import Password:
$ grep "subject" tests/conf/test-client1-ca-2019-chain.pem
subject=C = DE, O = Test, CN = Test Client 1 Issuing CA
subject=C = DE, O = Test, CN = Test Intermediate CA
subject=C = DE, O = Test, CN = Test Root CA
$ openssl pkcs12 -nocerts -in test-client1-ca-2019.p12 -out test-client1-ca-2019-key.peme
Enter Import Password:
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
$ head -n 5 test-client1-ca-2019-key.peme
Bag Attributes
localKeyID: 55 84 55 EC 44 16 9E B8 05 AE 9B EB C7 BB 55 D5 B2 AC A6 C1
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIFa7SsLOW2rMCAggA
RSA
$ openssl rsa -in test-client1-ca-2019-key.peme -out test-client1-ca-2019-key.pem
Enter pass phrase for test-client1-ca-2019-key.peme:
writing RSA key
$ head -n 2 tests/conf/test-client1-ca-2019-key.pem
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAzchh+cIkhmx9cQHg+CcqKPo6/8OYi7wmL+japhJQ6CKtZCcO
X.509
$ openssl x509 -in server-cert.pem -inform PEM -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
23:3e:03:59:e4:c7:55:e7:28:59:42:2b
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = DE, O = Verein zur Foerderung eines Deutschen Forschungsnetzes e. V., OU = DFN-PKI, CN = DFN-Verein Global Issuing CA
Validity
Not Before: Jul 27 07:44:11 2020 GMT
Not After : Oct 29 07:44:11 2022 GMT
Subject: C = DE, ST = Niedersachsen, L = Hannover, O = Leibniz Universitaet Hannover, OU = Leibniz Universitaet Hannover IT Services, CN = www.luis.uni-hannover.de
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:ce:e3:a1:c4:f1:e5:71:02:6a:3e:15:5b:2b:c3:
…
24:23
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.2
Policy: 1.3.6.1.4.1.22177.300.30
Policy: 1.3.6.1.4.1.22177.300.1.1.4
Policy: 1.3.6.1.4.1.22177.300.1.1.4.7
Policy: 1.3.6.1.4.1.22177.300.2.1.4.7
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Key Identifier:
AF:7E:23:0B:1B:8F:BC:95:B9:15:50:7F:23:78:9F:F0:00:6C:9B:7F
X509v3 Authority Key Identifier:
keyid:6B:3A:98:8B:F9:F2:53:89:DA:E0:AD:B2:32:1E:09:1F:E8:AA:3B:74
X509v3 Subject Alternative Name:
DNS:www.luis.uni-hannover.de, DNS:luis.uni-hannover.de, DNS:www.rrzn.uni-hannover.de, DNS:rrzn.uni-hannover.de, DNS:www.rrzn-handbuecher.de, DNS:rrzn-handbuecher.de
X509v3 CRL Distribution Points:
Full Name:
URI:http://cdp1.pca.dfn.de/dfn-ca-global-g2/pub/crl/cacrl.crl
Full Name:
URI:http://cdp2.pca.dfn.de/dfn-ca-global-g2/pub/crl/cacrl.crl
Authority Information Access:
OCSP - URI:http://ocsp.pca.dfn.de/OCSP-Server/OCSP
CA Issuers - URI:http://cdp1.pca.dfn.de/dfn-ca-global-g2/pub/cacert/cacert.crt
CA Issuers - URI:http://cdp2.pca.dfn.de/dfn-ca-global-g2/pub/cacert/cacert.crt
CT Precertificate SCTs:
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 46:A5:55:EB:75:FA:91:20:30:B5:A2:89:69:F4:F3:7D:
11:2C:41:74:BE:FD:49:B8:85:AB:F2:FC:70:FE:6D:47
Timestamp : Jul 27 07:44:14.364 2020 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:8E:8B:B7:1B:06:72:82:92:5E:6E:8C:
98:18:3E:F2:28:6D:9F:84:68:95:2E:AF:BD:EB:AE:1E:
A1:07:28:20:C1:02:21:00:AB:88:B3:F4:3A:84:F5:45:
AA:23:A4:20:D4:9A:3C:13:BE:13:A7:AC:39:13:46:E5:
65:BA:E0:31:88:03:6C:E4
…
Signature Algorithm: sha256WithRSAEncryption
74:f5:68:24:28:a6:67:86:b6:52:b1:4d:f4:15:ca:8f:33:e7:
…
24:ab:8a:ab
-----BEGIN CERTIFICATE-----
Dienste-Konfiguration
$ mkdir /etc/ssl/my
$ cd /etc/ssl/my
$ wget -O dfnglobal2-chain.pem https://appconf.rrzn.uni-hannover.de/conf/pki/pem/dfnglobal2-chain.pem
$ cp /root/x509/server-key.pem server-key.pem
$ cp /tmp/cert-….pem server-cert.pem
Apache2 - Direktiven
SSLCertificateFile /etc/ssl/my/dfnglobal2-chain.pem
SSLCertificateFile /etc/ssl/my/server-cert.pem
SSLCertificateKeyFile /etc/ssl/my/server-key.pem
Andere Dienste
bettercrypto.org bietet Konfigurationsbeispiele für eine Vielzahl unterschiedlicher Dienste.
Smartcards
Smartcards kommen derzeit in folgenden Fällen zur Anwendung:
-
zur Speicherung von Zertifikaten der RA
-
zur Nutzerauthentifizierung und Verschlüsselung bei SAP
-
im Zusammenhang mit dem Verkauf von eBooks bei den RRZN-Handbüchern
Es werden Smartcard-HSM Karten verwendet.
Smartcards unter Windows mit OpenSC
Die Installation der notwendigen Treiber und Registry Schlüssel ist hier dokumentiert.
Smartcards unter Linux mit OpenSC
Generell wird die verwendete Smartcard-HSM von OpenSC seit 0.14 unterstützt.
-
/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
-
/usr/lib/i386-linux-gnu/opensc-pkcs11.so
enable_pinpad = false;
Anbindung an …
Der Pfad zur OpenSC PKCS11 DLL muss bekannt sein. Unterschiedliche Versionen von OpenSC haben unterschiedliche Pfade, eine Auswahl:name: value
-
Windows 64-Bit mit OpenSC ab Version 0.18:
-
32-Bit-PKCS#11: C:\Programme (x86)\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
-
64-Bit-PKCS#11: C:\Programme\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
-
-
Linux
-
64-Bit-PKCS#11: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
-
Edge/Internet Explorer
Der Internet-Explorer verwendet für die Behandlung von Zertifikaten den in Windows eingebauten Zertifikats-Speicher. Mit den für die Smartcard installierten Windows-Treibern ist die Karte daher im Internet-Explorer sofort verwendbar.
Mozilla / Firefox
Chromium
Können wir nicht supporten, dokumentiert sind die folgenden Schritte:
sudo apt-get install libnss3-tools
modutil -dbdir ~/.pki/nssdb/ -add "OpenSC" -libfile /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
Debugging
Windows
certutil -scinfo
Linux
$ pkcs11-tool -L
Available slots:
Slot 0 (0x0): Dell Dell Smart Card Reader Keyboard 00 00
token label : Test Client1 CA (User PIN)
token manufacturer : EnterSafe
token model : PKCS#15
token flags : login required, PIN pad present, rng, token initialized, PIN initialized
hardware version : 0.0
firmware version : 0.0
serial num : 1318492715250219
pin min/max : 4/16
pkcs11-tool --list-objects --login
Using slot 0 with a present token (0x0)
****
Private Key Object; RSA
label: PN: Teilnehmerservice Test RAID 60
ID: 2649a19d5d6a216913c5a0c8bb9f97229dec99ab
Usage: sign, non-repudiation, unwrap
Access: sensitive, always sensitive, never extractable
Certificate Object; type = X.509 cert
label: PN: Teilnehmerservice Test RAID 60
subject: DN: C=DE, O=Testinstallation Eins CA, CN=PN: Teilnehmerservice Test RAID 60
ID: 2649a19d5d6a216913c5a0c8bb9f97229dec99ab
Public Key Object; RSA 2048 bits
label: PN: Teilnehmerservice Test RAID 60
ID: 2649a19d5d6a216913c5a0c8bb9f97229dec99ab
Usage: encrypt, verify
Access: local
Fehler & Korrekturen
Fehler können einfach gemeldet werden: https://gitlab.uni-hannover.de/luis/anleitung/-/issues
Verbesserungsvorschläge einreichen
Falls Sie einen Korrekturvorschlag einreichen wollen, können Sie das einfach über die GitLab-Infrastruktur mittels eines Merge Requests machen. Falls während der folgenden Schritt-für-Schritt-Anleitung Fragen entstehen, können Sie diese gern an security@luis.uni-hannover.de stellen.
mit einem lokalem clone
$ git clone git@gitlab.uni-hannover.de:luis/anleitung.git
$ cd anleitung
$ git remote add upstream https://gitlab.uni-hannover.de/luis/anleitung.git
$ git checkout -b korrekturen
$ git stash
$ git checkout master
$ git pull upstream master
$ git checkout -b korrekturen
$ git stash pop
$ meld .
$ …
$ git gui
$ git push origin korrekturen
Enumerating objects: 109, done.
Counting objects: 100% (109/109), done.
Delta compression using up to 8 threads
Compressing objects: 100% (72/72), done.
Writing objects: 100% (99/99), 1.38 MiB | 58.70 MiB/s, done.
Total 99 (delta 27), reused 99 (delta 27)
remote:
remote: To create a merge request for korrekturen, visit:
remote: https://gitlab.uni-hannover.de/koetter/anleitung/-/merge_requests/new?merge_request%5Bsource_branch%5D=korrekturen
remote:
To gitlab.uni-hannover.de:koetter/anleitung.git
* [new branch] korrekturen -> korrekturen