Erfolgreicher Angelgeräte-Verkäufer Roger Willoughby, der selbst nie angeln war
Guter Zuhörer, gibt Tipps von einem Kunden an den Anderen weiter
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!
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).
Der senkrechte Strich des T symbolisiert dabei das Spezialwissen, während der Querstrich das Breitenwissen darstellt.
Subjektiv
Keinesfalls vollständig
Keinesfalls ein Karrierevorschlag
Denkanstoß
YMMV
10x engineer
Erfolgreicher Angelgeräte-Verkäufer Roger Willoughby, der selbst nie angeln war
Guter Zuhörer, gibt Tipps von einem Kunden an den Anderen weiter
Lernt Englisch
Lernt mehr Fremdsprachen
Aber fangt mit Englisch an
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
Bash
Python
Perl
PowerShell
Javascript
…
Man sollte mind. soviel wissen, dass man eine Installation kaputt und wieder heile machen kann.
"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
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)
Je grösser ein Unternehmen desto öfter trifft man auf Excel für [1]
Dokumentation
Projektmanagement
Wer schreibt bleibt
Nur Text Formate erleichtern die Erfassung
Markdown / mkdocs
Asciidoc(tor)
Konvertierung in Zielformate pdf, word, LaTeX über pandoc
Öffentlich (Karriere?)
Moscow rules: watch your back
London rules: cover your arse
Für die "told you so" Momente
Nein, wir sind noch nicht bei der Q&A angelangt, keine Panik.
Junior "nervt" Senior
Support liefert keine Antworten
Kundentickets mit "XYZ funktioniert nicht"
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
WAS wollen Sie eigentlich erreichen?
Welche Schritte haben Sie durchgeführt?
Welche konkrete Fehlermeldung wird angezeigt?
Welche Version von OS, Produkt XYZ, …?
usw.
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.
"Wissen heißt wissen, wo es geschrieben steht" — Albert Einstein
Stack Overflow, Server Fault, Super User, … haben eine Suche
Microsoft hat suchbare "Doku"
man pages sind Dein Freund
[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
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.
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]
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]
NFS
CIFS
EC2, cephfs, glusterfs, …
"Spindeln", HABs, LUNs, shared NICs, ….
disk i/o vs. eg. Windows "Avg. Disk Queue Length"
Die Storage Admins sagen immer dass der Storage schnell und nicht Schuld an Problemen ist.
Ja, ihr müsst immer das Gegenteil beweisen.
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!
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
Wireshark ist Dein Freund
pcaps sammeln und analysieren
Übung macht den Meister
Schon mal TLS mitgelesen?
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)
Welche Files brauch ich, um TLS bei einem Webserver einzurichten?
public server certificate
PRIVATE KEY
intermediate certificates
root certificate
Reihenfolge!
Kalendereintrag
Monitoring
cerbot (BITTE!!!!)
Welcher Zertstore
An sich auch nur DNS
30 Tage Uebergangsfrist, muss jährlich erneuert werden
http solltet Ihr verstehen
http header und cookies, Gültigkeitsbereich, …
http error codes
Gilt analog für SIP, WSS, …
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
LDAP
AD
SAML / OAuth / OpenID Connect
Fehlermeldungen verstehen
SAML
OAuth / OpenID Connect
SPNEGO / Kerberos
Grundlagen, Logging and Tracing
Grundlegende Einstellungen
am Besten mit Screenshots zum Vergleich
z.B. Zugriff auf Keystore nur fuer System Apps (iOS)
App hinter Azure Auth mit Device Zertifikat
MDM
VPN / Proxy / SSL Endpoints / MitM
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
Must read: https://gtfobins.github.io/
als Admin um den Zugriff zu verhindern
als User um sich einen Jira Task zu ersparen
Kurzes Beispiel [1]
docker
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
sudo
sudo docker run -v /:/mnt --rm -it alpine chroot /mnt sh
Wenn der USB Port noch offen ist
Du zumindest SW runterladen kannst
Du Schreibrechte auf ein Dir hast
CVE eurer Hautpapplikationen
OWASP Top 10
Aktuelle Angriffe und deren Verteidigung
Zero Days
Verantwortung weg von der kompletten Applikation
Interner Einkauf von Services
Kubernetes / OpenShift
Datenbank
LDAP
Storage
Betriebssystem
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
Du bist nicht "nur" $Produkt/$Technologie-Admin
Holistischer Zugang (DevSec*Ops)
Business Needs
STOEPS
@stoeps
LEYRER