Informationen zur Technologie

Linux oder GNU/Linux ist ein freies, unix-ähnliches Mehrbenutzer-Betriebssystem, das als Open Source-Projekt ins Leben gerufen wurde. Es basiert auf dem Linux-Kernel und wesentlich auf GNU-Software. Dieser Systemkern (Kernel) ist die Schnittstelle zwischen Hard- und Software, das Anwenderprogramme den Komponentenzugriff auf Speicher, Festplatte, Tastatur und Maus, Druckerschnittstellen etc. ermöglicht und ist eine zuverlässige Plattform für eine Vielzahl von Anwendungen.


Linux Kernel - Debugging und Sicherheit - Schulung (4 Tage)

Linux Kernel Debugging und Security (LFD440)

Kurzbeschreibung

Dieser Linux-Kurs vermittelt erfahrenen Programmierern die Grundlagen des Linux Kernels. In praktischen Übungen lernen sie die interne Kernel-Infrastruktur, die Anwendung von Methoden und Kernel-Funktionen, sowie die Tools zum Debuggen kennen. Weitere Themen sind die Überwachung, die Linux Kernel Sicherheit unter Verwendung des Linux Security Moduls und Sicherheitsmoduls (LSM) und das Troubleshooting.


Voraussetzungen

• Kenntnisse der Programmiersprache C
• Kenntnisse der grundlegenden Linux-Dienstprogramme (UNIX) wie ls, grep und tar
• Anwendungskenntnisse der verfügbaren Texteditoren (z. B. emacs, vi usw.)
• Hilfreich, aber nicht erforderlich ist die Erfahrung mit einer großen Linux-Distribution


Seminarinhalt

Einführung
• Ziele
• Vorstellung
• Die Linux Foundation
• Das Linux Foundation Training
• Linux Distributionen
• Plattformen
• Systemvorbereitung
• Verwendung und Herunterladen einer virtuellen Maschine
• Veränderung in Linux
• Dokumentation und Links
• Registrierung

Einleitung
• Verfahren
• Kernel-Versionen
• Kernelquellen und Verwendung von git

Die Arbeit in OSS-Projekten
• Überblick über den richtigen Beitrag
• Die Mainline zur Gewährleistung von Sicherheit und Qualität
• Die Projekt-DNA
• Das Herausfinden des Scratchings
• Maintainer und ihre Arbeitsabläufe und Methoden
• Frühzeitiger Input und offenes Arbeiten
• Inkrementelle Bits und nicht große Code-Dumps
• Kein Ego und keine Überempfinglichkeit
• Geduld, Hilfsbereitschaft,Entwicklung langfristiger Beziehungen

Kernel-Funktionen
• Komponenten des Kernels
• User-Space vs. Kernel-Space
• die Bedeutung der Systemaufrufe
• Verfügbare Systemaufrufe
• Scheduling-Algorithmen und Taskstrukturen
• Prozesskontext
• Best Practices

Monitoring und Debugging
• Debuginfo-Pakete
• Rückverfolgung und Profilierung
• sysctl
• SysRq-Schlüssel
• oops Nachrichten
• Kernel-Debugger
• debugfs
• Best Practice

Das proc Dateisystem
• Die Bedeutung des proc- Dateisystems
• Erstellung und Entfernung von Einträgen
• Das Lesen und Schreiben von Einträgen
• Die seq_file- Schnittstelle
• Best Practice

kprobes
• kprobes
• Kretos
• SystemTap
• Best Practice

Ftrace
• Die Bedeutung von Ftrace
• ftrace , trace-cmd und kernelshark
• Verfügbare Trace
• Verwendung von Ftrace
• Dateien im Tracing-Verzeichnis
• Ablaufverfolgungsoptionen
• Drucken mit trace_printk ()
• Trace-Marker
• Ausgabe des Puffers
• trace-cmd
• Best Practices

Perf
• Die Bedeutung von Perf
• perf stat
• perf list
• perf record
• perf report
• Das Kommentieren von perf
• perf top
• Best Practice

Absturz
• Der Absturz
• Hauptbefehle
• Best Practice

Kernel Core Dumps
• Generierung der Kernel Core Dumps
• kexec
• Einrichtung der Kernel-Core Dumps
• Best Practice

Virtualisierung
• Die Bedeutung der Virtualisierung
• Ringe der Virtualisierung
• Hypervisoren

QEMU
• Die Bedeutung von QEMU
• Emulierte Architekturen
• Bildformate
• Hypervisor-Integration von Drittanbietern

Debugging-Tools für den Linux-Kernel
• Linux Kernel (integrierte) Tools und Helfer
• kdb
• qemu + gdb
• kgdb: hardware + serial + gdb
• Best Practice

Embedded Linux
• Embedded- und Echtzeit-Betriebssysteme
• Die Frage nach der Verwendung von Linux
• Erstellung einer kleinen Linux-Umgebung
• Echtzeit-Linux

Notifier
• Die Bedeutung der Notifier
• Datenstrukturen
• Rückrufe und Benachrichtigungen
• Erstellung von Benachrichtigungsketten
• Best Practice

CPU-Frequenzskalierung
• Die Bedeutung Frequenz- und Spannungsskalierung
• Notifier
• Treiber
• Gouverneu
• Best Practice

Netlink Sockets
• Die Bedeutung der netlink sockets
• Öffnung des netlink socket
• Netlink-Nachrichten
• Best Practice

Einführung in die Linux Kernel-Sicherheit
• Linux Kernel-Sicherheitsgrundlagen
• Discretionary Access Control (DAC)
• POSIX-ACLs
• POSIX Funktionen
• Namensräume
• Linux-Sicherheitsmodule (LSM)
• Netzfilter
• Kryptographische Methoden
• Das Kernel-Selbstschutzprojekt

Das Linux Security Modul (LSM)
• Die Bedeutung der Linux Sicherheitsmodule
• LSM Grundlagen
• LSM Auswahlmöglichkeiten
• Die LSM Funktion
• Ein LSM- Beispiel: Tomoyo

SELinux
• SELinux
• SELinux Übersicht
• SELinux Modi
• SELinux Richtlinien
• Kontext-Dienstprogramme
• SELinux- und Standard-Befehlszeilen-Tools
• SELinux-Kontextvererbung und -konservierung
• restorecon
• emanage fcontext
• Verwendung von SELinux Booleans
• Getsebool und Setsebool
• Troubleshooting-Tools
• Best Practice

AppArmor
• Die Bedeutung von AppArmor
• Überprüfung des Status
• Modi und Profile
• Profile
• Dienstprogramme

Netzfilter
• Die Bedeutung der Netzfilter
• Netzfilterhaken
• Netzfilter-Implementierung
• Das Einhängen In Netzfilter
• Iptables
• Best Practice

Das virtuelle Dateisystem
• Die Bedeutung des virtuellen Dateisystems
• Verfügbare Dateisysteme
• Spezielle Dateisysteme
• Das tmpfs Dateisystem
• Das ext2 / ext3 Dateisystem
• Das ext4 Dateisystem
• Das Btrfs Dateisystem
• Gemeinsames Dateimodell
• VS-Systemaufrufe
• Dateien und Prozesse
• Mounten von Dateisystemen

Filesystems in User-Space (FUSE)
• Die Bedeutung von FUSE
• Schreiben eines Dateisystems
• Best Practice

Journaling-Dateisysteme
• Die Bedeutung von Journaling-Dateisystemen
• Verfügbare Journaling-Dateisysteme
• Kontrastfunktionen
• Best Practice

Abschluss und Evaluierungsumfrage


Zielgruppen

• Programmierer


Preise und Termine

offene Schulung
Eine offene Schulung findet in einem unserer Schulungszentren statt.
Dauer:4 Tage
Preis:1.895,00 € zzgl. USt. pro Teilnehmer (2.255,05€ inkl. USt.)
Seminarstandorte:
Starttermine:
(ortsabhängig)


Unterlagen:zzgl.
Verpflegung:zzgl.
Prüfung/Zertifizierung:zzgl.
Firmenschulung
Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
Dauer:4 Tage
Preis ab:1.590,00 € zzgl. USt. pro Tag (1.892,10€ inkl. USt.)
Schulungszentren:
  • Hamburg
  • Berlin
  • Frankfurt
  • München
  • Nürnberg
  • Düsseldorf
  • Wien
  • Stuttgart
  • Hannover
  • Köln
  • Dortmund
Starttermin:individuelle Vereinbarung
Unterlagen:zzgl.
Verpflegung:zzgl.
Prüfung/Zertifizierung:zzgl.

Software

Linux Kernel


Seminarsprache

Wir bieten unsere Seminare hauptsächlich in deutscher Sprache an – je nach Wunsch aber gerne auch in Englisch oder einer anderen Seminarsprache. Bitte fragen Sie doch einfach bei uns an.