[Linux-ivv4] FW: AW: Linux-Admin mit Ansible
Korth, Martin
dgd at uni-muenster.de
Do Okt 17 14:14:05 CEST 2024
Hier wie angesprochen die Info der IVV1 und das Skript von Julian. VG, MK
From: Julian Jeggle (Admin) <itpadmins at uni-muenster.de>
Sent: Tuesday, October 15, 2024 5:48 PM
To: Korth, Martin <dgd at uni-muenster.de>
Cc: alexander.preuss at uni-muenster.de
Subject: Re: AW: Linux-Admin mit Ansible
Hallo Martin,
hier das Skript noch einmal als verschlüsselte ZIP-Datei (Passwort ist 123). Falls das auch nicht geht, ist die Datei auch in Gitlab: https://zivgitlab.uni-muenster.de/itp-admins/unclassified/ansible/workstation-playbooks/-/blob/ldap-ssh-keys/roles/workstation/files/ssh/ldapsshkeys.py?ref_type=heads
(der Link geht vermutlich kaputt, sobald der entsprechende MR durch ist; dann einfach im master Branch unter roles > workstation > files > ssh schauen)
Viele Grüße
Julian
On 2024-10-15 17:43, Korth, Martin wrote:
Hallo Julian,
vielen Dank für das Feedback zum Feedback! Viele Grüße,
Martin
PS: Outlook blockiert Anhänge, die erkennbar ein Skript sind; kannst Du es mir nochmal ‚unauffälliger‘ schicken?
From: Julian Jeggle (Admin) <mailto:itpadmins at uni-muenster.de> <itpadmins at uni-muenster.de>
Sent: Tuesday, October 15, 2024 5:36 PM
To: Korth, Martin <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>
Cc: alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de>
Subject: Re: AW: Linux-Admin mit Ansible
Hallo Martin,
danke für das Feedback!
(Damit ist gemeint, dass wenn wir z.B. ein ansible.builtin.copy machen, immer via src eine Datei mitgeben und nicht Content: | .... auch verzichten wir auf community.general.ini_file, zum Großteil auf ansible.builtin.lineinfile und setzen stattdessen auf "stumpfes" copy oder template. )
Die Sache mit "Content: |" ist tatsächlich etwas uneinheitlich bei uns, da wir uns nie im Team auf einen Stil geeinigt haben. "lineinfile" bzw. die INI/JSON/YAML-Module finde ich persönlich sehr praktisch, weil man so die Vorkonfiguration der Distribution möglichst intakt lässt und sich (tendenziell) weniger Kompatibilitätsprobleme bei Distributionsupgrades einhandelt. Die Komplexität der Konfiguration ist wird so aber tatsächlich größer, daher ist das eine Abwägungsfrage, denke ich.
Beim Durchschauen der SSHD Konfiguration habe ich eventuell noch was schönes für euch. [...]
Der Login mit den Keys aus dem IT-Portal steht tatsächlich schon länger bei uns auf der Agenda, aber wir hatten bislang keinen Ansprechpartner gefunden, wie wir zuverlässig an die Public Keys kommen. Deshalb ist der Hinweis bzgl. itsshldap sehr willkommen. Ich habe das direkt einmal für uns umgesetzt und das klappt wunderbar. Vielen Dank! Als einzige Änderung habe ich das Bash-Skript durch ein äquivalentes Python-Skript ersetzt, das etwas mehr in das Journal loggt (für die unvermeidbaren Supportanfragen bzgl. Loginproblemen). Ich habe das Skript auch einmal angehängt, falls euch das interessiert.
Viele Grüße
Julian
On 2024-10-14 16:07, Korth, Martin wrote:
Sorry, das Feedback kam von Preuss (IVV5, s.u.), nicht Pusch.
_____
Von: Korth, Martin
Gesendet: Montag, 14. Oktober 2024 15:49:39
An: itpadmins at uni-muenster.de <mailto:itpadmins at uni-muenster.de>
Cc: Pusch, Alexander, Dr.
Betreff: WG: Linux-Admin mit Ansible
Hallo Julian,
hier noch Feedback von Alexander Pusch (CC), dass eventuell auch für Euch (ITP) von Interesse ist. Dein Feedback zum Feedback ist natürlich auch willkommen!
Viele Grüße,
Martin
_____
Von: Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Gesendet: Montag, 14. Oktober 2024 15:39
An: 'Korth, Martin'; Preuss, Alexander
Cc: Dr. Dietmar Lammers; Hölscher, Frank; 'chamann at uni-muenster.de <mailto:chamann at uni-muenster.de> '
Betreff: AW: Linux-Admin mit Ansible
Hallo Herr Korth,
ich möchte für die super späte Rückmeldung um Verzeihung bitten, bei uns ist spontan viel angefallen^^....
Ich habe die Playbooks überflogen und musste zum Teil schmunzeln, weil unser Aufbau und z.T. die Konfigurationen nicht so weit auseinander liegen. Wir von der ivv5 würden uns einem Audit jedoch voraussichtlich nicht anschließen. Wir haben bei uns das "KISS" Prinzip sehr groß geschrieben, da wir unter anderem frisch anfangende Azubis nicht mit "zu vielen Schreibweisen", bzw. Möglichkeiten wie die Konfiguration schlussendlich übergeben wird, überwältigen wollen. (Damit ist gemeint, dass wenn wir z.B. ein ansible.builtin.copy machen, immer via src eine Datei mitgeben und nicht Content: | .... auch verzichten wir auf community.general.ini_file, zum Großteil auf ansible.builtin.lineinfile und setzen stattdessen auf "stumpfes" copy oder template. )
Beim Durchschauen der SSHD Konfiguration habe ich eventuell noch was schönes für euch. Ich habe durch den Wunsch alles mehr zu zentralisieren bei der CIT angefragt, ob ich die SSH Keys, die man im CIT Portal hinterlegen kann abgreifen darf. Nach 1-2 Gestaltungswünschen wurde ein Service dafür eingerichtet, der könnte euch eventuell auch das leben an 1-2 Stellen vereinfachen. Dafür bräuchtet ihr "nur" ein Skript (wir nennen es ldapssh) sowie die passende SSHD Konfiguration:
Ldapssh:
apreu_02.i at CERBERUS:~$ <mailto:apreu_02.i at CERBERUS:~$> cat /usr/bin/ldapssh
#!/bin/bash
# Sende eine Anfrage an itsshldap und erfrage sshPublicKey eines Nutzers
username=$1
( /usr/bin/ldapsearch -o ldif-wrap=no -x -H ldaps://itsshldap.uni-muenster.de -b "ou=person,dc=identity,dc=uni-muenster,dc=de" -LLL cn=$1 sshPublicKey ) | /usr/bin/grep ^sshPublicKey: | /usr/bin/sed 's/^sshPublicKey: //'
Sshd_config (diese Konfig erlaubt alle Gruppen das ldapssh zu nutzen, außer jene mit ! am Anfang):
root at CERBERUS:/home/apreu_02.i# <mailto:root at CERBERUS:/home/apreu_02.i> cat /etc/ssh/sshd_config.d/99-ldapsshall.conf
Match Group *,!anscon,!root,!adm.tm.i,!adm.azb.i,!ivv5tokenuser,!o0ladmin
AuthorizedKeysCommand /usr/bin/ldapssh
AuthorizedKeysCommandUser nobody
MaxAuthTries 6
----
Hinweise noch dazu:
Der erste "Match" bei der sshd Konfiguration zählt. Alle weiteren werden ignoriert.
Ldapssh wird einfach mit einem Parameter, der Nutzerkennung, aufgerufen und die Ausgabe sieht dann so aus:
apreu_02.i at CERBERUS:~$ <mailto:apreu_02.i at CERBERUS:~$> ldapssh apreu_02
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDXiY8dXXghuNPp3evaHwisxAfWuu5noBREidMxSeZvP
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFjt3Ak4jbFZnxmzTbN8Hb+ylt+opIGqe+B34XEr4Wgx
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKapgL4qXIotYxGm34M75/YDxSLWAE3vrZd0rZfqlkxX
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOiCvalO/HQJsnUkqCSv9jTKTtPelFr9arknnPPyGQmB
Viele Grüße
Alexander
--
alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de> Alexander Preuß
http://www.uni-muenster.de/IVV5 IVV5 FB7/FB10
Einsteinstraße 62, 48149 Münster
-----Ursprüngliche Nachricht-----
Von: Korth, Martin <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>
Gesendet: Mittwoch, 18. September 2024 17:22
An: Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>; Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>; 'chamann at uni-muenster.de <mailto:chamann at uni-muenster.de> ' <mailto:chamann at uni-muenster.de> <chamann at uni-muenster.de>
Betreff: RE: Linux-Admin mit Ansible
Der Zugriff auf git müsste jetzt klappen. VG, MK
-----Original Message-----
From: Korth, Martin
Sent: Wednesday, September 18, 2024 2:37 PM
To: 'Preuss, Alexander' <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>; Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>; 'chamann at uni-muenster.de <mailto:chamann at uni-muenster.de> ' <mailto:chamann at uni-muenster.de> <chamann at uni-muenster.de>
Subject: RE: Linux-Admin mit Ansible
Hallo Herr Preuss,
nicht das wir uns missverstehen: Mit 'security audit' meinte ich eigentlich nur, dass wir einen externen Ansible Experten (z.B. für einen Tag o.Ä.) buchen könnten, der einmal über die Konfigurationen drüber schaut, Tipps gibt und Fragen beantworten kann. (Deshalb in Anführungszeichen.)
Viele Grüße,
Martin Korth
-----Original Message-----
From: Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Sent: Wednesday, September 18, 2024 2:26 PM
To: 'Korth, Martin' <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>; Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>; Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>; 'chamann at uni-muenster.de <mailto:chamann at uni-muenster.de> ' <mailto:chamann at uni-muenster.de> <chamann at uni-muenster.de>
Subject: AW: Linux-Admin mit Ansible
Guten Tag Herr Korth,
hmm... tendenziell würde ich ja sagen, aber gleichzeitig sehe ich da auch einige Probleme bei uns wegen der sehr engen Einbindung der Ansible-Server und deren zu ausrollenden Konfigurationen in andere Systeme. Während wir in host_vars, group_vars und defaults natürlich einige Variablen abgebildet haben, werden andere während eines Laufes aus einer zentralen Datenbank geholt (wie z.B. Anmeldungslimitierungen auf bestimmte Nutzer). Auch müsste man wahrscheinlich zwangsweise diese mit auditen und auch den Server für die "SSH CA", worüber wir signierte Host SSH Schlüssel bereitstellen. Auch sind wir durchgehend mit mehreren Leuten die einzelnen Rollen des Playbooks am Anpassen, sodass ein Audit heute übermorgen wahrscheinlich schon wieder outdated wäre.
@Dietmar, @Frank, @Carlo wie seht ihr das?
PS: Da dies auch bei Herrn Perske damals auf Interesse gestoßen ist: Falls das mit "signierte Host SSH Schlüssel" Interesse geweckt haben sollte, bei uns bekommt man keine "Trust on first use" Nachfrage bei allen IVV5 Verwalteten Rechnern, sofern die ssh_known_hosts dies beinhaltet:
@cert-authority * ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAHM/5O9e08LepLTcK4wr4UNVIlK/fV0xo1ZwNbJo6We5RlrVBqw3TfYghQdjhW/bWPAX5DoD1z2VfFuv69jWuggUgHWEspLGbOsffSKZMopxHWvnkYyNk6YCw0c2kXNwczFxY3y8itbfCg9T4OGkZ84rJPTca7YspTSMWKadOUatDbSFg== ivv5_host_ca
Solang die Host-Keys eines Rechners mit dem SSH Schlüssel der "SSH CA" signiert wurden, werden diese akzeptiert. So ein signierter Host-Schlüssel ist an Hostnamen gebunden und hat ein Ablaufdatum.
Viele Grüße
Alexander Preuß
--
alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de> Alexander Preuß
http://www.uni-muenster.de/IVV5 IVV5 FB7/FB10
Einsteinstraße 62, 48149 Münster
-----Ursprüngliche Nachricht-----
Von: Korth, Martin <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>
Gesendet: Mittwoch, 18. September 2024 08:56
An: Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>; Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>
Betreff: RE: Linux-Admin mit Ansible
Lieber Herr Preuß,
herzlichen Dank für das zeitnahe Feedback! Ich habe Julian Jeggle gebeten, Ihnen Zugriff auf die git-Repositories zu geben. Auch hier ist Ihr Feedback dann herzlich willkommen! Ich wäre bereit so etwas wie ein 'Security Audit' zu organsieren, damit man unsere Infos guten Gewissens allen IVVen bereitstellen könnte; wäre ein Audit Ihrer Konfiguration auch für Sie von Interesse?
Viele Grüße,
Martin Korth
-----Original Message-----
From: Preuss, Alexander <mailto:alexander.preuss at uni-muenster.de> <alexander.preuss at uni-muenster.de>
Sent: Tuesday, September 17, 2024 3:18 PM
To: 'Korth, Martin' <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>; Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>; alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>
Subject: AW: Linux-Admin mit Ansible
Lieber Herr Korth,
ich habe mir das soweit durchgelesen und es sieht alles gut und verständlich aus. Die Verlinkten Projekte der itp-admins führen bei mir (bin aktuell im VPN) ins Leere, der Zivgitlab gibt mir da 404 Fehler aus.
Was sich wahrscheinlich noch anbieten könnte nieder zu schreiben wäre wie man Ansible-Vault nutzen kann, um Variablen/Dateien lokal auf den Control Server zu verschlüsseln, damit man die etwas beruhigter in ein Git/TSM schieben kann.
Einen Audit unserer eigenen Konfiguration haben wir soweit nicht gemacht. Aufgrund des BSI Grundschutzes haben wir wohl damit angefangen die Konfiguration der Clients als solche zu prüfen und von "immer als Root" auf einen eigenen, Passwortlosen "ansible connection user" umzustellen, wie Sie es auch in dem Learnweb bereits nieder geschrieben haben.
Viele Grüße
Alexander Preuß
--
alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de> Alexander Preuß
http://www.uni-muenster.de/IVV5 IVV5 FB7/FB10
Einsteinstraße 62, 48149 Münster
-----Ursprüngliche Nachricht-----
Von: Korth, Martin <mailto:dgd at uni-muenster.de> <dgd at uni-muenster.de>
Gesendet: Montag, 16. September 2024 16:03
An: Hölscher, Frank <mailto:drebin at uni-muenster.de> <drebin at uni-muenster.de>; alexander.preuss at uni-muenster.de <mailto:alexander.preuss at uni-muenster.de>
Cc: Dr. Dietmar Lammers <mailto:lammers at uni-muenster.de> <lammers at uni-muenster.de>
Betreff: Linux-Admin mit Ansible
Lieber Herr Hölscher, lieber Herr Preuss, lieber Dietmar,
Sie waren vor einiger Zeit so freundlich, in unserem Kolloquium einen Erfahrungsbericht zur Linux-Administration mit Ansible zu geben. Ich hatte damals (und auch danach im Rahmen der BSG) versprochen, mich noch einmal zu melden, wenn wir mit unserer eigenen Planung zu Ansible weitergekommen sind:
Aufgrund der dezentralen Organisation unserer IVV bieten wir keine zentrale Ansible-Instanz an, wollen unsere Institute aber dazu anhalten, Linux möglichst mit Ansible zu verwalten. Zu diesem Zweck haben wir entsprechende Informationen zu Ansible (vorläufig in einem Lernweb-Kurs) zusammengestellt, u.a. mit Verweisen auf das Beispiel der Konfiguration des Instituts für Theoretische Physik im zivgitlab. Diese Informationen wollen wir dann in einem zweiten Schritt auf unserer Webseite (außerhalb des Learnwebs) für unsere Admins bereitstellen.
Falls Sie die Zeit finden, sich das Material einmal anzuschauen, würde ich mich sehr über Ihr Feedback freuen! (Ich suche übrigens auch noch jemanden, der oder die sich die Konfiguration des ITPs einmal bezgl. sicherheits-kritischer Aspekte anschauen könnte - haben Sie vielleicht einmal so ein Audit mit Ihrer Konfiguration gemacht?)
Hier geht es zu den Infos: https://sso.uni-muenster.de/LearnWeb/learnweb2/course/view.php?id=59853#section-1
Mit freundlichen Grüßen,
Martin Korth
--
Dr. Martin Korth
Wissenschaftlicher Leiter
Universität Münster
IVV Naturwissenschaften
Wilhelm-Klemm-Str. 10
D-48149 Münster
dgd at uni-muenster.de <mailto:dgd at uni-muenster.de>
Tel.: +49 251 83-39141
Fax: +49 251 83-93339141
http://www.uni-muenster.de/NWZ
--
Universität Münster
Institut für Theoretische Physik
Wilhelm-Klemm-Straße 9
48149 Münster
Tel: +49 251 83-34527
E-Mail: itpadmins at uni-muenster.de <mailto:itpadmins at uni-muenster.de>
Web: https://www.uni-muenster.de/Physik.TP/
--
Universität Münster
Institut für Theoretische Physik
Wilhelm-Klemm-Straße 9
48149 Münster
Tel: +49 251 83-34527
E-Mail: itpadmins at uni-muenster.de <mailto:itpadmins at uni-muenster.de>
Web: https://www.uni-muenster.de/Physik.TP/
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listserv.uni-muenster.de/mailman/private/linux-ivv4/attachments/20241017/f1d15e05/attachment.htm>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : ldapsshkeys.zip
Dateityp : application/zip
Dateigröße : 954 bytes
Beschreibung: nicht verfügbar
URL : <https://listserv.uni-muenster.de/mailman/private/linux-ivv4/attachments/20241017/f1d15e05/attachment.zip>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : smime.p7s
Dateityp : application/pkcs7-signature
Dateigröße : 7490 bytes
Beschreibung: nicht verfügbar
URL : <https://listserv.uni-muenster.de/mailman/private/linux-ivv4/attachments/20241017/f1d15e05/attachment.p7s>
Mehr Informationen über die Mailingliste Linux-ivv4