Der Rahmen

Im November 2023 habe ich im Rahmen der Schule ein dreiwöchiges Pflichtpraktikum absolviert. Die Firma war ein mittelständisches Softwareunternehmen in Montabaur, das webbasierte Anwendungen entwickelt und betreibt. Zu den Kunden gehören öffentliche Verwaltungen, mittelständische Unternehmen und internationale Konzerne.

Zwei Wochen war ich vor Ort, eine Woche im Homeoffice. Eingesetzt war ich im Team „Systems Development". Es entwickelt umfangreiche Softwaresysteme auf Basis eines Java-Stacks und arbeitet nach Scrum mit monatlichen Releases.

Der Arbeitsalltag

Mein Tag begann mit rund einer Stunde Anfahrt im ICE. Im Büro arbeiteten meist 10 bis 15 Personen, der Rest des Teams war im Homeoffice.

Einen festen Platz hatten die Team-Meetings: Wer arbeitet woran, was ist erledigt, was steht als Nächstes an? Ich habe dort zugehört und dabei gelernt, wie ein Team Aufgaben verteilt, Fortschritt sichtbar macht und Abhängigkeiten klärt.

Das Team arbeitete mit diesen Werkzeugen:

  • Jira für die Aufgabenplanung
  • Slack und Microsoft Teams für die Kommunikation
  • IntelliJ IDEA als Entwicklungsumgebung

Parallel habe ich mich mit Lernvideos in die Technologien des Teams eingearbeitet: Java, Java EE und JSP. Das war ein erster Einblick, keine Mitarbeit am produktiven Code. Auch bei alltäglichen Entscheidungen wurde ich einbezogen, etwa bei der Auswahl neuer Büromöbel.

Homeoffice

In der Homeoffice-Woche lief die Zusammenarbeit komplett über Microsoft Teams. Die Organisation lag bei mir: feste Arbeitszeiten einhalten, in Meetings erreichbar sein und die eigenen Aufgaben ohne direkte Rückfragen im Büro voranbringen.

Der Sicherheitscheck

Die interessanteste Aufgabe war ein Sicherheitscheck der Unternehmensinfrastruktur, in Absprache mit der Leitung der Softwaretechnik und auf den Live-Systemen. Ich bin dabei nach den Phasen eines Penetrationstests vorgegangen:

1. Informationsbeschaffung. Ich habe öffentlich verfügbare Informationen über das Unternehmen gesammelt (OSINT). Mit Shodan und SecurityTrails ließen sich Subdomains, DNS-Einträge und aus dem Internet erreichbare Dienste ermitteln.

2. Scanning und Enumeration. Mit Nmap habe ich offene Ports und laufende Dienste identifiziert, mit Nikto Webserver auf Konfigurationsschwächen geprüft. Mit gobuster und dirb habe ich nach nicht verlinkten Verzeichnissen und Dateien gesucht.

3. Gezielte Tests. Die Login-Seite einer Webanwendung habe ich mit Burp Suite untersucht, also Anfragen abgefangen, analysiert und verändert.

Kritische Schwachstellen habe ich nicht gefunden. Der wichtigste Fund war ein Server, der nicht mehr genutzt wurde, aber weiterhin aus dem Internet erreichbar war. Solche vergessenen Systeme sind ein typisches Risiko: Sie werden oft nicht mehr gewartet, gehören aber weiter zur Angriffsfläche. Nach meinem Bericht wurde der Server abgeschaltet.

Jeden Schritt habe ich in einem PDF-Bericht dokumentiert und die Ergebnisse anschließend dem gesamten Team in einem Meeting vorgestellt.

Die Werkzeuge kannte ich bereits aus meiner privaten Beschäftigung mit IT-Sicherheit. Neu war der Rahmen: ein echtes Unternehmen, Live-Systeme, Verantwortung für das eigene Vorgehen und ein Team, dem ich die Ergebnisse verständlich erklären musste.

Die Über-mich-Webseite

Zum Abschluss habe ich eine einfache Über-mich-Webseite mit HTML, CSS und JavaScript erstellt, in Visual Studio Code und lokal ausgeführt. Programmieren ist nicht mein Schwerpunkt, mein Interesse liegt bei Systemen, Netzwerken und Sicherheit. Trotzdem ist ein Grundverständnis davon, wie Webseiten aufgebaut sind, beim Testen von Webanwendungen und im Support nützlich.

Rückblick

Was ich mitnehme:

  • wie ein Scrum-Team seine Arbeit organisiert
  • Selbstorganisation im Homeoffice
  • Ergebnisse so zu dokumentieren, dass andere sie Schritt für Schritt nachvollziehen können
  • technische Inhalte vor einem Team zu präsentieren

Was ich heute anders machen würde:

  • In Meetings nicht nur zuhören, sondern eigene Vorschläge einbringen
  • Den Sicherheitscheck tiefer angehen
  • Umfang und Freigabe eines Tests immer schriftlich festhalten. Das schafft Klarheit für beide Seiten.

Cheers!