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
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. |
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: |
|
Starttermin: | individuelle Vereinbarung |
Unterlagen: | zzgl. |
Verpflegung: | zzgl. |
Prüfung/Zertifizierung: | zzgl. |
Software
Linux Kernel
Seminarsprache
die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.