it innovations.de

Linux Kernel - Debugging und Sicherheit - Schulung

Linux Kernel Debugging und Security (LFD440)

Seminar Beschreibung 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.

Seminar Voraussetzungen 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

Seminar Software Software

Linux Kernel

Seminar Technikinfo 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.

Seminar Beschreibung Inhalt

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

Seminar Ziel Ziel

Diese 4-tägige Linux-Schulung vermittelt Programmierern die Infrastruktur,
die Funktionen und die Tools zum Debuggen und zur Sicherheit des Linux-Kernels.

Seminar Zielgruppe Zielgruppe

  • Programmierer

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:
Start-Termine: (Ortsabhängig)
Unterlagen:
Verpflegung:
Prüfung:

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:
  • Berlin
  • Düsseldorf
  • Frankfurt
  • Hamburg
  • München
  • Nürnberg
Unterlagen: zzgl.
Verpflegung: zzgl.
Prüfung: zzgl.
alle Preise verstehen sich zzgl. Reisekosten/Spesen
Linux Kernel Debugging Security LSM Troubleshooting Monitoring
Artikelnummer: 2019000011

Dynamic Access Control ist eine Data Governance Control Funktion für Fileserver auf Windows Server Basis. Sie ermöglicht eine Zugriffssteuerung für Dateien die auf Faktoren die im AD DS und AD RMS definiert sind, sogenannte "Claims" anstatt wie bisher ACLs zu verwenden.