Security-Enhanced Linux (SELinux): Die Hintergründe verstehen Mario Rosic Linuxtage Graz/Wien 2016 Internex GmbH

Slides:



Advertisements
Ähnliche Präsentationen
A CORBA Domain Management Service
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Überwachung des Nagios-Servers
OpenLDAP.
Rechnernetze und verteilte Systeme (BSRvS II)
ASP.NET Tips & Tricks Uwe Baumann
Musterlösung IT-Struktur an Schulen © Zentrale Planungsgruppe Netze am Kultusministerium Baden-Württemberg Serverpflege Autor: Michael Stütz.
Ich habe nie gelernt, Aufgaben zu lösen
6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren:
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
LDAP und RADIUS RADIUS-Server
1 NetWork File System © April 2002, G. Hellberg Network File System Konfiguration und Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Framework für ein Intrusion Detection System
1 Vorlesung 14 Mehr über Security Peter B. Ladkin Sommersemester 2001.
Kommunikation zwischen BS2000 Host und PC
Akkusativ Präpositionen
Linux GOIT – Der Kurs. Linux GOIT – Der Kurs Geschichte Mainframes (IBM System/360) Workstation Personal Computer Stapelverarbeitung Workstation Mehrbenutzersystem.
Don`t make me think! A Common Sense Approach to Web Usability
SharePoint 2010 for Information Architects
Wer darf Was Rechteverwaltung in Linux. RechteverwaltungHBU-LINUX-2004 User Group Others Was leisten folgende Kommandos ? id su chgrp chown.
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
DATIV Ich schreibe meinem Bruder einen Brief.
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Seite 1 - Security in TYPO3 Willkommen Security in (und rund um) TYPO3 Christian Kurta
Subordinate (Dependant) and Coordinate (Independent) Conjunctions.
Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.
Einführungstutorial: Linux Konsole
Linux Konsole Eine Einführung.
Linux Primary Domain Controller mit
Linux oder GNU/Linux WS 2013/2014.
Clustering Clustering mit openMosix von Christian Wiese Stefan Krause.
SiPass standalone.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
FTS usage at GridKa Forschungszentrum Karlsruhe GmbH
User Mode Linux Sven Wölfel 1. Juni User Mode Inhalt  Was ist UML?  Wofür kann man UML benutzen?
Wissenschaftliche Kommunikations-Infrastruktur Workshop CIDOC CRM SIG Meeting Germanisches Nationalmuseum, Nürnberg May 19, 2015 Mark Fichtner Germanisches.
What is a “CASE”? in English: pronouns, certain interrogatives
Physik multimedial Lehr- und Lernmodule für das Studium der Physik als Nebenfach Julika Mimkes: Links to e-learning content for.
What is a “CASE”? in English: pronouns, certain interrogatives
GERMAN 1013 Kapitel 5 Review. terminology Word types: –nouns, pronouns, verbs, adjectives, prepositions … Functions: –subject, predicate, object … Form.
type / function / form type of words:
DATIVE has the following forms:
Linux rules the NT-Domain Samba als PDC für Windows NT.
© Linux-AG 2002, G. Hellberg, O. Petry 1 NetWork File System Network File System Konfiguration und Einsatz Network File System Konfiguration und Einsatz.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Regular Expressions HBU-LINUX-2003 Adduser.sh? My_user_Verw.sh? AufgUser.sh? Wo ist das Script ??????? /home/donald ? /home ? /tmp ?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Fedora als Eier legende Wollmilchsau im Heimnetzwerk Benedikt Schäfer Von: Ambassador License statement goes here. See
LINUX II Unit 9 Network File Server NFS. NFS Überblick ● Zugriff von lokalen Rechner über Netzwerk auf Dateien oder Ordnern auf entfernten Servern ● Entwickelt.
1 Grundstruktur von Linux Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
1 Shell Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
Premiere Conferencing GmbH
OAuth 2.0 Ralf Hoffmann 03 / 2017
Ubuntu Clients in der paedML-Linux
...und zwölf. ...and twelve..
Camil Bartkowiak Serhat Cinar Leonardo Di Lella Jan Finsel
A FreeBSD Kernel Rootkit
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
Grundlagen der Betriebssysteme [CS2100]
Security Labor MitM-Demonstration
type / function / form type of words:
DATIV Ich schreibe meinem Bruder einen Brief.
The Possessives.
 Präsentation transkript:

Security-Enhanced Linux (SELinux): Die Hintergründe verstehen Mario Rosic Linuxtage Graz/Wien 2016 Internex GmbH

Ziele Keine Anwendung Keine Befehle Kein Troubleshooting sondern...

Der Plan 1.Das Problem und die Lösungsversuche 2.SELinux: Wie es funktioniert 3.Exploits, die SELinux verhindert 4.Die Rolle des Linux Audit Framework 5.Kritik

Das Problem und die Lösungsversuche Discretionary Access Control (DAC) discretionary (en.) = willkürlich, beliebig, optional Wer bin ich, wem gehört die Datei, der Rest ist egal Hacking like it‘s 1999:

Das Problem... Was nicht geprüft wird...

...und die Lösungsversuche fork & setuid(nonroot) syscalls Setuid root (ls -l /bin/ping: -rwsr-xr-x) Linux Capabilities (e.g. net_bind_service) chroot() Namespaces seccomp-bpf File System Attributes = lsattr, chattr (+a, +i) Extended Access Control Lists = getfacl, setfacl Extended Attributes = getfattr, setfattr

...und die Lösungsversuche Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities.

SELinux: Wie es funktioniert Linux Security Modules (LSM), Kernel 2.6 Mandatory Access Control (MAC) Extended Attributes!

SELinux: Wie es funktioniert ~ # getfattr -m - /usr/bin/ping # file: usr/bin/ping security.capability security.selinux ~ # getfattr -n security.selinux /usr/bin/ping # file: usr/bin/ping security.selinux="system_u:object_r:ping_exec_t:s0"

SELinux: Wie es funktioniert ls -Z ps -Z id -Z...

SELinux: Wie es funktioniert ls -Z.ssh/authorized_keys -rw root root system_u:object_r:ssh_home_t:s0.ssh/authorized_keys

SELinux: Wie es funktioniert ~ $ id –Z guest_u:guest_r:guest_t:s0

Labels für User: guest_u:guest_r:guest_t:s0 Linux-User “hans” v SELinux-User guest_u v SELinux-Rolle guest_r v SELinux Type (+ Level) guest_t:s0

Labels für alles Andere ls -Z /usr/sbin/sshd -rwxr-xr-x. root root system_u:object_r:sshd_exec_t:s0 /usr/sbin/sshd Access Vectors

SELinux: Access Vectors allow sshd_t etc_t : file { ioctl read getattr lock open } allow sshd_t etc_t : dir { ioctl read getattr lock search open } ;

SELinux: Access Vectors ls -Z /var/www/ drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html sesearch -A -s httpd_t | grep httpd_sys_cont [...] allow httpd_t httpd_sys_content_t : dir { ioctl read write getattr lock add_name remove_name search open } ;

SELinux: Access Vectors ls -Z /var/lib/docker drwx root root system_u:object_r:docker_var_lib_t:s0 volumes [...] sesearch -A -s httpd_t | grep docker_var | wc -l 0

SELinux: Labels cat /etc/selinux/targeted/contexts/files/file_contexts [...] /etc/httpd(/.*)? system_u:object_r:httpd_config_t:s0 /etc/nginx(/.*)? system_u:object_r:httpd_config_t:s0 /etc/mysql(/.*)? system_u:object_r:mysqld_etc_t:s0 [...] Customizations: /etc/selinux/targeted/contexts/files/file_contexts.local

Und dann? guest_u – kein X, kein sudo, kein Netzwerkzugriff – keine Executerechte in /home oder /tmp xguest_u – wie guest_u, nur X + Firefox sind erlaubt und HTTP-Ports – Alle Änderungen gehen verloren bei Logout (= Kiosk Mode)

Und dann? Shellshock-Bug in Bash, 09/2014: – bösartiger HTTP-Request kompromittiert Server – www-data Shell mit Angriff auf Apache/Nginx – root Shell mit Angriff auf dhclient (local LAN) – Got SELinux? -> httpd_sys_script_t PHP-Skripte verwandeln Webseiten in Spam- Schleudern? No more.

Linux Audit Framework Host-Based Intrusion Detection System (HIDS) /var/log/audit/audit.log audispd – Policy-Verstöße an zentralen Server weiterleiten - hunderte Hosts gleichzeitig überwachen

Security Enhanced Linux + Linux Audit Framework = <3

Kritik/Probleme/Nachteile Nur zum Teil für Desktops geeignet - Kiosk Mode ist super Primär RHEL/CentOS

Kritik/Probleme/Nachteile Es ist zu kompliziert Hilft nur eingeschränkt gegen Kernel Expliots „Grsecurity ist viel cooler, SELinux ist kompliziert und für Noobs!!!!1111 “

Kritik/Grsecurity Wenn Kernel kaputt, dann alles kaputt.

Danke! Mario Rosic Suchen u.a.: Linux Sysadmins Netzwerkadmins

SELinux lernen Beste SELinux-Videos wo gibt: – “Demystifying SELinux Part II: Whos Policy Is It Anyway? - Dave Quigley – Linux Audit Framework: – ids.pdf ids.pdf Kernel Secuirty: –

Zentrale Begriffe Unterschiedliche Bezeichnungen für ein und dieselbe Sache: – (Security) Context = Label – Label auf einem Prozess = eine Domain = ein Subject – Label auf einer nicht-ausführbaren Datei = ein Type = ein object