Checkliste für Universal- dilettanten

Die Vortragenden

Christoph Stoettner (stoeps)

Macht seit 30 Jahren was mit Computern, erst mit Amiga 500, dann OS/2, Linux, ab und zu Windows, Mac OS X.

Linux und OSS seit den fruehen Anfängen (erstes Linux von einer Heft CD des DOS Magazins - 0.x)

Real nerds don’t click!

Martin Leyrer (Der Leyrer)

Der Leyrer arbeitet seit fast 40 Jahren mit Computern, seit 30 Jahren verdient er Geld damit.

Neben bzw. im Zuge seiner Tätigkeit als Senior Lab Services Consultant zerrt er Sysadmins aus den 1990ern ins 21. Jhdt.

Darüber hinaus versucht er BesucherInnen diverser Veranstaltungen die Freuden der Linux Kommandozeile näher zu bringen.

(Immer noch auf der Suche nach einem NeXTcube).

"T-Shaped-Professionals"

swole dodge

Der senkrechte Strich des T symbolisiert dabei das Spezialwissen, während der Querstrich das Breitenwissen darstellt.

Disclaimer

fairbanksmorsejackofalltrades
  • Subjektiv

  • Keinesfalls vollständig

  • Keinesfalls ein Karrierevorschlag

  • Denkanstoß

  • YMMV

  • 10x engineer

Soft Skills

Man’s Favorite Sports

  • Erfolgreicher Angelgeräte-Verkäufer Roger Willoughby, der selbst nie angeln war

  • Guter Zuhörer, gibt Tipps von einem Kunden an den Anderen weiter

willoughby

Datensammelleitschiene

  • Lernt Englisch

  • Lernt mehr Fremdsprachen

  • Aber fangt mit Englisch an

Warum ?

  • Die meiste SW kommt nicht aus DACH

  • Standards (RFCs, …​) werden in Englisch verfasst

  • "Bad English" ist die lingua franca in der IT

  • Übersetzungen: spät und/oder in fragwürdiger Qualität

  • Schnellere Round-Trips im Support

Lernt mehr Fremdsprachen

  • Bash

  • Python

  • Perl

  • PowerShell

  • Javascript

  • …​

Wissenstiefe

Man sollte mind. soviel wissen, dass man eine Installation kaputt und wieder heile machen kann.

Diplomatie / Selbstbewusstsein

  • "Das haben wir schon immer so gemacht."

  • "Kann man schon so machen, ist dann halt Kacke"

  • Soll es funktionieren, oder so sein wie Sales es verkauft hat

NEIN sagen

  • It is required to manually [via JS, Anm.] encrypt the password to prevent from data stealing by the adversary if in case man in the middle attack is accomplished.

  • NEIN! (Ja, Du musst alles Beweisen)

Excel

  • Je grösser ein Unternehmen desto öfter trifft man auf Excel für [1]

    • Dokumentation

    • Projektmanagement

fmwc esport excel

Dokumentation / Technical Writing

  • Wer schreibt bleibt

  • Nur Text Formate erleichtern die Erfassung

    • Markdown / mkdocs

    • Asciidoc(tor)

  • Konvertierung in Zielformate pdf, word, LaTeX über pandoc

  • Öffentlich (Karriere?)

CYAM - Cover Your Ass Mails

  • Moscow rules: watch your back

  • London rules: cover your arse

  • Für die "told you so" Momente

Fragen und Anworten

Nein, wir sind noch nicht bei der Q&A angelangt, keine Panik.

Warum ist das wichtig?

  • Junior "nervt" Senior

  • Support liefert keine Antworten

  • Kundentickets mit "XYZ funktioniert nicht"

Fragen "richtig" stellen [1]

  • Verwende aussagekräftige, genaue Betreffzeilen

  • Sei genau und informativ bei der Beschreibung deines Problems

  • Beschreibe das Ziel, nicht einen Schritt

  • Stelle eine deutliche Frage

  • Poste die Lösung

Fragen umdrehen

  • WAS wollen Sie eigentlich erreichen?

  • Welche Schritte haben Sie durchgeführt?

  • Welche konkrete Fehlermeldung wird angezeigt?

  • Welche Version von OS, Produkt XYZ, …​?

  • usw.

Rubberducking

Beim Quietscheentchen-Debugging[1] wird das aktuelle Problem detailliert ("Zeile für Zeile") einem Quietscheentchen erklärt.

Während des Erklärungsprozesses fällt dir oft der Fehler auf. Der Vorteil des Quietscheentchens gegenüber einer anderen Person ist, dass niemand gestört werden muss.

1. "The Pragmatic Programmer: From Journeyman to Master", Andrew Hunt and David Thomas (ISBN 978-0135957059)

Hard Skills

Lernt Google zu bedienen

Logs sind Deine Freunde

ENGLISCHE LOGS !!!111elf111!!!!

[21.01.22 05:08:20:905 MEZ] 000000ad SchedulerServ E   SCHD0128E:
Der D?mon f?r den Scheduler scheduler/metrics konnte nicht
gestartet werden:
com.ibm.ws.scheduler.exception.SchedulerDataStoreException:
SCHD0124E: scheduler/metrics kann nicht initialisiert werden

Lernt logs lesen

Spoiler: Wenn Ihr logs lesen, die Fehlermeldung/code goggeln und dann 1-2 Lösungsansätze ausprobieren könnt, seit ihr meist schon die Heroes.

Ja, es IST oft so trivial.

Beispiel 0

com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4529E
The password verification for the 'binduser' principal name failed.
Root cause: 'javax.naming.AuthenticationException:
[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9,
comment: AcceptSecurityContext error, data 52e, v1db1]

Beispiel 1

com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4529E
The password verification for the 'binduser' principal name failed.
Root cause: 'javax.naming.AuthenticationException:
[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9,
comment: AcceptSecurityContext error, data 775, v1db1]

Lösung — Ja, Du musst alles Beweisen

ad locked user

Storage 1/2

  • NFS

  • CIFS

  • EC2, cephfs, glusterfs, …​

  • "Spindeln", HABs, LUNs, shared NICs, …​.

  • disk i/o vs. eg. Windows "Avg. Disk Queue Length"

Storage 2/2

  • Die Storage Admins sagen immer dass der Storage schnell und nicht Schuld an Problemen ist.

  • Ja, ihr müsst immer das Gegenteil beweisen.

Netzwerk

  • It’s always DNS

  • It’s always the cable/switch port

  • Liebet und ehret das hosts file, ausser ihr arbeitet mit K8s

  • Wenn ein Kunde von "WINS" statt DNS spricht, lauft!

Netzwerksicherheit

123 1234894 house md black and white
  • Alle Ports sind offen

  • Da ist keine WAF oder Reverse Proxy dazwischen

  • Admins: das Netzwerk ist schnell und nicht Schuld an Problemen

  • Ja, Ihr müsst immer das Gegenteil beweisen

pcap or it didn’t happen

  • Wireshark ist Dein Freund

  • pcaps sammeln und analysieren

  • Übung macht den Meister

  • Schon mal TLS mitgelesen?

Zertifikate

  • CAs, certificate chains

  • cer, crt, pem, p12, pfx, …​

  • openssl zum konvertieren

  • openssl s_client zum Testen

  • testssl.sh und https://keystore-explorer.org ersparen das Googlen von openssl commands

  • CRLs und Online Certificate Status Protocol (OCSP)

Webserverzertifikat

Welche Files brauch ich, um TLS bei einem Webserver einzurichten?

  • public server certificate

  • PRIVATE KEY

  • intermediate certificates

  • root certificate

  • Reihenfolge!

Zertifikat abgelaufen

  • Kalendereintrag

  • Monitoring

  • cerbot (BITTE!!!!)

  • Welcher Zertstore

Domain Registrierung nicht erneuert

  • An sich auch nur DNS

  • 30 Tage Uebergangsfrist, muss jährlich erneuert werden

domain registration

HTTP Basics

  • http solltet Ihr verstehen

  • http header und cookies, Gültigkeitsbereich, …​

  • http error codes

  • Gilt analog für SIP, WSS, …​

HTTP Tools

  • MEHRERE Browser (P…​ Mode!)

  • Browser Developer Tools

  • Fiddler, Burp suite und Co. (MITM)

  • har files lesen - understand the flow

  • Antwortet die Firewall, WAF, reverse proxy oder app server

  • Ja, ihr müsst beweisen, wer den HTTP 500 sendet

Authentifizierung & SSO

ad locked user
  • LDAP

  • AD

  • SAML / OAuth / OpenID Connect

  • Fehlermeldungen verstehen

Single Sign On

  • SAML

  • OAuth / OpenID Connect

  • SPNEGO / Kerberos

  • Grundlagen, Logging and Tracing

  • Grundlegende Einstellungen

    • am Besten mit Screenshots zum Vergleich

Grundlagen mobile Devices

  • z.B. Zugriff auf Keystore nur fuer System Apps (iOS)

    • App hinter Azure Auth mit Device Zertifikat

  • MDM

  • VPN / Proxy / SSL Endpoints / MitM

Troubleshooting auch ohne root

  • root Rechte oft eingeschränkt

  • sudo -l zeigt sudo Kommandos fuer den angemeldeten Benutzer

  • pcap ohne root nicht möglich

  • telnet, netcat zum Testen offener Ports

GTFOBins

GTFOBins Beispiel

  • Kurzes Beispiel [1]

  • docker

root shell mit Berechtigung ueber Gruppe
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
root shell per sudo
sudo docker run -v /:/mnt --rm -it alpine chroot /mnt sh

Portable Apps

Augen auf - RSS Abo

  • CVE eurer Hautpapplikationen

  • OWASP Top 10

  • Aktuelle Angriffe und deren Verteidigung

  • Zero Days

Was hat sich die letzten Jahre geändert?

  • Verantwortung weg von der kompletten Applikation

  • Interner Einkauf von Services

    • Kubernetes / OpenShift

    • Datenbank

    • Mail

    • LDAP

    • Storage

    • Betriebssystem

Erhöhte Abhängigkeiten

  • Höherer Zeitaufwand

  • Anforderung an regelmässige Releasezyklen

    • z.B. DB wird auf aktuellste Version gepatcht

    • u.U. muss die eigene Applikation aktualisiert werden um diese Version zu unterstuetzen

  • Erschwerte Fehlersuche

    • da nur noch Benutzerrechte

  • Zentrales Logging kann hier helfen

Jenseits des Tellerrands

  • Du bist nicht "nur" $Produkt/$Technologie-Admin

  • Holistischer Zugang (DevSec*Ops)

  • Business Needs

Fragen?