IT-Berufe-Podcast

IT-Berufe-Podcast

Download on the App Store

IT-Berufe-Podcast episodes

  • Der eigene Webserver (Teil 3: Linux-Paketverwaltung) – Anwendungsentwickler-Podcast #90
    Einige Tipps zur Paketverwaltung unter Linux gibt es in der neunzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Nachdem ich SSH abgesichert habe, richte ich meinen Linux-Webserver mit hilfreichen Werkzeugen für die Kommandozeile ein und halte die Konfiguration mit Git fest. Du erfährst, wie du laufende Dienste und offene Ports prüfst, damit du überflüssige Pakete entfernen kannst. Mit regelmäßigen Updates schließt du bekannte Sicherheitslücken; ein nächtlicher Cronjob kann dich auf neue Paketversionen hinweisen.
    Kapitelmarken
    [00:00:00] Einführung in die Paketverwaltung auf dem eigenen Server
    [00:01:10] SSH vor weiteren Arbeiten absichern
    [00:02:30] Dateien mit wget herunterladen
    [00:03:38] Webseiten mit dem Textbrowser Lynx aufrufen
    [00:05:39] Dateien mit locate finden und den Index aktualisieren
    [00:08:10] DNS-Einträge mit dig prüfen
    [00:09:13] Konfigurationsdateien mit Git versionieren
    [00:10:10] Werkzeuge unter Debian installieren
    [00:10:28] Änderungen durch Paketupdates mit Git nachvollziehen
    [00:11:50] Das Verzeichnis /etc mit Git sichern
    [00:13:31] Überflüssige Dienste und Pakete entfernen
    [00:15:09] Dateien verschlüsselt mit SCP übertragen
    [00:16:14] Telnet und Samba auf dem Webserver prüfen
    [00:18:08] Offene Ports mit netstat untersuchen
    [00:19:02] Den eigenen Server mit Nmap scannen
    [00:20:46] Bekannte Ports und bewusst freigegebene Dienste
    [00:21:54] Laufende Prozesse mit ps prüfen
    [00:22:49] Grenzen der Prozessprüfung bei Rootkits
    [00:23:43] Prozesse mit kill beenden
    [00:24:55] Paketlisten und installierte Pakete aktualisieren
    [00:26:47] Sicherheitslücken durch regelmäßige Updates schließen
    [00:27:59] Nächtliche Updateprüfung und E-Mail-Benachrichtigung
    [00:28:36] Updates automatisieren und häufig durchführen
    [00:30:02] Ausblick auf die Firewall und weitere Serverthemen
    [00:31:16] Shownotes und Newsletter
    [00:32:07] Historische Hörbuchaktion und Checklisten zur Abschlussprüfung
    [00:32:53] Linux mit dem Kofler vertiefen
    Inhalt
    Hilfreiche Tools installieren
    wget: Download von Dateien über die Kommandozeile
    lynx: Browser für die Kommandozeile
    locate: Suchwerkzeug analog zu Everything (bereits erwähnt in Die hilfreichsten (Windows-)Tools für Softwareentwickler)
    dnsutils: enthält dig für DNS-Anfragen
    git: Versionsverwaltung (siehe Einführung in die Versionsverwaltung mit Git (Teil 1))
    /etc versionieren!
    cd /etc && git init . && git add -A && git commit -m "Initial commit"
    Ungenutzte Pakete/Programme deinstallieren und Dienste ausschalten
    FTP, Telnet, Samba
    mit netstat oder nmap nach offenen Ports scannen
    mit ps -ef nach laufenden Prozessen suchen
    Pakete aktualisieren
    apt-get update && apt-get upgrade
    Literaturempfehlungen
    Wie schon in den letzten beiden Wochen ist die "Linux-Bibel" von Michael Kofler* mein einziger Literaturtipp.
    *(direkt beim Rheinwerk-Verlag bestellen*)
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    vServer bei 1blu*
    Top 30 Nmap Command Examples For Sys/Network Admins
    Offene Ports und Anwendungen finden mit netstat, lsof und nmap
    10 Linux DIG Command Examples for DNS Lookup
    apt-get(8) - Linux man page
    ps(1): report snapshot of current processes - Linux man page
    Zusammenfassung
    SSH zuerst absichern
    Ich beginne bei einem neuen Webserver mit SSH, bevor ich weitere Software installiere. Wenn dabei der Zugang verloren geht, lässt sich das System über das Backend des Hosters neu installieren, ohne dass bereits mehrere Stunden Arbeit in anderen Diensten stecken.
    Für meine weiteren Schritte funktioniert die Anmeldung mit einem Public Key, wobei SSH auf einem anderen Port als 22 läuft. Root werde ich nach der Anmeldung über su. Die SSH-Konfiguration kannst du mit einem vorhandenen Texteditor wie vi oder nano bearbeiten.
    Werkzeuge für die Kommandozeile installieren
    Auf meinem Linux-Server arbeite ich ausschließlich über die Kommandozeile. Dafür installiere ich folgende Pakete:
    wget: Mit wget URL lädst du eine Datei herunter, die anschließend lokal auf der Festplatte liegt. Webanwendungen wie WordPress lade ich als Quellcode herunter, damit ich selbst bestimmen kann, wie ich sie konfiguriere und aktualisiere.
    Lynx: Der Textbrowser erlaubt dir, direkt auf dem Server Webseiten aufzurufen oder den lokalen Webserver zu testen. Über Links kannst du auch Downloads starten. Wie gut sich eine Seite bedienen lässt, hängt unter anderem davon ab, ob sie barrierefrei aufgebaut ist.
    locate: Das Werkzeug findet Dateien anhand einer zuvor aufgebauten Datenbank. Mit updatedb erstellst beziehungsweise erneuerst du diesen Index. Wenn sich der Dateibestand verändert, muss die Datenbank erneut eingelesen werden. Dafür kannst du einen nächtlichen Cronjob einrichten oder den Befehl manuell ausführen.
    dnsutils: Unter Debian enthält dieses Paket das Werkzeug dig, mit dem du DNS-Einträge abfragen kannst, etwa MX-Records für Mailserver. Ich prüfe damit die DNS-Konfiguration meiner Domains und suche nach Fehlern.
    Git: Damit halte ich die Stände meiner Konfigurationsdateien lokal fest und kann später nachvollziehen, was sich geändert hat.
    Unter Debian installierst du diese Pakete mit einem Befehl:
    bash
    apt-get install wget lynx locate dnsutils git
    Die Konfiguration mit Git festhalten
    Bevor ich am System weiterarbeite, lege ich für /etc ein lokales Git-Repository an. Ein Remote-Repository ist dafür entbehrlich. Den ersten funktionsfähigen Stand hältst du so fest:
    bash
    cd /etc
    git init .
    git add -A
    git commit -m "Initial commit"
    Auch vor Paketupdates committe ich den aktuellen Stand. Pakete können beim Aktualisieren Konfigurationsdateien verändern, etwa weil neue Parameter hinzukommen oder bisherige Einstellungen angepasst werden. Mit git diff siehst du anschließend, welche Änderungen in deinen versionierten Dateien aufgetreten sind, und kannst entscheiden, welche du übernehmen möchtest.
    Falls beim Bearbeiten etwas schiefgeht, lassen sich ältere Stände wiederherstellen. Mit git checkout -- . kannst du Änderungen an bereits versionierten Dateien auf den zuletzt festgehaltenen Stand zurücksetzen.
    Überflüssige Dienste entfernen
    Je nach gewähltem Serverimage sind bereits Dienste installiert, die du für deinen Webserver gar nicht brauchst. Ich entferne solche Pakete, weil erreichbare Dienste zusätzliche Angriffsmöglichkeiten bieten.
    Prüfe insbesondere diese Pakete:
    FTP: Ein ungeschützter FTP-Server überträgt Daten unverschlüsselt. Wenn du einen öffentlichen FTP-Dienst betreiben möchtest, musst du ihn entsprechend absichern.
    Telnet: Die Shell-Verbindung läuft unverschlüsselt. Für den Zugang zu meinem Server verwende ich SSH.
    Samba: Damit lassen sich unter Linux Freigaben für ein Windows-Netzwerk bereitstellen. Auf meinem Webserver entferne ich Samba, sofern es dort keinen vorgesehenen Zweck erfüllt.
    Dateien übertrage ich per SCP über die vorhandene SSH-Verbindung. Unter Windows kannst du dafür beispielsweise WinSCP verwenden. Dabei stehen dir die Zugangsdaten beziehungsweise Schlüssel deines SSH-Zugangs zur Verfügung, während die Dateien verschlüsselt übertragen werden.
    Offene Ports und laufende Prozesse prüfen
    Mit netstat schaust du nach, welche Verbindungen bestehen und auf welchen Ports dein Server lauscht. Gehe die Liste durch und prüfe bei jedem Dienst, ob du ihn kennst und nach außen anbieten möchtest. Zu Beginn sollten der eingerichtete SSH-Zugang und die von dir ausdrücklich vorgesehenen Dienste erreichbar sein. Bekannte Beispiele sind HTTP auf Port 80 und SMTP auf Port 25.
    Für einen Portscan installiere ich bei Bedarf Nmap. Das Werkzeug kann deinen eigenen Server auf offene Ports prüfen und anhand der Antworten erkennen, welche Dienste dahinterstehen. Solche Prüfungen lassen sich auch später im laufenden Betrieb wiederholen.
    Mit ps -ef erhältst du eine Liste der laufenden Prozesse aller Benutzer:innen. Unbekannte Einträge solltest du untersuchen, wobei Linux selbst zahlreiche notwendige Systemprozesse ausführt. Auch vergessene Tests oder noch laufende Skripte können dabei auffallen.
    Zum Beenden eines Prozesses dient kill PID. Der Prozess erhält dabei zunächst die Aufforderung, sich zu beenden. Mit kill -9 PID erzwingst du sein Ende. Rootkits können sich vor Prozesslisten verstecken, sodass diese Prüfung allein keinen verlässlichen Nachweis für ein schadsoftwarefreies System liefert.
    Pakete regelmäßig aktualisieren
    Unter Debian führe ich die Befehle in dieser Reihenfolge aus:
    bash
    apt-get update
    apt-get upgrade
    apt-get update fragt die eingerichteten Paketquellen ab und speichert die verfügbaren Versionen in lokalen Paketlisten. Danach vergleicht apt-get upgrade diese Angaben mit den installierten Paketen und bietet neuere Versionen zum Installieren an.
    Updates enthalten unter anderem Sicherheitspatches. Bei einem direkt aus dem Internet erreichbaren Server können bekannte Lücken in veralteter Software für Angriffe ausgenutzt werden.
    Ich lasse deshalb mindestens einmal pro Nacht einen Cronjob nach neuen Paketversionen suchen. Wenn Updates verfügbar sind, bekomme ich eine E-Mail und führe das Upgrade anschließend selbst aus. Du kannst auch das Aktualisieren automatisieren. Durch häufige Updates bleiben Änderungen an der Konfiguration überschaubar und lassen sich zeitnah bearbeiten.
    Weiterführende Inhalte
    Als nächstes Thema habe ich die Firewall vorgesehen. Wenn du deinen eigenen Server administrierst, gehört auch dazu, dich tiefer mit Linux zu beschäftigen. Dafür empfehle ich den Kofler, die im Podcast als Linux-Bibel bezeichnete Fachlektüre.
    Die Shownotes stehen unter anwendungsentwicklerpodcast.de/90. Über meinen Newsletter erhältst du wöchentlich Informationen und Links, auch von meinen IT-Azubis, sowie kostenlose Checklisten für die Abschlussprüfung. Die erwähnte Aktion mit 20 Prozent Rabatt auf mein Hörbuch zum Fachgespräch bezog sich auf die Veröffentlichung am 30. Januar 2017 und die beiden folgenden Tage.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:00] Herzlich Willkommen zum Anwendungsentwickler-Pod
    35 min
  • Der eigene Webserver (Teil 2: Absicherung von SSH) – Anwendungsentwickler-Podcast #89
    Die Absicherung des eigenen Linux-Servers - im Speziellen des SSH-Zugangs - ist das Thema der neunundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich empfehle dir, deinen eigenen Server direkt nach dem Start abzusichern, weil automatisierte Angriffe öffentlich erreichbare Systeme laufend prüfen. Beginne beim SSH-Zugang: Verlege den Standardport und sperre die direkte Anmeldung als root. Für den SSH-Login richtest du anschließend Public-Key-Authentifizierung ein, wobei du deinen privaten Schlüssel sicher aufbewahrst und mit einem Passwort schützt. Für deine übrigen Zugänge helfen dir lange, unterschiedliche Passwörter, die du in einem Passwort-Safe wie KeePass speichern kannst.
    Kapitelmarken
    [00:00:00] Einstieg: Den eigenen Server absichern
    [00:01:12] Automatisierte Angriffe und Verantwortung für deinen Server
    [00:04:44] Überblick über die geplanten Schritte
    [00:07:17] Betriebssystem auswählen und Debian installieren
    [00:11:17] Erster SSH-Zugang und PuTTY unter Windows
    [00:14:55] SSH als Angriffsziel und die Rechte von root
    [00:15:48] SSH-Port verlegen und Security through Obscurity
    [00:18:20] Den SSH-Client anpassen und zusätzlicher Aufwand
    [00:20:04] Direkte Root-Anmeldung sperren
    [00:22:38] Administrative Befehle mit sudo ausführen
    [00:24:14] SSH-Schlüssel und lange Passwortsätze
    [00:28:01] Passwörter mit KeePass verwalten
    [00:29:41] Symmetrische und asymmetrische Kryptografie
    [00:31:02] Öffentlichen Schlüssel hinterlegen und privaten Schlüssel schützen
    [00:34:24] Empfohlene SSH-Einstellungen und weiterführende Anleitungen
    [00:36:25] Newsletter und Hinweis auf das Hörbuch
    Inhalt
    Betriebssystem installieren
    *
    SSH-Zugang absichern
    Port umlegen
    root-Zugang abschalten
    Pulic-Key-Authentifizierung einrichten
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    vServer bei 1blu*
    Secure Shell – Wikipedia
    Security through obscurity – Wikipedia
    Absicherung eines Debian Servers – Thomas-Krenn-Wiki
    Root Server absichern (Ubuntu 14.04) – Rechenkraft
    (Virtual)Server gegen Hacking-Attacken schützen
    Teil 2: Den Server absichern - Pro-Linux
    KeePass Password Safe
    KeeFox :: Add-ons für Firefox
    Using PuTTYgen :: WinSCP
    Remote Desktop Protocol – Wikipedia
    Zusammenfassung
    Warum du deinen Server sofort absichern solltest
    Sobald dein Server im Internet erreichbar ist, können automatisierte Skripte nach offenen Diensten suchen und versuchen, sich anzumelden. Ein übernommener Server lässt sich etwa in ein Botnetz einbinden, über das Angreifer:innen weitere Ziele attackieren. Über die IP-Adresse führen solche Aktivitäten zu deinem Anschluss beziehungsweise deinem Server zurück. Als Betreiber:in trägst du Verantwortung dafür, deinen Server abzusichern.
    Ich beginne dafür beim SSH-Zugang, über den du deinen Server aus der Ferne verwaltest. Wer hier Zugriff mit Root-Rechten erhält, kann das gesamte System verändern oder löschen.
    Betriebssystem auswählen und installieren
    Bei einem V-Server wählst du das Betriebssystem üblicherweise über die Weboberfläche deines Hosting-Anbieters aus. Für den Einstieg empfehle ich Debian, mit dem ich seit vielen Jahren auf meinem eigenen Server arbeite. Es eignet sich für einen schlanken Server, den du über die Kommandozeile bedienst. Die folgenden Hinweise beziehen sich auf Debian; grundlegende Konzepte wie Dateirechte gelten auch bei anderen Linux-Distributionen.
    Achte beim Installieren auf die Hinweise im Backend: Wenn du einen vorhandenen Server neu aufsetzt, können dessen bisherige Inhalte gelöscht werden. Nach dem Installieren erhältst du die Zugangsdaten, darunter üblicherweise ein Root-Passwort.
    Mit SSH auf den Server zugreifen
    Über SSH, die Secure Shell, öffnest du eine entfernte Kommandozeile. Deine eingegebenen Befehle laufen auf dem Server, während die Ergebnisse auf deinem Rechner erscheinen. SSH verschlüsselt die übertragenen Daten einschließlich der Zugangsdaten und arbeitet standardmäßig auf Port 22.
    Unter Windows empfehle ich den kostenlosen SSH-Client PuTTY. Darin kannst du Verbindungsprofile speichern und den verwendeten Port einstellen. Auf einem Linux-Rechner steht üblicherweise bereits ein SSH-Client für die Kommandozeile bereit.
    Für deine Prüfung als Fachinformatiker:in Anwendungsentwicklung solltest du den SSH-Standardport kennen. Ebenfalls erwähnt wird RDP auf Port 3389, über das du eine grafische Sitzung auf einem entfernten Windows-System öffnen kannst.
    Den SSH-Port verlegen
    Viele automatisierte Angriffe suchen auf Port 22 nach einem SSH-Dienst. Wenn du SSH auf einen anderen Port legst, laufen diese Standardversuche ins Leere. Anschließend musst du den neuen Port auch in PuTTY oder deinem anderen SSH-Client eintragen. Ein gespeichertes Profil erleichtert dir spätere Verbindungen.
    Dieses Vorgehen heißt Security through Obscurity, weil du den Dienst an einer weniger erwarteten Stelle erreichbar machst. Bei einem gezielten Angriff kann ein Portscan den verlegten Dienst weiterhin finden. Deshalb gehört das Verlegen des Ports zu mehreren Schritten, mit denen du SSH absicherst.
    Die direkte Root-Anmeldung sperren
    Das Linux-Konto root besitzt umfassende Rechte. Richte SSH deshalb so ein, dass du dich zunächst mit einem normalen Benutzerkonto anmeldest. Wenn du anschließend Root-Rechte brauchst, kannst du mit su das Konto wechseln und dafür das separate Root-Passwort eingeben.
    Vergib für dein Benutzerkonto und für root jeweils ein eigenes Passwort. Sollte jemand dein Benutzerpasswort erbeuten, verfügt diese Person zunächst über die Rechte dieses Kontos. Dazu kann auch gehören, deine Dateien zu lesen.
    Für die tägliche Arbeit empfehle ich ein normales Benutzerkonto. Mit sudo kannst du gezielt einzelne administrative Befehle mit erhöhten Rechten ausführen. Welche Benutzerkonten welche Befehle ausführen dürfen und ob dafür ein Passwort erforderlich ist, lässt sich konfigurieren. Für die ersten Schritte gehe ich hier vereinfacht davon aus, dass du administrative Arbeiten als root erledigst.
    SSH mit einem Schlüsselpaar einrichten
    Für deinen SSH-Login empfehle ich Public-Key-Authentifizierung. Dafür erzeugst du ein zusammengehöriges Paar aus einem öffentlichen und einem privaten Schlüssel:
    Den Public Key hinterlegst du auf dem Server. Diesen öffentlichen Schlüssel darfst du weitergeben.
    Den Private Key behältst du unter deiner Kontrolle und hinterlegst ihn in deinem SSH-Client, etwa PuTTY. Bewahre die Datei sicher auf und schütze sie zusätzlich mit einem Passwort.
    Für den Zugang muss der passende private Schlüssel vorhanden sein. Der zusätzliche Passwortschutz schützt die Schlüsseldatei auch dann, wenn beispielsweise der USB-Stick mit der Datei gestohlen wird. Richte SSH entsprechend für die Anmeldung per Schlüssel ein und schalte den Passwort-Login ab.
    Zum prüfungsrelevanten Hintergrund gehört, dass symmetrische Verfahren zum Ver- und Entschlüsseln denselben Schlüssel verwenden. Bei asymmetrischen Verfahren gehören ein öffentlicher und ein privater Schlüssel zusammen. Was mit dem öffentlichen Schlüssel verschlüsselt wurde, lässt sich mit dem zugehörigen privaten Schlüssel entschlüsseln. Für die Prüfung solltest du dich weitergehend mit diesen Verfahren beschäftigen.
    Lange und unterschiedliche Passwörter verwalten
    Für Passwörter empfehle ich deutlich mehr als zwölf Zeichen, beispielsweise etwa 20 Zeichen. Ein selbst gewählter Passwortsatz lässt sich gut merken. Achte dabei auf Groß- und Kleinschreibung sowie Satzzeichen und darauf, dass sich der Satz durch Wörterbuchangriffe schwer erraten lässt.
    Jeder Zugang braucht ein eigenes Passwort. Wenn ein mehrfach verwendetes Passwort bekannt wird, sind auch weitere Konten gefährdet.
    Ich verwende KeePass, um für jeden Zugang ein langes, zufällig erzeugtes Passwort zu speichern. Die Passwortdatenbank ist ihrerseits mit einem sicheren Passwort geschützt, das ich mir merke. Über ein passendes Browser-Plugin lassen sich die gespeicherten Zugangsdaten in Login-Felder übertragen.
    Weitere angekündigte Schritte
    Für die weiteren Teile der Reihe habe ich folgende Themen vorgesehen:
    Hilfreiche Werkzeuge installieren, die dir das Arbeiten auf dem Server erleichtern.
    Das Verzeichnis /etc versionieren, damit du geänderte Einstellungen nachvollziehen und frühere Stände wiederherstellen kannst.
    Überflüssige Programme und Dienste entfernen, um mögliche Angriffsziele zu reduzieren.
    Installierte Pakete aktualisieren und Sicherheitsupdates zeitnah einspielen.
    Die Firewall restriktiv einrichten, damit ausschließlich die vorgesehenen Dienste erreichbar sind.
    Die Shell über .bashrc und den Editor passend einstellen.
    Backups einrichten, aus denen du deinen Server wiederherstellen kannst. Dabei gehört der Unterschied zwischen Datensicherheit und Datensicherung auch zu möglichen Prüfungsfragen.
    Extern überwachen lassen, ob der Server erreichbar ist, sofern dein Hosting-Anbieter das anbietet. Bei einem Ausfall kannst du beispielsweise per E-Mail informiert werden.
    Schritt-für-Schritt-Anleitungen zum Verlegen des SSH-Ports und zum Einrichten der Schlüssel findest du in meinen Shownotes zur Episode 89. Dort sind auch Hinweise zum Erzeugen des Schlüsselpaars und zum Einrichten von PuTTY verlinkt.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:00] Herzlich Willkommen zum Anwendungsentwickler-Podcast, dem Podcast rund um die Ausbildung zum Fachinformatiker
    [0:09] für Anwendungsentwicklung. In dieser Episode geht es um die erste Absicherung deines eigenen
    [0:15] Webservers. Viel Spaß!
    [0:16] Hallo und herzlich Willkommen zur 89. Episode des Anwendungsentwickler-Podcasts. Mein Name
    [0:27] ist Stefan Macke und heute geht es weiter mit einer kleinen Episodenreihe zur Einrichtung
    [0:32] deines eigenen Webservers. Ich sage immer Webserver, aber du kannst mit dem Server natürlich
    [0:37] auch irgendwas anderes machen, Mail-Server und wie auch immer. Es geht mir eigentlich
    [0:39] um einen Server, der im Internet irgendwo steht und mit dem du irgendwelche Dinge tun
    [0:43] kannst....
    38 min
  • Der eigene Webserver (Teil 1) – Anwendungsentwickler-Podcast #88
    Warum es schon für Auszubildende sinnvoll ist, einen eigenen (Web-)Server zu betreiben, erkläre ich in der achtundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich empfehle dir als IT-Azubi einen eigenen Linux-Server, mit dem du prüfungsrelevante Themen praktisch lernst und deine eigenen Anwendungen veröffentlichst. Darauf lassen sich auch E-Mails, private Repositories und eine eigene Cloud betreiben, deren Daten du selbst verwaltest. Die genannten Linux-V-Server beginnen bei etwa 5 Euro im Monat; für den Einstieg reichen überschaubare Ressourcen. Plane Zeit ein, um dich einzuarbeiten, und kümmere dich um sichere Zugänge sowie regelmäßige Backups. Wenn du Linux erst kennenlernst, kannst du die Schritte zunächst in einer lokalen VM ausprobieren und wiederkehrende Aufgaben später mit Skripten automatisieren.
    Kapitelmarken
    [00:00:00] Eigener Webserver als Thema
    [00:03:10] Praktisch lernen mit einem eigenen Server
    [00:05:36] Eigene Dienste und selbst verwaltete Daten
    [00:08:07] E-Mail-Adresse unter deiner eigenen Domain
    [00:09:15] Websites und weitere Dienste auf deinem Server
    [00:10:13] Eigener Mailserver und private Repositories
    [00:11:12] ownCloud für Dateien und Kalender
    [00:11:52] Build-Server und Firefox-Sync
    [00:13:03] Kosten und Anbieter für den Einstieg
    [00:16:46] Passende Leistung und Speicherplatz
    [00:18:47] Verantwortung für einen öffentlich erreichbaren Server
    [00:20:29] Domain-Daten und rechtliche Pflichten
    [00:24:22] Backups selbst einrichten
    [00:25:41] Zeitaufwand und Managed Server
    [00:27:10] Debian installieren und sichere Zugänge vorbereiten
    [00:28:13] Zuerst in einer lokalen VM üben
    [00:29:23] Wiederkehrende Aufgaben mit Skripten automatisieren
    [00:30:51] Eine passende Domain auswählen
    [00:33:34] Freie Domains mit Variomedia prüfen
    [00:34:41] Fantasienamen und Zugang ohne eigene Domain
    [00:36:13] Rückblick auf Kosten und laufende Aufgaben
    [00:39:31] Eigene Websites teilen und verlinken lassen
    [00:40:01] Shownotes und Literatur für Linux
    [00:40:56] Weitere Hosting-Angebote und Domain-Prüfwerkzeug
    [00:42:07] Newsletter und Fachartikel der IT-Azubis
    [00:43:44] Ausblick auf technische Folgen
    Inhalt
    Warum sollte ich mir überhaupt einen Server aufsetzen?
    Besser kann man den professionellen Umgang mit Infrastruktur nicht lernen.
    Keine Abhängigkeiten von Dienstanbietern.
    Freiheit bei der Auswahl der Dienste.
    Plattform für eigene Projekte.
    Daten liegen in der eigenen Hoheit.
    Weil es Spaß macht.
    Weil es cool ist, eine eigene Domain (z.B. für E-Mail-Adressen) zu haben.
    Was könnte ich mit einem eigenen Server machen?
    Webserver
    Website, Blog, Wiki, RSS-Reader
    Mailserver
    Git-Repositorys
    OwnCloud
    Build-Server
    Application Server
    Firefox-Sync-Server
    Was kostet das?
    Je nach Anbieter und Leistung ab 5 Euro im Monat für einen vServer auf Linux.
    Windows kostet deutlich mehr, da Lizenzen fällig werden.
    .de-Domains gibt es ab ca. 0,50 EUR pro Monat.
    Ich empfehle 1blu*.
    Welche Leistung brauche ich?
    Hängt vom Betriebssystem ab. Linux benötigt nur wenige Ressourcen (falls keine grafische Oberfläche gewünscht ist).
    2 CPU-Kerne, 2 GB RAM, 500 GB Festplatte reichen schon.
    Mehr Leistung ist natürlich immer besser. Heute gibt es schon günstige Server mit SSDs und mehreren GB RAM.
    Welche (rechtlichen) Konsequenzen gibt es?
    Dein Name mit Anschrift steht im Impressum bzw. bei der DENIC.
    Du musst dich an den rechtlichen Rahmen halten und ggfs. Impressum und Datenschutzerklärung erstellen.
    Wenn dein Server missbraucht wird, bist du dafür haftbar.
    Du bist für alles selbst verantwortlich: Backups, Sicherheit usw.
    Mit welchem Aufwand ist zu rechnen?
    Übliche Administration: Installation, Konfiguration, Backup, Patching, Updates einspielen, evtl. Migration auf neuen Server.
    Automatisierung ist in vielen Bereichen möglich und absolut sinnvoll. Spart viel Zeit und Nerven. Aber muss erstmal eingerichtet/gescriptet werden.
    Welche Domain sollte ich registrieren?
    Kommt auf deine Ziele an. Willst du z.B. deinen Namen bekannt machen oder dich anonym bewegen?
    Empfehlung: Domainüberprüfung bei variomedia.de. Dort gibt es viele und auch "neue" TLDs zum Prüfen auf Verfügbarkeit und registrieren.
    Literaturempfehlungen
    Wer in Linux einsteigen will, der kommt um die "Linux-Bibel" von Michael Kofler* nicht herum. Es lässt eigentlich keine Wünsche offen :-)
    *(direkt beim Rheinwerk-Verlag bestellen*)
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    vServer bei 1blu*
    Das Impressum – Rechtsbelehrung Folge 3 (Jura-Podcast mit der neuen Bildersuche, Likes und der Impressumspflicht)
    Die Datenschutzerklärung – Rechtsbelehrung Folge 4 (Jura-Podcast)
    Zusammenfassung
    Was du mit einem eigenen Server lernst
    Ich unterstütze meine IT-Azubis dabei, eigene Server aufzusetzen. Wenn du selbst einen Server betreibst, beschäftigst du dich praktisch mit Linux und lernst, wie du Dienste sicher einrichtest. Dazu gehören auch DNS und die Frage, wie deine Domain auf die IP-Adresse deines Servers zeigt. Solche Themen begegnen dir als Fachinformatiker:in Anwendungsentwicklung auch in der Prüfung.
    Ein eigenes Projekt gibt dir ein konkretes Ziel beim Lernen. Sobald dein Server im Internet erreichbar ist, übernimmst du Verantwortung für ihn und musst dich mit möglichen Angriffen beschäftigen. Dabei lernst du beispielsweise, eine Firewall einzurichten und Daten aus einem Backup wiederherzustellen.
    Auf deinem Server kannst du selbst entscheiden, welche Software läuft. Auch eigene Programme lassen sich dort veröffentlichen. Deine Daten verwaltest du selbst, während du Dienste einrichtest, für die du bisher externe Anbieter:innen herangezogen hast. Ich betreibe unter anderem meine E-Mails und meine Kalender auf meiner eigenen Infrastruktur.
    Welche Dienste du betreiben kannst
    Websites und Webanwendungen: Du kannst deinen Blog oder ein Wiki veröffentlichen. Mit Tiny Tiny RSS liest du deine RSS-Feeds online. Auch eigene Webprojekte finden dort einen Platz.
    E-Mail: Mit Postfix und einem IMAP-Server richtest du eigene Postfächer ein. Du kümmerst dich dabei auch um verschlüsselte Zugänge.
    Repositories: GitLab ermöglicht dir private und öffentliche Git-Repositories, bei denen du anderen Personen gezielt Rechte gibst. Auch Subversion kommt infrage.
    Eigene Cloud: Mit ownCloud synchronisierst du Dateien zwischen deinen Geräten. Zusätzlich lassen sich Kontakte und Kalender einbinden. Ich synchronisiere darüber auch Daten mit meinem Android-Handy.
    Dienste für deine Softwareprojekte: Ein Application-Server führt deine Anwendungen aus. Mit Jenkins kannst du Projekte automatisch bauen und deployen lassen.
    Firefox-Sync: Ein eigener Sync-Server gleicht beispielsweise deine Lesezeichen zwischen verschiedenen Geräten ab.
    Eine E-Mail-Adresse unter deiner eigenen Domain kannst du langfristig behalten, auch wenn du den Anbieter wechselst. Dafür brauchst du bereits eine eigene Domain, während ein selbst betriebener Server eine zusätzliche Möglichkeit ist.
    Welche Kosten ich als Beispiele nenne
    Für einen Linux-V-Server nenne ich etwa 5 Euro pro Monat als Einstieg. Mit rund 10 Euro monatlich lässt sich auch etwas mehr Leistung einplanen. Bei Windows-Servern kommen Lizenzkosten hinzu; mein genanntes günstiges Beispiel liegt bei etwa 15 Euro monatlich.
    Für kleine V-Server empfehle ich aus meiner Erfahrung EinsBlue. Das vorgestellte Angebot kostet in den ersten sechs Monaten jeweils 1 Euro, anschließend 7,90 Euro monatlich. Daraus ergeben sich ungefähr 55 Euro für das erste Jahr. Eine .de-Domain und ein SSL-Zertifikat sind in diesem Beispiel enthalten. Nach dem ersten Jahr gelten die höheren monatlichen Kosten.
    Eine zusätzliche .de-Domain veranschlage ich mit ungefähr 50 Cent pro Monat. Die Angebote ändern sich, weshalb du beim Anbieter nach den jeweiligen Preisen und Leistungen schauen solltest.
    Meinen eigenen dedizierten Server betreibe ich bei Hetzner, weil ich dort ein eigenes Stück Hardware im Rechenzentrum bekomme, das zu meinen Anforderungen passt.
    Wie viel Leistung du brauchst
    Als grobe Richtwerte für kleinere Dienste nenne ich:
    etwa zwei CPU-Kerne, wobei auch ein Kern reichen kann,
    2 GB RAM,
    ungefähr 500 GB Speicherplatz.
    Der benötigte Speicher hängt davon ab, welche Daten du ablegen möchtest. Eine SSD kommt infrage, wenn dir schnelle Zugriffe wichtig sind und du mit weniger Speicherplatz auskommst. Für umfangreichere Java-Anwendungen mit einer Jenkins-Pipeline kann später ein größeres Serverpaket erforderlich werden.
    Welche Verantwortung du übernimmst
    Du bist als Betreiber:in dafür verantwortlich, deinen Server abzusichern und dich darum zu kümmern, was darüber geschieht. Dazu gehört, mögliche Angriffe und einen Missbrauch des Servers im Blick zu behalten.
    Bei den rechtlichen Fragen spreche ich die Angaben an, die du für eine Domain hinterlegen musst, sowie deren beschriebene öffentliche Sichtbarkeit bei der DENIC. Außerdem geht es um Impressum und Datenschutzerklärung. Ich gehe zunächst von einer kleinen privaten Website oder einem eigenen Mailserver aus. Sobald du beispielsweise Affiliate-Links einbindest, Spenden sammelst oder Dienste für andere Personen anbietest, musst du dich mit weiteren Pflichten beschäftigen. Auch ein Gewerbe kann dann zum Thema werden.
    Ich gebe dazu keine Rechtsberatung. In den Shownotes verweise ich auf Folgen des Podcasts Rechtsbelehrung mit Rechtsanwalt Dr. Schwenke, die sich mit Impressum und Datenschutzerklärung beschäftigen.
    Für deine Backups bist du ebenfalls selbst zuständig. Anbieter stellen dafür häufig einen separaten Backup-Server bereit, den du etwa über SSH oder FTP erreichst. Du musst die regelmäßigen Backups selbst einrichten, damit du deine Daten nach einem Ausfall wiederherstellen kannst.
    Wie du einsteigst und den Aufwand begrenzt
    Ich empfehle Debian Linux. Bei einem Anbieter lässt sich das Betriebssystem häufig über dessen Verwaltungsoberfläche installieren. Danach folgen sichere SSH-Zugänge mit Schlüsseln und eine Firewall.
    Wenn du Linux erst kennenlernst,...
    45 min
  • Ideen für moderne Projektpräsentationen – Anwendungsentwickler-Podcast #87
    Wie könnte eine moderne Abschlusspräsentation aussehen? Das diskutiere ich in der siebenundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Bei meinen Projektpräsentationen setze ich auf Bilder und einen persönlichen Stil, damit die fachlichen Inhalte verständlich ankommen. Für deine Abschlussprüfung eignen sich anschauliche Geschichten aus dem Projekt und passender Humor, wenn du dich damit wohlfühlst und diese Art zu präsentieren bereits geübt hast. Wähle ein Medium, das du beherrschst, und halte dich an die Vorgaben deiner IHK.
    Kapitelmarken
    [00:00:01] Moderne Projektpräsentationen
    [00:01:23] Anlass: Diskussion über die Foliengestaltung
    [00:02:05] Eigene Erfahrungen und Vorgaben der IHK
    [00:04:42] Mythen der Projektpräsentation
    [00:05:10] Fortschrittsbalken und Corporate Design
    [00:06:58] Erwartungen und Offenheit der Prüfer:innen
    [00:09:32] Entscheidungen begründen und den Vortrag strukturieren
    [00:11:01] Aufmerksamkeit und Emotionen im Prüfungsvortrag
    [00:13:32] Fachliche Inhalte und passende Bilder
    [00:15:40] Den eigenen Präsentationsstil wählen
    [00:17:54] Medium und Werkzeug sicher beherrschen
    [00:19:32] IHK-Vorgaben und Hinweise aus der Berufsschule
    [00:21:31] Mit einer Projektgeschichte einsteigen
    [00:24:57] Das Ende der Präsentation gestalten
    [00:26:02] Passenden Humor einsetzen
    [00:28:28] Technische Inhalte visuell darstellen
    [00:30:06] Eigene Fotos für einen persönlichen Bezug
    [00:33:34] Individuelle Agenda und Zwischenfolien
    [00:35:19] Persönliche Fotos und Geschichten aus dem Projekt
    [00:37:29] Gestaltungsspielraum und verbindliche Vorgaben
    [00:39:15] Presentation Zen und weitere Materialien
    [00:40:43] Buchprojekt und Newsletter
    [00:42:37] Ausblick auf weitere Angebote zur Prüfungsvorbereitung
    Inhalt
    Die guten alten Mythen der Projektpräsentation.
    Fortschrittsbalken, Corporate Design und Seitenzahlen sollten in Zeiten von Presentation Zen* als überholt gelten und Relikte der Vergangenheit sein.
    Die Mär von den "alteingesessenen" Prüfern.
    Es ist immer wieder spannend zu hören, wie viele "alte" (und damit meine ich nicht das Alter, sondern die Einstellung) Prüfer es angeblich in den IT-Berufen gibt.
    "Das haben wir schon immer so gemacht!" Nur als Begründung für wichtige Entscheidungen im Projekt lassen wir das nicht gelten...
    Prüfer sind auch nur Menschen (die unterhalten werden wollen).
    Die Projektpräsentation ist kein Zirkus.
    Es geht mir nicht darum, Witzigkeit und Oberflächlichkeit zu fordern.
    Ich möchte die Inhalte des Projekts bestmöglich transportiert bekommen.
    Der Stil muss zu dir passen.
    Verstell dich nicht für die Projektpräsentation. Das bezieht sich allerdings auch auf die "alte" Art zu präsentieren.
    Du darfst dich auch einmal etwas trauen.
    Wähle das beste Medium.
    Es geht immer um den Inhalt! Die Folien sind nur Beiwerk.
    Weder PowerPoint noch Prezi (noch Tool X) führen automatisch zu guten Präsentationen. Aber genauso wenig zu schlechten.
    Halte formale Vorgaben deiner IHK ein.
    Wenn du ein wenig recherchierst, wirst du wahrscheinlich feststellen, dass es nur wenige "harte" Vorgaben gibt.
    Frag deine Lehrer, wenn du keine Vorgaben findest.
    Oder ignoriere alles und mach dein eigenes Ding!
    Überrasche die Prüfer.
    Wähle einen spannenden/ungewohnten Einstieg in die Präsentation.
    Verzichte auf die üblichen Floskeln wie "Vielen Dank für die Aufmerksamkeit.".
    Setze gezielt Humor ein.
    Aber bitte mit Bedacht und ein wenig Intelligenz.
    Präsentiere visuell und nicht textuell.
    Wenn du ein wenig nachdenkst und experimentierst, wirst du fast alle deine Inhalte visuell darstellen und auf Text fast vollständig verzichten können.
    Gib deiner Präsentation eine persönliche Note.
    Verwende eigene Bilder anstatt Stock-Fotos. Mit den Handys von heute ist das kein Problem mehr. Alternativ verwendest du eine vernünftige Kamera*.
    Gestalte deine Agenda oder sogar alle Folien mit Bezug zu deinem Projekt.
    Zeige ein Foto von dir selbst.
    Baue sinnvolle Geschichten zum Projekt in deine Präsentation ein.
    Literaturempfehlungen
    Wie immer, wenn es um die Abschlusspräsentation geht, kann ich nur wärmstens die Lektüre von Presentation Zen* empfehlen. Niemand will mehr langweilige Textwüsten sehen!
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Mythen der Projektpräsentation (Blog-Artikelreihe)
    Ansprechende Gestaltung der Projektpräsentation – Anwendungsentwickler-Podcast #62
    Präsentation - Abschlussprojekte (Fachinformatiker.de)
    Einsatz von Prezi für die Projektpräsentation
    Weitere Infos zur ProjektpräsentationDu suchst noch mehr Tipps rund um die Projektpräsentation? Dann schau doch mal in diese Artikel- und Podcast-Kategorie: Alle Artikel rund um die Projektpräsentation.Und wenn du dich für meinen Newsletter einträgst, kannst du dir jetzt sofort meine Checkliste für die Projektpräsentation herunterladen.Jetzt anmelden!
    Zusammenfassung
    Was bei deiner Projektpräsentation zählt
    Aus meiner Praxis als Ausbilder und Prüfer stammen die folgenden Empfehlungen für deine Abschlussprüfung als Fachinformatiker:in Anwendungsentwicklung. Meine eigenen IT-Azubis präsentieren nach diesem Ansatz; zwei ihrer Präsentationen wurden zum Zeitpunkt der Aufnahme mit 100 Prozent bewertet. Welche Anforderungen für dich gelten, erfährst du bei deiner IHK und deinem Prüfungsausschuss.
    Bei der Bewertung haben die fachlichen Inhalte das größte Gewicht. Dein Projekt muss vollständig und korrekt nachvollziehbar werden, wobei auch deine Methodik erkennbar sein soll. Wie du etwas zeigst, richtet sich danach, wie die Prüfer:innen den jeweiligen Inhalt am besten verstehen können.
    Vorgaben vorab klären
    Erkundige dich vor dem Gestalten deiner Präsentation nach den Regeln deiner IHK. Viele IHKs lassen bei den Folien mehr Freiraum als bei der Projektdokumentation, für die etwa Schriftgrößen und Zeilenabstände vorgegeben werden. Verbindliche Vorlagen oder konkrete Anforderungen hältst du ein.
    Bei offenen Fragen kannst du deine Berufsschullehrer:innen ansprechen. Im Prüfungsausschuss sind Berufsschullehrer:innen vertreten, sodass du dort Hinweise zu den Erwartungen deines Ausschusses bekommen kannst. Wer von verbindlichen Vorgaben abweicht, trägt das Risiko für die eigene Note. Dazu rate ich dir ausdrücklich nicht.
    Platz für deine Inhalte schaffen
    Auf meinen Folien verzichte ich auf eine ständig eingeblendete Agenda und Fortschrittsbalken. Solche Elemente beanspruchen Fläche, während ihre kleine Schrift oft schwer lesbar ist. Auch ein Firmenlogo auf jeder Folie lenkt Aufmerksamkeit vom Projektinhalt ab.
    Sofern deine Vorgaben dir diesen Freiraum lassen, kannst du wiederkehrende Gestaltungselemente weglassen:
    Firmenlogos lassen sich auf der Startfolie oder am Ende platzieren.
    Foliennummern haben für meinen Ausschuss keinen entscheidenden Wert, wenn die Inhalte verständlich und fachlich richtig ankommen.
    Zwischenfolien mit einer Agenda zeigen den roten Faden und den aktuellen Projektabschnitt.
    Große Grafiken bekommen genügend Platz, damit die Prüfer:innen Details erkennen können.
    Eine passende Begrüßung und ein sinnvoller Einstieg gehören weiterhin zum Vortrag. Durch die Agenda und nachvollziehbare Übergänge bleibt erkennbar, wie dein Projekt aufgebaut ist.
    Prüfer:innen ansprechen
    In den Ausschüssen, die ich kenne, engagieren sich Praktiker:innen und Lehrer:innen ehrenamtlich. Sie möchten junge Menschen fördern und bleiben fachlich auf dem Laufenden. Bei Projekten erwarten sie begründete Entscheidungen: Dass ein Unternehmen beispielsweise immer Java verwendet, reicht als fachliche Begründung allein nicht aus. Auch bei der Präsentation gehört für mich dazu, durchdacht vorzugehen.
    Nach mehreren Vorträgen an einem Prüfungstag kann eine ansprechende Präsentation Aufmerksamkeit wecken. Die Prüfer:innen müssen jede Leistung objektiv bewerten, während Bilder oder eine direkte Ansprache den Vortrag angenehmer machen können. Sachliche Projektinhalte lassen sich mit Emotionen und dosiertem Humor vermitteln.
    Ein Yoda-Bild eignet sich beispielsweise, um eine:n erfahrene:n Entwickler:in darzustellen, mit dem oder der du ein Code-Review durchgeführt hast. Voraussetzung ist, dass das Bild zum Inhalt passt und die Anspielung für dein Publikum verständlich ist. Bei Memes oder Jugendsprachwitz besteht das Risiko, dass die Prüfer:innen den Bezug nicht verstehen. Selbstironie über einen umständlichen Papierprozess im eigenen Unternehmen bietet einen nachvollziehbaren Anlass für Humor.
    Deinen Stil und dein Werkzeug beherrschen
    Wähle eine Art zu präsentieren, mit der du dich wohlfühlst und die du bereits geübt hast. Wenn du zurückhaltend auftrittst, darf dein Vortrag dazu passen. Ein ungewohnter Stil, den du erstmals für die Abschlussprüfung ausprobierst, erschwert es dir, bei Problemen sicher zu reagieren.
    Für dein Werkzeug gilt dasselbe. PowerPoint kommt ebenso infrage wie Prezi oder Reveal.js. Auch Live-Coding, ein Flipchart und ausgedruckte Codeausschnitte sind mögliche Formen. Entscheidend ist, ob das Medium zu deinen Inhalten passt und du bei technischen Schwierigkeiten damit umgehen kannst.
    Einstieg und Ende bewusst gestalten
    Mit einer kurzen Geschichte über das Ausgangsproblem kannst du direkt ins Projekt einführen. Beschreibe beispielsweise, wie im Unternehmen große Excel-Tabellen ausgedruckt und von Hand bearbeitet wurden und welche Webanwendung du dafür entwickelt hast. Darin lassen sich das Projektziel und der Umfang bereits vermitteln. Anschließend stellst du dich und dein Unternehmen vor.
    Für die ersten 30 Sekunden verweise ich auf eine Untersuchung, nach der Zuhörer:innen früh entscheiden, ob sie einem Vortrag weiter folgen möchten. In der Bewertungsmatrix meines Ausschusses wird ein sinnvoller Einstieg verlangt; dessen konkrete Form kannst du gestalten.
    Auch für die letzte Folie eignet sich ein Bild mit Bezug zum Projekt. Die Einladung zu Fragen kannst du mündlich aussprechen. Anfang und Ende bleiben besonders in Erinnerung.
    Technische Inhalte anschaulich zeigen
    ...
    44 min
  • Das ISO/OSI-Modell (Teil 4) – Anwendungsentwickler-Podcast #86
    Wir beenden das ISO/OSI-Modell mit den letzten drei Schichten in der sechsundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich gehe mit dir die anwendungsorientierten Schichten 5 bis 7 des ISO-OSI-Modells durch und ordne bekannte Netzwerkprotokolle ein. Die Sitzungsschicht verbindet zusammengehörige Anfragen und Antworten zu einem Dialog, während die Darstellungsschicht dafür sorgt, dass beteiligte Systeme die übertragenen Daten verstehen. Auf der Anwendungsschicht erhalten Daten und Befehle ihre Bedeutung für das jeweilige Protokoll. Anhand einer E-Mail lässt sich nachvollziehen, wie alle sieben Schichten zusammenarbeiten und welche Aufgaben sie beim Übertragen übernehmen.
    Kapitelmarken
    [00:00:00] Begrüßung und Abschluss der Reihe zum ISO-OSI-Modell
    [00:01:48] Transportorientierte und anwendungsorientierte Schichten
    [00:03:12] Schicht 5: Sitzungsschicht und zusammengehörige Anfragen
    [00:05:20] Warenkorb als Beispiel und Websessions auf Anwendungsebene
    [00:06:38] Wiederaufsetzpunkte bei unterbrochenen Verbindungen
    [00:07:36] Schichtübergreifende Komponenten und RPC
    [00:09:02] Schicht 6: Darstellungsschicht und Syntax der Daten
    [00:10:59] Zeichenkodierung, Verschlüsseln und Komprimieren
    [00:13:31] Zeilenenden zwischen Windows und Linux
    [00:14:18] Datenstrukturen mit ASN.1 beschreiben
    [00:16:12] Schicht 7: Anwendungsschicht als Einstiegspunkt für Programme
    [00:18:10] Semantik und Bedeutung von Befehlen
    [00:19:27] Firewalls auf Anwendungsebene
    [00:20:41] Proxyserver: Stellvertreter, Cache und Inhaltsfilter
    [00:22:17] Anfragen mit einem Loadbalancer verteilen
    [00:23:14] Gateways zwischen unterschiedlichen Technologien
    [00:25:21] Bekannte Protokolle auf Anwendungsebene
    [00:26:52] Rückblick auf die Schichten 5 bis 7
    [00:29:36] Eine E-Mail durch alle sieben OSI-Schichten
    [00:32:31] Prüfungswissen und Fehlersuche in der Praxis
    [00:33:49] Feedback, Begleitmaterial und Podcastpause
    Inhalt
    5: Sitzungsschicht (Session Layer)
    Wie wird eine dauerhafte Kommunikation von Netzwerkteilnehmern aus unterschiedlichen Anfragen und Antworten (Dialog) ermöglicht?
    Einheit: Daten
    Zusätzliche Informationen: Zuordnung von Anfragen und Antworten zueinander, Wiederaufsetzpunkte bei Ausfall der Kommunikation
    Hardware: siehe Anwendungsschicht
    Protokolle: RPC, siehe Anwendungsschicht
    6: Darstellungsschicht (Presentation Layer)
    Wie können Daten unabhängig von der konkreten Repräsentation auf den beteiligten Systemen verständlich ausgetauscht werden?
    Einheit: Daten
    Zusätzliche Informationen: Syntax der Daten, Encoding, Verschlüsselung, Kompression
    Hardware: siehe Anwendungsschicht
    Protokolle: ASN.1, siehe Anwendungsschicht
    7: Anwendungsschicht (Application Layer)
    Wie können anwendungsspezifische Daten und Befehle ein- und ausgegeben werden?
    Einheit: Daten
    Zusätzliche Informationen: Semantik der Daten
    Hardware: Gateway, Load Balancer, Proxy, Firewall
    Protokolle: HTTP, FTP, SMTP
    Literaturempfehlungen
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    OSI-Modell
    Das OSI-Referenzmodell
    Zusammenfassung
    Die oberen Schichten des ISO-OSI-Modells
    Zum Abschluss meiner Reihe zum ISO-OSI-Modell gehe ich mit dir die anwendungsorientierten Schichten 5 bis 7 durch. Als IT-Azubi zum/zur Fachinformatiker:in Anwendungsentwicklung brauchst du dieses Wissen für die Prüfung und für die Fehlersuche im Alltag.
    Die Schichten 1 bis 4 übernehmen den Transport. Darauf bauen die oberen Schichten auf, deren übertragene Einheit jeweils Daten heißt. Protokolle und Netzwerkkomponenten können Aufgaben auf mehreren dieser oberen Schichten übernehmen, weshalb sich ihre Funktionen teilweise über die Schichtgrenzen erstrecken.
    Schicht 5: Sitzungsschicht, Session Layer
    Wenn mehrere Anfragen zusammengehören, muss die Kommunikation ihren Zusammenhang erhalten. Die Sitzungsschicht ordnet Anfragen und Antworten einander zu, sodass zwischen den beteiligten Systemen ein Dialog entsteht. Dabei greift sie auf die Dienste der Transportschicht zurück.
    Über Wiederaufsetzpunkte lässt sich eine unterbrochene Kommunikation fortführen. Wird beispielsweise eine große Datei übertragen und die Verbindung bricht nach einem bereits übertragenen Teil ab, kann der Austausch an einer passenden Stelle weitergehen.
    Am Warenkorb eines Onlineshops lässt sich das Prinzip zusammengehöriger Anfragen veranschaulichen: Wenn du einen Artikel hineinlegst und später den Warenkorb aufrufst, muss der Server beide Vorgänge miteinander verbinden. Solche Websessions werden auf Anwendungsebene verwaltet, etwa über eine Session-ID und serverseitig gespeicherte Daten. Die Sitzungsschicht behandelt den Zusammenhang auf einer technischeren Ebene.
    Als Beispiel für diese Schicht dient RPC, Remote Procedure Call. Wenn auf einem entfernten Rechner eine Funktion aufgerufen wird, müssen die ausgetauschten Daten dem Aufruf zugeordnet werden können.
    Schicht 6: Darstellungsschicht, Presentation Layer
    Damit unterschiedliche Systeme dieselben Daten verstehen, brauchen sie gemeinsame Regeln für deren Darstellung. Auf Schicht 6 geht es um die Syntax, also darum, wie Daten aufgebaut und dargestellt werden.
    Zeichenkodierung: Zeichensätze wie ASCII und Unicode müssen beim Austausch berücksichtigt und gegebenenfalls umgewandelt werden.
    Verschlüsselte Daten: Auf der Gegenseite müssen die Daten entschlüsselt werden, damit sie gelesen werden können. Verschlüsseln dient der Geheimhaltung.
    Komprimierte Daten: Vor dem Darstellen werden die Daten wieder entpackt. Komprimieren spart Speicherplatz und verringert die zu übertragende Datenmenge.
    Zeilenenden: Beim Austausch von Textdateien zwischen Windows und Linux kann eine Anpassung nötig sein. Windows verwendet Carriage Return und Line Feed, Linux verwendet Line Feed.
    Mit ASN.1, Abstract Syntax Notation One, lassen sich Datenstrukturen unabhängig von einem konkreten Endsystem beschreiben. Die Beschreibungssprache kennt beispielsweise Boolean und Integer. Ihre Aufgabe lässt sich mit XML vergleichen, wobei ASN.1 eine eigene Syntax hat. Über gemeinsame Regeln können beteiligte Systeme die übertragenen Daten wieder in ihre jeweilige Darstellung zurückführen.
    Schicht 7: Anwendungsschicht, Application Layer
    Ein E-Mail-Programm wie Thunderbird greift auf die Anwendungsschicht zu, um mit einem Mailserver Befehle auszutauschen. Diese Schicht bildet den Einstiegspunkt für Programme, die über das Netzwerk kommunizieren. Die darunterliegenden Schichten übernehmen die weiteren Aufgaben des Austauschs.
    Zur Form der Daten kommt hier ihre Semantik hinzu: Welche Bedeutung hat ein Befehl innerhalb des Protokolls, und passt er zum jeweiligen Ablauf? Bei SMTP führen bestimmte Befehle dazu, dass eine E-Mail auf dem Mailserver angelegt wird.
    Zu den bekannten Protokollen auf Anwendungsebene gehören HTTP und FTP sowie SSH, SMTP, IMAP und POP3. HTTP definiert beispielsweise die Methoden GET, POST, PUT, DELETE, HEAD und PATCH. Diese Protokolle solltest du für die Prüfung kennen. Ihre Funktionen können auch Aufgaben der Sitzungsschicht und der Darstellungsschicht umfassen.
    Komponenten auf den oberen Schichten
    Je nachdem, welche Daten eine Komponente auswertet und welche Aufgaben sie übernimmt, arbeitet sie auf unterschiedlichen Ebenen des Modells.
    Firewall: Eine Firewall auf Anwendungsebene kann übertragene Inhalte prüfen und gefährliche Daten erkennen. Dafür muss sie die Bedeutung der Daten verstehen können.
    Proxy: Er stellt stellvertretend Anfragen und nimmt Antworten entgegen. Wenn er Antworten zwischenspeichert, kann er wiederholte Anfragen aus seinem Cache bedienen. Außerdem kann er Inhalte prüfen oder bestimmte URLs sperren.
    Loadbalancer: Er verteilt Anfragen auf mehrere Server. Auf höheren Schichten kann er anhand einer URL entscheiden, an welchen Server eine Anfrage geht, oder verschiedene Protokolle unterschiedlich behandeln.
    Gateway: Es übersetzt zwischen unterschiedlichen Technologien oder Protokollen. Ein SMS-Gateway kann beispielsweise eine per E-Mail eingehende Nachricht als SMS weitergeben. Ein Fax-Gateway kann empfangene Faxe per E-Mail ins interne Netzwerk schicken.
    Das in der IP-Konfiguration angegebene Standard-Gateway bezeichnet den Router, an den Pakete für Ziele außerhalb des eigenen Netzwerks geschickt werden. Ein Gateway auf den oberen Schichten übernimmt das Übersetzen zwischen Technologien.
    Eine E-Mail durch alle sieben Schichten
    Am Beispiel einer versendeten E-Mail gehe ich den Weg von oben nach unten durch:
    Anwendungsschicht: Das E-Mail-Programm tauscht anwendungsspezifische SMTP-Befehle mit dem Mailserver aus.
    Darstellungsschicht: Sie regelt, wie die Daten dargestellt werden, und berücksichtigt dabei etwa die Zeichenkodierung oder eine verschlüsselte Verbindung.
    Sitzungsschicht: Zusammengehörige Anfragen werden miteinander in Beziehung gesetzt.
    Transportschicht: TCP sorgt dafür, dass die Segmente vollständig und in der richtigen Reihenfolge ankommen und wieder zusammengesetzt werden können. Ports gehören zu dieser Schicht.
    Vermittlungsschicht: IP-Adressen bezeichnen logische Ziele. Router leiten die Pakete durch die beteiligten Netzwerke weiter.
    Sicherungsschicht: Hier werden Frames übertragen und MAC-Adressen herangezogen. Ein Switch kann darüber entscheiden, an welchem Anschluss das Ziel erreichbar ist.
    Bitübertragungsschicht: Die Bits werden über das jeweilige Medium übertragen, beispielsweise über Kabel oder WLAN.
    Für die Prüfung und die Fehlersuche
    Wenn du untersuchst, weshalb ein Ping keine Antwort liefert, hilft dir das Modell dabei, die beteiligten Vorgänge einzuordnen. Bekannte Protokolle aus deinem Alltag lassen sich ihren Aufgaben im Modell zuordnen, wodurch du dir die Schichten leichter merken kannst.
    Begleitmaterial und Podcastpause
    In den Shownotes zu Episode 86 habe ich weiterführende Wikipedia-Artikel verlinkt. Auch ein IT-Handbuch eignet sich, um die behandelten Inhalte nachzulesen. Nach dieser letzten Episode des Podcastjahres 2016 ist die nächste Folge für den 9. Januar 2017 angekündigt....
    36 min
  • Das ISO/OSI-Modell (Teil 3) – Anwendungsentwickler-Podcast #85
    Weiter geht es mit der Schicht 4, der Transportschicht, in Teil 3 meiner Reihe zum ISO/OSI-Modell in der fünfundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Auf OSI-Schicht 4, der Transportschicht, erreiche ich über Ports einen bestimmten Dienst auf einem Rechner. TCP überträgt Daten zuverlässig und stellt ihre Reihenfolge mithilfe von Sequenznummern wieder her; eine Verbindung beginnt mit dem Three-Way-Handshake aus SYN, SYN-ACK und ACK. UDP arbeitet verbindungslos und mit weniger Steuerdaten, etwa bei digitaler Telefonie. Für deine Prüfung und beim Einrichten einer Firewall brauchst du die gängigen Ports, weil darüber einzelne Dienste freigegeben oder gesperrt werden können.
    Kapitelmarken
    [00:00:01] Einstieg in die Transportschicht des OSI-Modells
    [00:01:14] Aufgaben, Segmente und Datagramme
    [00:03:11] Ports und Ende-zu-Ende-Kommunikation
    [00:04:51] Standardports und Schreibweise
    [00:06:52] Ports in Prüfung und Praxis
    [00:07:31] Gängige Protokolle und ihre Ports
    [00:08:08] E-Mails mit POP3 und IMAP abrufen
    [00:09:13] HTTPS, Windows-Freigaben und die Datei services
    [00:11:00] Eigenschaften von TCP und UDP
    [00:12:46] UDP für Telefonie und Streaming
    [00:13:36] Steuerdaten in Segmenten und Datagrammen
    [00:14:25] Paketreihenfolge und TCP-Sequenznummern
    [00:16:15] Firewalls als Paketfilter auf Schicht 3 und 4
    [00:18:38] Antworten erkennen und gefälschte Pakete abwehren
    [00:20:16] TCP-Verbindungen mit dem Three-Way-Handshake aufbauen
    [00:24:27] SYN und ACK als Flags im TCP-Header
    [00:26:01] Verbindungen mit FIN beenden und TCP-Overhead
    [00:27:26] Rückblick und Ausblick auf die weiteren OSI-Schichten
    [00:30:44] Prüfungsvorbereitung und weiterführende Quellen
    [00:31:22] Newsletter, Social Media und Kontakt
    Inhalt
    4: Transportschicht (Transport Layer)
    Wie kommen auch große Datenmengen vollständig und in der korrekten Reihenfolge beim richtigen Dienst des Empfängers an?
    Einheit: Segment bzw. Datagramm
    Zusätzliche Informationen: Ports, Ende-zu-Ende-Kommunikation möglich
    Hardware: Firewall, siehe Anwendungsschicht
    Protokolle: TCP, UDP
    Sonstiges
    Three-Way-Handshake: SYN - SYN/ACK - ACK
    Wichtige Protokolle und Ports: Telnet (23), FTP (21), SSH (22), SMTP (25), HTTP (80), POP3 (110), IMAP (143), SMB (137-139), HTTPS (443), Doom (666) ;-)
    Literaturempfehlungen
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    OSI-Modell
    Das OSI-Referenzmodell
    Zusammenfassung
    Dienste über Ports erreichen
    Wenn ich auf einem Server einen Webdienst und einen Maildienst betreibe, können beide über dieselbe IP-Adresse erreichbar sein. Jeder Dienst lauscht auf einem eigenen Port, sodass du gezielt mit dem gewünschten Programm kommunizieren kannst. Diese Kommunikation zwischen Diensten auf dem sendenden und empfangenden Rechner heißt Ende-zu-Ende-Kommunikation.
    Die Transportschicht, auf Englisch Transport Layer, ist Schicht 4 des OSI-Modells. Sie setzt auf Schicht 3 auf, auf der IP für die Adressen und das Routing zuständig ist. Auf Schicht 4 kommen Quellport und Zielport hinzu. Die beiden zentralen Protokolle heißen TCP und UDP. Bei TCP heißt die Dateneinheit Segment, bei UDP Datagramm.
    Ein Port wird mit 16 Bit dargestellt, wodurch 65.536 mögliche Werte entstehen. Bei einer IPv4-Adresse kannst du ihn mit einem Doppelpunkt anhängen, etwa 1.2.3.4:80. Für viele Dienste gibt es festgelegte Standardports, die als Well-Known Ports bekannt sind. Wenn ein Webdienst auf einem abweichenden Port läuft, musst du diesen in der URL angeben.
    Ports für deine Prüfung und die Praxis
    In meinen Lernzielkontrollen frage ich gängige Ports ab, weil du sie auch bei praktischen Prüfungsaufgaben brauchst. Sollst du beispielsweise HTTP durch eine Firewall lassen, musst du den zugehörigen Port kennen.
    | Port | Protokoll oder Dienst | Wofür du ihn brauchst |
    | --- | --- | --- |
    | 21 | FTP | Dateien übertragen |
    | 22 | SSH | Eine entfernte Verbindung zu einem Server herstellen |
    | 25 | SMTP | E-Mails versenden beziehungsweise an einen Mailserver übermitteln |
    | 53 | DNS | Namen in IP-Adressen auflösen und umgekehrt |
    | 80 | HTTP | Webseiten abrufen |
    | 110 | POP3 | E-Mails vom Server herunterladen |
    | 143 | IMAP | Auf E-Mails zugreifen, die auf dem Server verbleiben |
    | 443 | HTTPS | Webseiten verschlüsselt abrufen |
    | 137 bis 139 | Windows-Freigaben | Auf Freigaben zugreifen, etwa mit Samba |
    Mit IMAP bleiben die E-Mails auf dem Server verfügbar, sodass du sie von deinem Laptop und deinem Handy aus lesen kannst. Bei einer URL mit https:// verwendet der Browser automatisch Port 443.
    Die Datei services enthält Zuordnungen zwischen Ports und Diensten. Dort findest du auch Port 666, den id Software für das Netzwerkspiel Doom reserviert hat.
    Daten mit TCP übertragen
    Wenn ich eine TCP-Verbindung zu einem Server aufbaue, kann ich darüber Daten senden und Antworten empfangen. TCP, ausgeschrieben Transmission Control Protocol, arbeitet verbindungsorientiert und sorgt dafür, dass die übertragenen Daten vollständig und in der richtigen Reihenfolge bereitstehen. Fehlende Daten können erneut angefordert werden.
    IP-Pakete können unterwegs unterschiedliche Routen nehmen. Dadurch kann ein später abgeschicktes Paket früher eintreffen. Im TCP-Header stehen Sequenznummern, mit denen der empfangende Rechner die Reihenfolge wiederherstellen und fehlende Daten erkennen kann. Diese Nummern werden entsprechend der übertragenen Nutzdaten weitergezählt.
    Die Steuerdaten im Header und die zusätzlichen Nachrichten beim Aufbauen einer Verbindung verursachen Overhead. TCP kommt zum Einsatz, wenn die Daten zuverlässig übertragen werden sollen.
    Datagramme mit UDP senden
    Bei einem digitalen Telefongespräch möchte ich die Sprache ohne lange Wartezeiten übertragen. Erneut gesendete Daten und das Warten auf fehlende Teile können den Gesprächsfluss verzögern. Für solche Anwendungen wird UDP, das User Datagram Protocol, eingesetzt; als weiteres Beispiel werden Streamingdienste genannt.
    UDP arbeitet verbindungslos und mit wenigen Steuerdaten. Das Protokoll garantiert weder, dass sämtliche Daten eintreffen, noch deren Reihenfolge. Falls eine Anwendung diese Eigenschaften braucht, muss sie selbst dafür sorgen. Ein UDP-Datagramm enthält die Nutzdaten und die Ports, mit denen die beteiligten Dienste angesprochen werden.
    Eine TCP-Verbindung aufbauen
    Bevor ich über TCP kommuniziere, wird die Verbindung mit dem Three-Way-Handshake hergestellt:
    Der Client sendet SYN an den Server. SYN steht für Synchronize.
    Der Server antwortet mit SYN-ACK, um die Anfrage zu bestätigen und sich ebenfalls abzugleichen.
    Der Client bestätigt diese Antwort mit ACK. Die Abkürzung steht für Acknowledgement.
    Die letzte Nachricht bestätigt dem Server, dass seine Antwort den Client erreicht hat. Auch beim Aufbauen einer Verbindung können Pakete verloren gehen.
    SYN und ACK sind Flags im TCP-Header, die als einzelne Bits gesetzt werden. Bei SYN-ACK sind beide Bits gesetzt. Das FIN-Flag dient dazu, eine Verbindung zu schließen. Auch beim Beenden wird durch Nachrichten und Bestätigungen dafür gesorgt, dass die Gegenseite davon erfährt. Den genauen Aufbau des Headers kannst du in einem Buch oder einem passenden Artikel nachlesen.
    Netzwerkverkehr mit einer Firewall filtern
    Wenn ich einen öffentlich erreichbaren Webserver betreibe, kann ich eingehenden HTTP-Verkehr auf Port 80 erlauben. Für einen Mailserver kann ich SMTP auf Port 25 freigeben. Solche Regeln lassen sich über die IP-Adressen und Ports festlegen.
    Eine Firewall kann als Software oder Hardware eingehenden und ausgehenden Netzwerkverkehr filtern. Ein einfacher Paketfilter prüft die Quelladresse und die Zieladresse anhand vorgegebener Regeln. Damit arbeitet er auf Schicht 3. Sobald Ports in die Entscheidung einfließen, bezieht er Schicht 4 ein. Gesperrte Pakete werden beispielsweise verworfen, sodass sie die andere Seite nicht erreichen.
    Rufe ich aus meinem Netzwerk eine Webseite auf, muss die Antwort des Webservers wieder hineingelassen werden. Eine Firewall kann sich dazu merken, welche Kommunikation von innen begonnen wurde, und eingehende Antworten zuordnen. Ein:e Angreifer:in kann Pakete fälschen, damit sie wie Antworten aussehen. Die Firewall muss prüfen, ob sie zu einer erlaubten Anfrage gehören.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:01] Herzlich Willkommen zum Anwendungsentwickler-Podcast, dem Podcast rund um die Ausbildung zum Fachinformatiker
    [0:08] für Anwendungsentwicklung. In dieser Episode geht es weiter mit Schicht 4 des OSI-Modells. Viel Spaß!
    [0:20] Hallo und herzlich Willkommen zur 85. Episode des Anwendungsentwickler-Podcasts.
    [0:27] Mein Name ist Stefan Macke und heute geht es ohne groß umzuschweifen direkt weiter mit dem ISO-OSI-Modell,
    [0:35] was wir bei der letzten Episode letzte Woche verlassen haben auf Schicht 3.
    [0:41] Das war die Schicht, wo wir zum ersten Mal mit dem IP-Protokoll in Berührung gekommen sind,
    [0:46] wo wir also logische Adressen jetzt nutzen können, um unsere Ziele in unserem Netzwerk erreichen zu können.
    [0:53] Und diese Woche setzen wir direkt auf der Schicht 3 auf mit Schicht 4, und zwar der Transportschicht.
    [0:59] Diesmal auf Englisch auch passenderweise Transport Layer, da muss man sich jetzt also nicht wieder drei verschiedene oder zwei immer nur Begriffe merken,
    [1:06] sondern Transport Layer und Transportschicht, das kann man ja nun wirklich 1 zu 1 übersetzen.
    [1:10] Okay, auf jeden Fall, was passiert in dieser Schicht 4 jetzt?
    [1:14] Ich habe das mal so ein bisschen überschrieben mit, wie kommen auch große Datenmengen vollständig
    [1:19] und in der korrekten Reihenfolge beim richtigen Dienst des Empfängers an.
    [1:23] Da ist jetzt schon einiges drin, was wir vielleicht einmal durchgehen sollten.
    [1:27] Wir fangen aber, wie bei den anderen Schichten auch, nochmal einmal mit der Einheit an, mit der wir hier arbeiten.
    [1:33] Und das sind jetzt gleich zwei verschiedene, die da möglich sind auf der Schicht 4,
    ...
    34 min
  • Das ISO/OSI-Modell (Teil 2) – Anwendungsentwickler-Podcast #84
    Die Schichten 2 und 3 (Sicherungs- und Vermittlungsschicht) des ISO/OSI-Modells sind das Thema der vierundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich gehe mit dir die Sicherungsschicht und die Vermittlungsschicht des ISO-OSI-Modells durch, deren Begriffe und Protokolle für deine IT-Prüfung relevant sind. Auf Schicht 2 enthalten Frames die MAC-Adressen der beteiligten Geräte sowie eine Prüfsumme, mit der sich Übertragungsfehler erkennen lassen. Schicht 3 ergänzt logische IP-Adressen, damit Router Pakete über Netzwerkgrenzen hinweg zum Ziel weiterleiten können. Dazu gehören auch CSMA/CD, das den Umgang mit Kollisionen regelt, und ARP, mit dem sich die MAC-Adresse zu einer IP-Adresse ermitteln lässt.
    Kapitelmarken
    [00:00:20] Einstieg und Prüfungsrelevanz
    [00:01:17] Aufgaben der Sicherungsschicht
    [00:01:58] MAC und LLC als Unterschichten
    [00:02:59] Aufbau und Eigenschaften von MAC-Adressen
    [00:05:09] Frames und Quell- und Zieladressen
    [00:06:31] Header, Trailer und Prüfsummen
    [00:08:33] Bridges und ihre Aufgaben
    [00:10:44] Switches und MAC-Adresstabellen
    [00:12:29] WLAN-Access-Points
    [00:14:04] Ethernet und IEEE 802.11
    [00:15:08] CSMA/CD und der Umgang mit Kollisionen
    [00:18:23] ARP und die Zuordnung von IP- und MAC-Adressen
    [00:19:33] Vermittlungsschicht und logische Adressen
    [00:22:31] Routing und Pakete
    [00:25:03] Router verbinden Netzwerke
    [00:28:35] IP und ICMP: Erreichbarkeit mit Ping prüfen
    [00:29:49] IP als Grundlage des Internets und IPv6
    [00:30:58] Rückblick auf die OSI-Schichten 2 und 3
    [00:33:06] Shownotes und IT-Handbuch für die Prüfung
    [00:34:36] Ausblick und Newsletter
    [00:35:40] Fachliches Feedback und Kommentare
    Inhalt
    Auf den beiden Schichten arbeiten viele bekannte Hardwaregeräte und Protokolle, die auch für die Abschlussprüfung hochgradig relevant sind.
    2: Sicherungsschicht (Data Link Layer)
    Wie kommen die Daten sicher (vollständig und fehlerfrei) beim korrekten Empfänger (physikalische Zieladresse) an? Die Schicht ist unterteilt in MAC und LLC.
    Einheit: Frame
    Zusätzliche Informationen: physikalische Adressen
    Hardware: Bridge, Switch, Wireless Access Point
    Protokolle: Ethernet, CSMA/CD, IEEE 802.11 (WLAN), ARP
    3: Vermittlungsschicht (Network Layer)
    Wie kommen die Daten auch über Netzwerkgrenzen hinweg beim korrekten Empfänger (logische Zieladresse) an?
    Einheit: Paket
    Zusätzliche Informationen: Logische Adressen
    Hardware: Router
    Protokolle: IP, ICMP
    Literaturempfehlungen
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    OSI-Modell
    Das OSI-Referenzmodell
    Zusammenfassung
    Schicht 2: Sicherungsschicht
    Nachdem die Bitübertragungsschicht die physikalische Verbindung bereitstellt, geht es auf der Sicherungsschicht, englisch Data Link Layer, darum, Daten an das richtige Gerät zu schicken und Übertragungsfehler zu erkennen. Ich gehe mit dir die dazugehörigen Adressen und Verfahren durch, die du als IT-Azubi für deine Prüfung kennen solltest.
    Die Sicherungsschicht hat zwei Unterschichten:
    MAC: Media Access Control, die untere Unterschicht.
    LLC: Logical Link Control, die darüberliegende Unterschicht.
    MAC-Adressen
    Eine MAC-Adresse ist die physikalische Adresse einer Netzwerkkarte. Sie ist 48 Bit lang und wird meistens hexadezimal geschrieben, wobei jeweils zwei Ziffern durch Doppelpunkte oder Bindestriche getrennt werden.
    Die ersten 24 Bit kennzeichnen den Hersteller. Mit den übrigen 24 Bit vergibt dieser individuelle Adressen für seine Netzwerkkarten. Pro Herstellerpräfix stehen damit ungefähr 16 Millionen Kombinationen zur Verfügung; große Hersteller können mehrere Präfixe haben.
    Die Adresse ist normalerweise an die Hardware gebunden. Sie lässt sich allerdings verändern oder nachbilden, etwa bei virtuellen Maschinen.
    Frames und Prüfsummen
    Auf Schicht 2 heißt die Dateneinheit Frame. Darin stehen die MAC-Adressen des sendenden und des empfangenden Geräts zusammen mit den eigentlichen Nutzdaten.
    Zusätzliche Angaben vor den Nutzdaten heißen Header, Angaben dahinter Trailer. Ein Ethernet-Frame kann nach dem hier behandelten Standard maximal 1518 Byte umfassen, von denen 18 Byte für Header und Trailer vorgesehen sind.
    Im Trailer steht eine Prüfsumme, die aus den übertragenen Daten berechnet wird. Das empfangende Gerät berechnet sie erneut und vergleicht das Ergebnis mit dem mitgeschickten Wert. So lassen sich Fehler beim Übertragen erkennen.
    Geräte auf Schicht 2
    Eine Bridge verbindet Netzwerkbereiche innerhalb eines lokalen Netzsegments. Dabei können unterschiedliche Netzwerktechnologien beteiligt sein, etwa Ethernet und Token Ring. Als Beispiel dient eine Laserbridge, die räumlich getrennte Gebäude verbindet.
    Ein Switch lernt aus dem Datenverkehr, welche MAC-Adresse an welchem Port erreichbar ist, und hält diese Zuordnung in einer Tabelle fest. Kennt er das Ziel, schickt er den Frame an den passenden Port weiter. Bei einem unbekannten Ziel verteilt er die Daten zunächst über seine Ports.
    Ein WLAN-Access-Point stellt den Zugang zum Funknetz bereit und verbindet dieses mit dem kabelgebundenen LAN. Er arbeitet dabei wie eine Bridge zwischen WLAN und Ethernet.
    Ethernet, WLAN und CSMA/CD
    Ethernet und der WLAN-Standard IEEE 802.11 beschreiben sowohl Aspekte der Bitübertragungsschicht als auch der Sicherungsschicht. Dazu gehört auf Schicht 2, wie Geräte adressiert werden.
    CSMA/CD steht für Carrier Sense Multiple Access Collision Detection. Das Verfahren regelt, wie Geräte auf ein gemeinsam verwendetes Medium zugreifen und auf Kollisionen reagieren:
    Ein Gerät hört zunächst das Medium ab und beginnt zu senden, sobald es frei ist.
    Mehrere Geräte können gleichzeitig ein freies Medium erkennen und anfangen zu senden, wodurch eine Kollision entsteht.
    Sobald die beteiligten Geräte die Kollision erkennen, brechen sie das Senden ab und geben ein Jam-Signal aus.
    Nach einer zufällig langen Wartezeit versuchen sie es erneut. Dadurch sinkt die Wahrscheinlichkeit, dass sie wieder gleichzeitig beginnen.
    Daneben gibt es CSMA/CA, ausgeschrieben Carrier Sense Multiple Access Collision Avoidance, das auf das Vermeiden von Kollisionen ausgerichtet ist.
    ARP zwischen Schicht 2 und Schicht 3
    Mit ARP, dem Address Resolution Protocol, lässt sich zu einer logischen IP-Adresse die zugehörige physikalische MAC-Adresse ermitteln. Eine ARP-Tabelle hält die Zuordnung zwischen beiden Adressen fest. Das Protokoll verbindet damit die Sicherungsschicht mit der Vermittlungsschicht.
    Schicht 3: Vermittlungsschicht
    Auf der Vermittlungsschicht, englisch Network Layer, werden Daten über Netzwerkgrenzen hinweg weitergeleitet. Dafür kommen logische Adressen zum Einsatz, im Internet die IP-Adressen.
    Welche IP-Adresse dein Gerät erhält, hängt vom Netzwerk ab, in dem es sich befindet. Wenn du deinen Laptop vom heimischen WLAN ins WLAN am Arbeitsplatz mitnimmst, kann er dort eine andere IP-Adresse bekommen.
    Pakete und Routing
    Die Dateneinheit auf Schicht 3 heißt Paket. Ihr Header enthält unter anderem die IP-Adressen von Quelle und Ziel. Diese Angaben ermöglichen Routing: Pakete werden über Zwischenstationen durch mehrere Netzwerke zum Ziel geschickt.
    Ich verwende dafür das Beispiel eines Postpakets. Du gibst die Zieladresse an, während die beteiligten Verteilstationen entscheiden, über welche Station es weitertransportiert wird.
    Ein Router verbindet Netzwerke, die unterschiedliche IP-Adressbereiche haben können. Beim Heimanschluss verbindet er beispielsweise das lokale Netz mit dem Netz des Internetanbieters. Dabei können auch unterschiedliche Technologien wie Ethernet und PPPoE für DSL beteiligt sein. Zu Hause kommen häufig private IP-Adressen zum Einsatz, im Internet öffentliche Adressen.
    Anhand der Zieladresse entscheidet der Router, wohin ein Paket als Nächstes geht. Kann er das Ziel direkt erreichen, leitet er es dorthin weiter. Andernfalls schickt er es an den nächsten Router, der wiederum über den weiteren Weg entscheidet.
    IP und ICMP
    IP, das Internet Protocol, ist das zentrale Protokoll auf Schicht 3 und bildet die Grundlage des Internets. IPv6 ist eine weitere Version dieses Protokolls. Zum vertiefenden Lernen gehören auch Fragen dazu, wie IP-Adressen vergeben werden und wie Subnetting funktioniert.
    ICMP steht für Internet Control Message Protocol. Es kommt beispielsweise bei Ping zum Einsatz: Ein Gerät schickt eine Anfrage an das Ziel und wartet auf eine passende Antwort. Damit kannst du prüfen, ob ein Gerät auch über mehrere Netzwerke hinweg erreichbar ist.
    Material für deine Prüfung
    Für deine Prüfung solltest du die Fachbegriffe einschließlich ihrer ausgeschriebenen Abkürzungen kennen. Unter anwendungsentwicklerpodcast.de/84 habe ich Links zum Nachlesen zusammengestellt, hauptsächlich zu Wikipedia-Artikeln.
    Als Nachschlagewerk empfehle ich dir das IT-Handbuch, in dem du die behandelten Geräte und den Aufbau der Dateneinheiten nachlesen kannst.
    Über meinen kostenlosen Newsletter erhältst du montags Neuigkeiten von der Website und Links zu weiterem Material. Du kannst dich jederzeit über den Link im Newsletter abmelden. Fachliche Ergänzungen oder Korrekturen kannst du als Kommentar bei den Shownotes hinterlassen.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:01] Herzlich Willkommen zum Anwendungsentwickler-Podcast, dem Podcast rund um die Ausbildung zum Fachinformatiker
    [0:09] für Anwendungsentwicklung. In dieser Episode geht es weiter mit dem ISO-OSI-Modell. Viel Spaß!
    [0:20] Hallo und herzlich Willkommen zur 84. Episode des Anwendungsentwickler-Podcasts.
    [0:26] Mein Name ist Stefan Macke und heute geht es weiter mit dem ISO-OSI-Modell. Nachdem ich letzte Woche ja erst eine einzige Schicht geschafft habe,
    [0:34] nämlich die allerunterste, die BIT-Übertragungsschicht, geht es heute weiter mit, ich hoffe mal, zwei Schichten.
    [0:40] Ich versuche mal mein Bestes, gebe ein bisschen Gas und kloppe mal die ersten beiden Schichten nach Schicht 1,
    [0:46] nämlich Nummer 2, die Sicherungsschicht, und Nummer 3, die Vermittlungsschicht, hier durch.
    ...
    37 min
  • Das ISO/OSI-Modell (Teil 1) – Anwendungsentwickler-Podcast #83
    Eine allgemeine Einführung in das OSI-Referenzmodell und seine erste Schicht (Bitübertragungsschicht bzw. Physical Layer) sind das Thema der dreiundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich gehe mit dir durch die Grundlagen des OSI-Modells und seine erste Schicht, die Bitübertragungsschicht (Physical Layer). Das herstellerunabhängige Modell beschreibt mit sieben Schichten, wie Systeme über ein Netzwerk kommunizieren. Auf Schicht 1 werden Bits über ein Trägermedium übertragen, wobei unter anderem Kabel und Funkfrequenzen festgelegt werden. Für deine Prüfung als IT-Azubi solltest du Hub und Repeater dieser Schicht zuordnen können und Standards wie Ethernet, RS-232 sowie IEEE 802.11 kennen.
    Kapitelmarken
    [00:00:20] OSI-Modell als Prüfungsthema für IT-Azubis
    [00:01:28] Veröffentlichung auf fachinformatiker.de
    [00:03:06] Was OSI und ISO bedeuten
    [00:05:22] Das herstellerunabhängige Referenzmodell
    [00:06:24] Dienste und Schnittstellen zwischen den Schichten
    [00:08:25] Transportorientierte und anwendungsorientierte Schichten
    [00:10:26] Bitübertragungsschicht und Physical Layer
    [00:11:37] Trägermedien und Funkfrequenzen
    [00:12:59] Bits und physikalische Signale
    [00:15:20] Kabel, Stecker und weitere Hardware
    [00:17:27] Wie ein Hub arbeitet
    [00:19:53] Wie ein Repeater die Reichweite erweitert
    [00:21:29] Was ein Protokoll festlegt
    [00:22:49] SMTP als Beispiel für einen geregelten Austausch
    [00:25:09] Ethernet, RS-232 und IEEE 802.11
    [00:27:05] Rückblick auf die erste OSI-Schicht
    [00:28:31] Shownotes und Literatur zum Nachlesen
    [00:29:59] Weitere OSI-Schichten und Fragen für kommende Episoden
    Inhalt
    Allgemeines
    Das ISO-/OSI-Modell ist ein herstellerunabhängiges Referenzmodell in Form einer Schichtenarchitektur für Kommunikationssysteme.
    Es beschreibt die Netzwerkkommunikation von der konkreten Bitübertragung z.B. über ein Glasfaserkabel bis hin zu den Anwendungen, die abstrakte Befehle austauschen.
    Die Schichten stellen der jeweils darüber liegenden Schicht über definierte Schnittstellen ihre Dienste bereit.
    Die Schichten 1 bis 4 sind die transportorientierten Schichten, 5 bis 7 die anwendungsorientierten Schichten.
    1: Bitübertragungsschicht (Physical Layer)
    Wie kommen die Daten physikalisch vom Sender zum Empfänger? Beispiele: Glasfaser, Kupferkabel, Funk.
    Einheit: Bit
    Hardware: Repeater, Hub, Kabel, Antenne.
    Protokolle: Ethernet, RS-232 (serielle Schnittstelle), IEEE 802.11 (WLAN)
    Literaturempfehlungen
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    OSI-Modell
    Das OSI-Referenzmodell
    Zusammenfassung
    Das OSI-Modell in deiner IT-Ausbildung
    Ich gehe mit dir durch die erste Schicht des OSI-Modells und die Grundlagen, die du dafür brauchst. Als IT-Azubi begegnet dir das Thema in schriftlichen und mündlichen Prüfungen, auch wenn du Fachinformatiker:in für Anwendungsentwicklung wirst. Dabei werden unter anderem Geräte und Protokolle den jeweiligen Schichten zugeordnet. Du solltest außerdem die deutschen und englischen Schichtnamen kennen.
    Was OSI und ISO bedeuten
    OSI steht für Open Systems Interconnection. Das Modell beschreibt herstellerunabhängig, wie Systeme über ein Netzwerk miteinander kommunizieren. Seine sieben Schichten erfassen den Weg von den Daten einer Anwendung bis zu den Signalen auf einem Übertragungsmedium.
    Die International Organization for Standardization (ISO) hat das Modell standardisiert. Daher begegnet dir auch der Name ISO-OSI-Modell. Die ISO kümmert sich um internationale Standards und lässt sich in dieser Rolle mit dem Deutschen Institut für Normung, kurz DIN, vergleichen.
    Wie die Schichten zusammenarbeiten
    Wenn du eine E-Mail versendest, arbeitet deine Anwendung mit Diensten der darunterliegenden Schichten. Jede Schicht stellt der jeweils höheren Schicht eine Schnittstelle bereit und übernimmt bestimmte Aufgaben. So kümmert sich die erste Schicht beispielsweise darum, Daten in Lichtsignale umzuwandeln. Die darüberliegende Schicht greift auf diesen Dienst zu, ohne die konkrete Hardware selbst ansteuern zu müssen.
    Mit jeder höheren Schicht kommen weitere Informationen und Dienste hinzu. Die Schnittstellen werden dabei abstrakter. Zu den Anwendungsprotokollen gehören beispielsweise HTTP für Websites und FTP für Dateien. SMTP regelt, wie E-Mails übertragen werden.
    Die sieben Schichten heißen von unten nach oben:
    Bitübertragungsschicht
    Sicherungsschicht
    Vermittlungsschicht
    Transportschicht
    Sitzungsschicht
    Darstellungsschicht
    Anwendungsschicht
    Schicht 1 bis 4 heißen transportorientierte Schichten und befassen sich damit, wie Daten durch das Netzwerk gelangen. Auf den anwendungsorientierten Schichten 5 bis 7 liegen Dienste, mit denen du als Anwender:in eher direkt in Kontakt kommst, etwa wenn dein Mailserver eine Nachricht annimmt.
    Schicht 1: Bitübertragungsschicht
    Auf dem Physical Layer werden Nullen und Einsen zwischen Endpunkten übertragen. Die Informationseinheit dieser Schicht ist das Bit. Voraussetzung ist eine physikalische Verbindung über ein geeignetes Trägermedium.
    Dafür kommen verschiedene Signalformen infrage:
    In Glasfaserkabeln werden Bits als Lichtsignale übertragen.
    Kupferkabel übertragen elektrische Signale.
    Bei WLAN oder Mobilfunk erfolgt die Übertragung über Funkwellen.
    Auch ein Laser kann Informationen übertragen.
    Zur ersten Schicht gehören Festlegungen zu Kabeln und deren Abschirmung, ebenso zu Steckern und ihrer Belegung. Bei Funkverbindungen müssen die Frequenzbereiche festgelegt werden, damit unterschiedliche Systeme parallel arbeiten können.
    Hardware auf Schicht 1
    Beim klassischen Netzwerkstecker solltest du die Bezeichnung RJ45 kennen. Auch Antennen gehören zur Hardware dieser Schicht. Ältere kabelgebundene Netze konnten mit T-Stücken verbunden werden und benötigten Endwiderstände an den beiden Enden des Kabelstrangs. Solche Bauteile müssen zueinander passen, damit die Geräte kommunizieren können.
    Hub
    An einen Hub lassen sich mehrere Geräte anschließen. Eingehende Signale verteilt er an die angeschlossenen Teilnehmer:innen. Dabei ordnet er den Ports keine Zielgeräte zu und leitet die Daten ohne gezielte Auswahl weiter. Dieses physikalische Weitergeben gehört zur ersten OSI-Schicht.
    Repeater
    Ein Repeater empfängt ein Signal und sendet es erneut aus. Am Beispiel eines WLAN-Repeaters lässt sich zeigen, wie damit die Reichweite vergrößert wird: Zwischen Accesspoint und einem schlecht versorgten Bereich aufgestellt, gibt er das empfangene Signal weiter. Auch dieses Gerät wird hier der Bitübertragungsschicht zugeordnet.
    Was ein Protokoll festlegt
    Damit zwei Systeme miteinander kommunizieren können, müssen sie sich an gemeinsame Regeln halten. Ein Protokoll legt die erlaubten Nachrichten und deren Format fest. Außerdem regelt es, in welcher Reihenfolge Befehle ausgetauscht werden, welche Antworten möglich sind und wie bei Fehlern vorgegangen wird.
    Bei SMTP, dem Simple Mail Transfer Protocol, beginnt der beschriebene Austausch mit einer Begrüßung über HELO und dem Namen des sendenden Servers. Anschließend wird mit MAIL FROM die Absenderadresse angegeben. Nachdem der Server geantwortet hat, folgt die Empfängeradresse. Die Antworten des Servers bestimmen, wie der Austausch weitergeht.
    Standards mit Bezug zur Bitübertragungsschicht
    Ethernet legt unter anderem physikalische Eigenschaften eines kabelgebundenen LANs fest. Es beschreibt außerdem Teile der zweiten OSI-Schicht.
    RS-232 bezeichnet eine serielle Schnittstelle. Dazu gehören Festlegungen zu Steckern und Pins sowie zur Signalübertragung.
    IEEE 802.11 ist der WLAN-Standard und umfasst unter anderem Vorgaben für Funkfrequenzen.
    Hinter IEEE steht das Institute of Electrical and Electronics Engineers, das den genannten WLAN-Standard festgelegt hat. Manche Standards beschreiben Aufgaben auf mehreren OSI-Schichten.
    Material zum Nachlesen
    In meinen Shownotes zu Episode 83 findest du Wikipedia-Artikel zu den angesprochenen Begriffen, die das Thema mit Bildern und Beispielen erläutern. Das IT-Handbuch von Hübscher enthält technische Angaben zu Standards und Datenraten sowie Abkürzungen. Dort wird das OSI-Modell auf wenigen Seiten behandelt.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:01] Herzlich Willkommen zum Anwendungsentwickler-Podcast, dem Podcast rund um die Ausbildung zum Fachinformatiker
    [0:09] für Anwendungsentwicklung. In dieser Episode geht es um die erste Schicht des OSI-Modells. Viel Spaß!
    [0:20] Hallo und herzlich Willkommen zur 83. Episode des Anwendungsentwickler-Podcasts.
    [0:27] Mein Name ist Stefan Macke und heute geht es mal ans Eingemachte.
    [0:31] Heute gehen wir mal richtig hart in die Technik rein und zwar mit einem ganz beliebten Prüfungsthema,
    [0:37] sowohl in der schriftlichen Prüfung als auch in der mündlichen Prüfung.
    [0:40] Das wird eigentlich durch die Bank weg, überall abgefragt, mal hier und da und immer wieder.
    [0:45] Und auch bei allen IT-Berufen, das ist das Spannendere daran.
    [0:48] Das heißt, heute geht es mal um etwas, was nicht nur für Anwendungsentwickler relevant ist oder hauptsächlich für Anwendungsentwickler,
    [0:53] sondern wirklich für alle IT-Berufe, nämlich das ISO-OSI-Modell.
    [0:57] Das muss eigentlich jeder ITler drauf haben und da kann man so schöne Prüfungsfragen zu stellen,
    [1:03] dass wir uns das heute mal im Detail anschauen wollen.
    [1:06] Und ich fange mal mit den ersten Schichten an. Das OSI-Modell besteht ja aus insgesamt sieben Schichten,
    [1:11] die man als Prüfling sicherlich alle genauestens unter Lupe nehmen sollte
    [1:15] und auch alle möglichen Dinge zu beantworten können sollte, also Fragen dazu gestellt bekommt.
    [1:20] Und die gehen wir jetzt heute mal durch und ich schaue mal, wie weit ich komme mit meiner halben Stunde,
    [1:25] die ich mir so wieder als Ziel gesetzt habe für heute.
    [1:28] Ich habe heute mal was Neues gemacht und zwar veröffentliche ich diese Episode des Podcasts
    [1:32] auch parallel auf fachinformatiker.de als Fachinformatiker-Podcast.
    ...
    33 min
  • Organisation einer eigenen Konferenz – Anwendungsentwickler-Podcast #82
    Die Organisation und Durchführung einer eigenen Konferenz ist das Thema der zweiundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Bei meiner ersten Softwareentwicklungskonferenz in Vechta kamen 53 Teilnehmer:innen zusammen. Auch als IT-Azubi kannst du eine eigene Veranstaltung auf die Beine stellen und Erfahrungen weitergeben, die andere Entwickler:innen interessieren. Damit die Tickets deine Ausgaben decken, brauchst du eine sorgfältige Kostenrechnung, in die auch kostenlose Plätze für Referent:innen einfließen. Stimme den Termin frühzeitig ab und kümmere dich um passende Räume samt Verpflegung; für das Programm kommen neben Vorträgen auch Workshops infrage. Aus meiner Erfahrung gehören Ersatztechnik und direkt eingeholtes Feedback ebenso dazu wie Werbung, die Menschen in deiner Region erreicht.
    Kapitelmarken
    [00:00:01] Eine eigene Softwareentwicklungskonferenz organisieren
    [00:01:30] Warum das Thema für IT-Azubis interessant ist
    [00:03:56] Mit einer internen Veranstaltung anfangen
    [00:05:35] Kosten berechnen und das finanzielle Risiko einschätzen
    [00:07:04] Räume und Verpflegung einkalkulieren
    [00:09:40] Konferenzunterlagen und Namensschilder
    [00:12:17] Kostenlose Plätze für Referent:innen einplanen
    [00:13:24] Sponsorengelder und Ticketpreis berechnen
    [00:14:53] Unternehmen als Sponsor:innen gewinnen
    [00:17:32] Einen geeigneten Veranstaltungsort finden
    [00:19:30] Ausstattung und Technik vor Ort prüfen
    [00:21:10] Termin und Veranstaltungsort frühzeitig abstimmen
    [00:23:28] Verfügbarkeit der Referent:innen berücksichtigen
    [00:24:18] Verpflegung und Pausen planen
    [00:25:17] Das Thema der Konferenz festlegen
    [00:26:10] Referent:innen über einen Call for Presentations finden
    [00:27:52] Workshops und Barcamps als weitere Formate
    [00:28:53] Website und Werbung für die Konferenz
    [00:30:04] Anzeigen bei Xing, Facebook und Google
    [00:32:10] Kostenfreie regionale Veranstaltungskalender
    [00:32:50] Nach der Konferenz sichtbar bleiben
    [00:33:46] Erfahrungen: Ersatztechnik vorbereiten
    [00:34:49] Mit Early-Bird-Tickets früh Interesse erkennen
    [00:35:46] Fristen für Konferenzunterlagen setzen
    [00:36:30] Feedback direkt vor Ort einholen
    [00:37:40] Fotos vorab organisieren
    [00:38:58] Rückblick auf die Planung
    [00:40:22] Mit einem Zeitungsartikel Aufmerksamkeit schaffen
    [00:41:04] Kurs und Materialien zur weiteren Vorbereitung
    [00:42:39] Eigene Erfahrungen und Rückmeldungen teilen
    Inhalt
    Nachdem ich letzte Woche erzählt habe, wie wir unseren Softwareentwickler-Stammtisch ins Leben gerufen haben, geht es dieses Mal weiter mit der Organisation einer eigenen Konferenz.
    Eine Konferenz organisieren
    Kostenkalkulation
    Location
    Verpflegung
    Konferenzunterlagen (Druck, Mappen, Blöcke/Stifte)
    Badges
    Ticket/Bezahlung/Geschenke für Referenten
    Sponsoring
    Sponsoren finden
    eigener Arbeitgeber und Arbeitgeber der Teilnehmer
    bekannte Unternehmen der Region
    Suche bei Xing* nach Softwareunternehmen aus der Region
    Location
    Infrastruktur: WLAN, Leinwand, Beamer, Stühle/Tische, ggfs. Beschallung
    Termin
    Wochentag vs. Freitag (Empfehlung) vs. Wochenende
    an globalen Veranstaltungen teilnehmen (z.B. Global Day of Coderetreat)
    Verpflegung
    Frühstück, Mittagessen, Kuchen und/oder Abendessen anbieten?
    Vorträge bzw. Konferenzprogramm
    ggfs. Konferenzthema festlegen
    rechtzeitig Call for Presentations starten
    Referenten bei Terminfindung berücksichtigen
    andere Konzepte (z.B. Workshops, Barcamp) in Erwägung ziehen
    Werbung machen
    Website einrichten
    Xing*-Event, Facebook-Event
    Werbung bei AdWords, Facebook, Xing* schalten
    Veranstaltungskalender lokaler Zeitungen oder Städte nutzen
    lokale Zeitungen ansprechen
    Präsentationen nach der Konferenz online stellen
    Meine Lessons Learned
    Gehe immer davon aus, dass irgendetwas schief laufen wird (z.B. Ersatzbeamer mitnehmen).
    Biete einen Early Bird für die Tickets an, um schnell das Interesse zu klären (und schlaflose Nächte zu vermeiden).
    Sammle frühzeitig die Konferenzunterlagen (insb. Flyer) ein, um doppelte Arbeit zu vermeiden.
    Hole das Feedback der Teilnehmer direkt am Ende der Konferenz ein.
    Kläre vorab, wer (gute) Fotos der Konferenz macht.
    Empfehlungen für Konferenzmaterial (Mappen und Badges)
    Die Konferenzunterlagen (Agenda, Feedbackbogen, Flyer der Sponsoren) habe ich in diesen Dokumententaschen* im Format DIN A4 zusammengestellt. Sie machen trotz des geringen Preises einen stabilen Eindruck und es passten locker alle Unterlagen hinein.
    *
    Für die Namensschilder habe ich Etiketten von Herma* verwendet.
    *
    Die habe ich dann in die passenden Ausweishüllen* gesteckt und an einem blauen Halsband* befestigt. Da Blau die Konferenzfarbe war, passte das sehr gut. Es gibt die Bänder aber natürlich noch in anderen Farben.
    *
    *
    Literaturempfehlungen
    Der Pluralsight-Kurs "Starting and Running a Successful User Group", den ich bereits letzte Woche empfohlen habe, enthält auch ein separates Modul zum Thema Konferenzplanung. Daher kann ich ihn auch für dieses Thema wärmstens empfehlen. Ich selbst habe den Kurs gerade noch rechtzeitig vor der SEROM angeschaut und konnte dadurch noch ein paar kleine Fehler vermeiden.
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Zusammenfassung
    Eine eigene Konferenz als IT-Azubi
    Bei meiner ersten Softwareentwicklungskonferenz im Rahmen einer Usergroup in Vechta kamen 53 Teilnehmer:innen zusammen. Die Veranstaltung war ausverkauft und endete einschließlich der Sponsorengelder bei ungefähr null Euro.
    Als IT-Azubi bringst du bereits Erfahrungen mit, die für andere Entwickler:innen interessant sind. Was du in deinem Ausbildungsbetrieb schon kennengelernt hast, etwa testgetriebene Entwicklung oder Continuous Integration, beschäftigt andere Unternehmen noch als offene Frage. Auch Erfahrungen mit einer Programmiersprache lassen sich weitergeben. Selbst wenn zwei Unternehmen dasselbe Framework einsetzen, können daraus unterschiedliche Erfahrungen entstehen.
    Für den Einstieg eignet sich auch eine interne Veranstaltung in deiner Abteilung, bei der du dich mit Kolleg:innen austauschst und gemeinsam mit ihnen lernst.
    Kosten und Ticketpreis berechnen
    Bevor du Tickets anbietest, rechne aus, welche Ausgaben anfallen und wie viele zahlende Teilnehmer:innen du brauchst, um sie zu decken. Bei einer festen Raummiete bleibt der Betrag unabhängig davon bestehen, wie viele Menschen kommen. Sobald du mehr Tickets verkaufst, verteilt er sich auf mehr Personen. Ein Preis pro Person lässt sich direkt in den Ticketpreis einrechnen.
    Berücksichtige dabei folgende Posten:
    Räume: Kläre, ob du eine feste Miete oder einen Betrag pro Person bezahlst.
    Essen und Getränke: Falls du einen separaten Cateringbetrieb beauftragst, rechne dessen Kosten zusätzlich ein.
    Technik: Prüfe, welche Geräte vorhanden sind und was du selbst beschaffen musst.
    Unterlagen: Zu den Ausgaben gehören Mappen samt Schreibmaterial sowie gedruckte Agenden und Feedbackbögen.
    Namensschilder: Auch Hüllen und Halsbänder kosten Geld. Bei meiner Recherche lagen eine Mappe und ein vollständiges Namensschild jeweils bei ungefähr einem Euro. Für 50 Personen ergeben sich daraus bereits rund 100 Euro.
    Referent:innen: Plane mindestens den kostenlosen Eintritt ein. Für diese Plätze fallen ebenfalls Kosten für Räume und Verpflegung an. Falls du Honorare oder Geschenke vorsiehst, gehören sie in deine Rechnung.
    Mein Ticketpreis betrug 39 Euro, wobei neun Referent:innen kostenlos teilnahmen. Für sie musste ich entsprechend Geld einplanen. Meine eigene Arbeitszeit habe ich als privat investierte Freizeit behandelt.
    Mit einer Excel-Tabelle habe ich verschiedene Teilnehmer:innenzahlen durchgerechnet und die Sponsorengelder einbezogen. Ein Veranstaltungsort, der Räume samt Catering zu einem festen Betrag pro Person anbietet, erleichtert diese Rechnung.
    Unternehmen als Sponsor:innen gewinnen
    Mein eigener Ausbildungsbetrieb beziehungsweise Arbeitgeber ist eine erste Anlaufstelle. Frage außerdem bei den Unternehmen deiner Referent:innen und Teilnehmer:innen nach. Kontakte aus einer bestehenden Usergroup helfen dabei, passende Unternehmen zu erreichen.
    Sechs Unternehmen unterstützten meine Konferenz. Sie kamen aus meinem bisherigen Umfeld oder waren über die beteiligten Personen verbunden. Schon 100 oder 200 Euro können bei einer kleinen Veranstaltung den Ticketpreis senken.
    Unternehmen können auch Sachleistungen beisteuern. Mittwald stellte beispielsweise eine Palette Energydrinks bereit. Für Unternehmen ist die Konferenz eine Gelegenheit, mit ihrem Logo sichtbar zu werden und potenzielle Kolleg:innen zu erreichen. Über soziale Netzwerke kannst du weitere regionale Unternehmen suchen, die Softwareentwickler:innen beschäftigen, und sie direkt anschreiben.
    Räume und Technik auswählen
    Für meine Suche habe ich Hotels angefragt und auch ein Kino geprüft. Geeignet sind ebenso Landgasthäuser oder Säle, in denen größere Feiern stattfinden. Dort gibt es häufig passende Möbel und ein eigenes Cateringangebot.
    Achte vor Ort auf:
    Kostenfreies WLAN, besonders wenn der Mobilfunkempfang schwach ist.
    Eine Leinwand oder geeignete Projektionsfläche und einen Beamer, dessen Helligkeit zum Raum passt.
    Ausreichend Platz: Bei mehreren Stunden Programm sind Tische zum Mitschreiben angenehm. Zwischen den Reihen sollten Wege frei bleiben.
    Gut hörbare Vorträge: Kläre, ob Mikrofone und Lautsprecher erforderlich sind und wer sie bereitstellt.
    Platz für Gespräche: Bei meiner Konferenz gab es neben dem Vortragsraum einen zweiten Raum mit Bar und Stehtischen.
    Schon bei 53 Personen waren leise sprechende Referent:innen teilweise schwer zu verstehen. Besprich deshalb auch bei einer kleineren Konferenz, wie sich die Stimme verstärken lässt.
    Den Termin frühzeitig abstimmen
    Ich habe den Veranstaltungsort etwa drei Monate vorher angefragt. Gerade Räume, die oft für Hochzeiten gebucht werden, brauchen Vorlauf.
    Stimme mögliche Termine mit den Referent:innen ab, bevor du einen davon festlegst. Dafür habe ich Doodle verwendet....
    44 min
  • Organisation einer eigenen User Group – Anwendungsentwickler-Podcast #81
    Die Organisation und Durchführung einer eigenen User Group ist das Thema der einundachzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Aus meinen Erfahrungen mit einem Softwareentwicklungsstammtisch im Oldenburger Münsterland gebe ich dir Tipps für deine eigene Usergroup. Als IT-Azubi kannst du dort andere Entwickler:innen kennenlernen und dich über Technologien außerhalb deines Ausbildungsbetriebs austauschen. Prüfe zuerst, welche Treffen es in deiner Region bereits gibt, und suche Interessierte in deinem Umfeld oder über soziale Netzwerke. Für den Einstieg reicht ein reservierter Tisch im Restaurant, an dem jede Person selbst bezahlt; den Termin stimmst du frühzeitig ab, während sich Gesprächsthemen meist vor Ort ergeben.
    Kapitelmarken
    [00:00:01] Thema: Eine eigene Usergroup starten
    [00:01:18] Fachlicher Austausch außerhalb des Ausbildungsbetriebs
    [00:03:11] Interessierte für eine Usergroup finden
    [00:04:38] Kolleg:innen ansprechen und Lunch and Learn ausprobieren
    [00:06:53] Kontakte aus Berufsschule und Hochschule
    [00:08:07] Interessierte über soziale Netzwerke erreichen
    [00:10:53] Meetup, bestehende Gruppen und passende Themen
    [00:12:25] Treffpunkt, Verpflegung und technische Ausstattung
    [00:14:35] Erfahrungen mit Restauranttreffen und Firmenräumen
    [00:16:02] Termine wählen und frühzeitig ankündigen
    [00:17:35] Termine über Doodle abstimmen
    [00:18:38] Gesprächsthemen für den Stammtisch
    [00:20:15] Mit einem eigenen Vortrag starten
    [00:21:09] Zusagen, Ausfälle und kleine Gesprächsrunden
    [00:23:35] Kosten und finanzielles Risiko beim Start
    [00:25:21] Beiträge und finanzielle Unterstützung durch Unternehmen
    [00:26:21] Rückblick auf die Tipps zum Start einer Usergroup
    [00:30:13] Ausblick auf die eigene Konferenz
    [00:30:43] Erfahrungen teilen und Kontakt aufnehmen
    [00:32:03] Konferenzmaterial und visuell gestaltete Vortragsfolien
    Inhalt
    Am vergangenen Freitag, den 04.11.2016 fand im Fizz in Vechta die erste Softwareentwicklungskonferenz SEROM statt. Das Motto der Veranstaltung war Softwareentwicklung im Mittelstand. Da ich die Organisation dieser Konferenz übernommen habe, erzähle ich in der aktuellen Podcast-Episode ein wenig über meine Erfahrungen. Diese Woche geht es los mit der Organisation einer User Group und beim nächsten Mal geht es dann um die Planung einer eigenen Konferenz.
    Start einer User Group
    Potentielle Interessierte finden
    Kollegen, Kommilitonen, Mitschüler, Lehrer
    Soziale Netzwerke, z.B. Xing*, Facebook, Twitter, Meetup
    Location
    Wie läuft die Verpflegung (Getränke, Essen)?
    Sind Beamer und eine Leinwand oder ein Bildschirm vorhanden?
    Termin
    Empfehlung: an einem Wochentag (Dienstag bis Donnerstag)
    früh genug ankündigen
    Abstimmung über Doodle
    Themen
    ergeben sich meist beim Stammtisch
    ggfs. mit eigenen Vorträgen starten
    Kosten
    am besten ohne Beitrag starten, jeder trägt Verzehr selbst
    später können Sponsoren unterstützen
    Mein Vortrag auf der SEROM
    Ich selbst habe auf der SEROM auch einen kurzen Fachvortrag gehalten: Wer braucht eigentlich Microservices - Aktuelle Trends der Softwareentwicklung in der Praxis. Die Folien gibt es bei SlideShare oder direkt hier eingebettet:
    Wer braucht eigentlich Microservices - Aktuelle Trends der Softwareentwicklung in der Praxis from Stefan Macke
    Literaturempfehlungen
    Den Pluralsight-Kurs "Starting and Running a Successful User Group" habe ich für mich persönlich leider etwas zu spät entdeckt. Ich habe ihn erst vor ein paar Wochen durchgearbeitet, aber der Stammtisch existiert ja bereits seit 2014. Wenn du noch ganz am Anfang stehst, wirst du sicherlich ein paar gute Tipps mitnehmen können.
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Zusammenfassung
    Was dir eine Usergroup bringt
    In Vechta habe ich Ende 2013 einen Softwareentwicklungsstammtisch angestoßen, aus dem später eine eigene Konferenz entstanden ist. Solche Treffen geben dir als IT-Azubi Gelegenheit, mit Entwickler:innen aus anderen Unternehmen ins Gespräch zu kommen. Dabei erfährst du, welche Technologien sie einsetzen, und kannst deine eigene Programmiersprache besser kennenlernen. Gerade in einem kleinen Ausbildungsbetrieb mit wenigen Kolleg:innen eröffnet dir das zusätzliche Möglichkeiten, dazuzulernen.
    Bestehende Gruppen finden
    Bevor du selbst ein Treffen organisierst, suche bei Meetup oder über Google nach Angeboten in deiner Region. Als Suchbegriffe eignen sich dein Ortsname zusammen mit "Softwareentwicklung" oder einer Programmiersprache. Einer passenden Gruppe kannst du dich direkt anschließen.
    Wie eng du das Thema deiner eigenen Usergroup fasst, hängt davon ab, wie viele Interessierte du erreichst. Für meinen Stammtisch auf dem Land habe ich allgemein nach Menschen gesucht, die sich für Softwareentwicklung interessieren. Eine Gruppe zu einer einzelnen Sprache braucht genügend Interessierte vor Ort.
    Interessierte ansprechen
    Beim ersten Stammtisch kam etwa die Hälfte der Teilnehmenden aus meinem Unternehmen. Für deinen Start kannst du folgende Kontakte ansprechen:
    Kolleg:innen, die sich auch außerhalb ihrer täglichen Aufgaben mit Softwareentwicklung beschäftigen.
    Mitschüler:innen aus der Berufsschule oder Kommiliton:innen.
    Lehrer:innen und Dozent:innen, die Kontakte vermitteln oder selbst einen Vortrag halten können.
    Menschen in sozialen Netzwerken, deren Profile zu deinem Thema und deiner Region passen.
    Ich habe bei Xing gezielt nach Orten und fachlichen Interessen gesucht, passende Personen direkt angeschrieben und sie in die Gruppe "Softwareentwicklung im Oldenburger Münsterland" eingeladen. Auch Menschen, die als Hobby programmieren, waren willkommen. Im Podcast kommen außerdem Facebook, LinkedIn und Meetup als mögliche Plattformen vor. Über weitergeleitete Einladungen erreichst du zusätzliche Interessierte.
    Die Teilnahme bleibt freiwillig. Ob jemand kommen möchte, hängt auch vom Thema ab. Wenn eine Einladung wenig Resonanz bekommt, kannst du ein anderes Thema ausprobieren.
    Im Unternehmen anfangen
    Mit einem "Lunch and Learn" kannst du zunächst im eigenen Betrieb testen, ob Interesse besteht: Ein:e Kolleg:in hält während der Mittagspause einen ungefähr 30-minütigen Vortrag, während die Teilnehmenden etwas essen. Als Thema eignet sich beispielsweise ein Framework, das im Unternehmen eingesetzt wird.
    Dabei kannst du das Vortragen üben. Wenn dein:e Vorgesetzte:r zustimmt, lässt sich ein solcher fachlicher Austausch auch während der Arbeitszeit einplanen.
    Einen passenden Treffpunkt wählen
    Für meinen ersten Stammtisch habe ich einen Tisch in einer Tapasbar reserviert. Etwa 15 bis 16 Personen kamen, wobei jede Person das eigene Essen und die Getränke bezahlte. Teile den Eingeladenen mit, unter welchem Namen du reserviert hast, damit sie den Tisch finden.
    Für Gespräche brauchst du einen ausreichend ruhigen Ort. Bei einem meiner Treffen störte ein Konzert vor dem Restaurant den Austausch erheblich.
    Wenn du Vorträge oder Workshops anbieten möchtest, kläre vorher, welche Technik vorhanden ist. Dazu können ein Beamer mit Leinwand, WLAN oder ein kabelgebundenes Netzwerk gehören. Ein Konferenzraum in einem Unternehmen kommt dafür infrage. Dort musst du die Öffnungszeiten und mögliche Sicherheitsregeln klären, ebenso den Zugang zum Netzwerk und die Frage, wer Essen oder Getränke bereitstellt.
    Bei einem agilen Stammtisch in Lingen habe ich eine weitere Möglichkeit kennengelernt: Nach dem fachlichen Teil im Firmenraum ging es zum Essen in die Stadt. Jede Person konnte selbst entscheiden, ob sie mitkommen wollte.
    Den Termin frühzeitig abstimmen
    Meine Stammtische fanden gewöhnlich nach Feierabend statt, häufig ab 18 Uhr. Ich empfehle dafür einen Wochentag von Dienstag bis Donnerstag. Am Wochenende sind viele Personen bereits durch private Termine gebunden.
    Über Doodle habe ich mehrere Termine zur Wahl gestellt und den Termin mit den meisten Stimmen ausgewählt. Kündige das Treffen rechtzeitig an, damit Interessierte den Abend freihalten können. Erinnerungen helfen, wenn zwischen Einladung und Treffen einige Zeit liegt.
    Gespräche und Vorträge
    Bei meinen Stammtischen ergaben sich die Themen im Gespräch. Auch mit fünf oder sechs Personen waren drei bis vier Stunden gefüllt. Neben technischen Fragen kamen persönliche Themen zur Sprache. Durch einen Platzwechsel kannst du weitere Teilnehmende kennenlernen.
    Ein Vortrag eignet sich ebenfalls als Einstieg. Dafür brauchst du jemanden, der ihn vorbereitet; gerade am Anfang kannst du diese Aufgabe selbst übernehmen. Als Initiator:in gehört es dazu, aktiv etwas beizutragen.
    Mit weniger Teilnehmenden rechnen
    Ich habe mehrfach erlebt, dass trotz mehr als zehn Zusagen nur vier oder fünf Personen erschienen. Eine Zusage per Klick bedeutet, dass später noch etwas dazwischenkommen kann. Plane deshalb mit Ausfällen. In einer kleinen Runde bleibt Raum, mit jeder Person ausführlicher zu sprechen.
    Die Kosten überschaubar halten
    Für den Anfang empfehle ich dir einen kostenfreien Stammtisch, bei dem jede Person den eigenen Verzehr bezahlt. Mit einem reservierten Tisch kannst du das Treffen ausprobieren, ohne Geld für Essen oder Räume vorzustrecken.
    Wenn du später Verpflegung bereitstellst und Beiträge erst vor Ort einsammelst, können ausgebliebene Teilnehmende dazu führen, dass du auf Ausgaben sitzen bleibst. Für größere Treffen kannst du deinen Ausbildungsbetrieb oder andere lokale Unternehmen um finanzielle Unterstützung bitten. Als Gegenleistung kommt beispielsweise ein Firmenlogo oder ein Link auf der Website der Gruppe infrage.
    Material und Kontakt
    Nach mehreren Jahren mit Stammtischen habe ich eine erste Konferenz organisiert. Die ausführlichen Erfahrungen dazu gehören zur nächsten Podcastfolge.
    Unter serom.de findest du Fotos und Vortragsfolien der Konferenz, darunter meinen Vortrag "Wer braucht eigentlich Microservices?". Darin hinterfrage ich auch mögliche Nachteile moderner Technologien. Die Folien enthalten viele Grafiken und wenig Text, sodass du sie als Beispiel für eine visuell gestaltete Abs
    34 min

About IT-Berufe-Podcast

From the publisher's feed

Der Podcast rund um die Ausbildung in den IT-Berufen (insb. Fachinformatiker für Anwendungsentwicklung) von Stefan Macke.

More shows like IT-Berufe-Podcast

Streitkräfte und Strategien by NDR

Streitkräfte und Strategien

43 Listeners

Sternengeschichten by Florian Freistetter

Sternengeschichten

45 Listeners

Geschichten aus der Geschichte by Richard Hemmer und Daniel Meßner

Geschichten aus der Geschichte

176 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

10 Listeners

MORD AUF EX by Leonie Bartsch & Linn Schütze

MORD AUF EX

112 Listeners

{ungeskriptet} - Der Meinungsfreiheit verpflichtet. by Ben Berndt

{ungeskriptet} - Der Meinungsfreiheit verpflichtet.

48 Listeners