Allgemeine Sicherheit des DBS

Werbung
Sicherheit von
Datenbanksystemen
Seminarvortrag
Paul Voth
Aachen, 23. Januar 2012
Institut für Kraftfahrzeuge
RWTH Aachen University
·
Folie Nr. 1
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 2
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 3
© ika 2012· All rights reserved
Einleitung
 Sicherheit hat hohen Stellenwert in IT-Unternehmen und
Banken
 Begriff „Sicherheit“ hat sich gewandelt
 Früher: Sicherstellung der Funktionalität
 Heute: Datensicherheit
intern
extern
 Vorteil bei Privatrechnern:
 Dynamische IP-Adresse
·
Folie Nr. 4
© ika 2012· All rights reserved
Einleitung
 Große Unternehmen dagegen statische IP-Adresse
Leichtes Angriffsziel für Hacker
 Negativbeispiel für Sicherheit:
 Sonys „Playstation Network“
Weitergabe von Informationen mit Bedacht
·
Folie Nr. 5
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Standort des Servers
 Backup / Restore
 Wahl des Betriebssystems
 Interne Bedrohungen
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Windows
 Sicherheit in Linux
·
Folie Nr. 6
© ika 2012· All rights reserved
Allgemeine Sicherheit des DBS
Standort des Servers
 Bevorzugt Rechenzentrum
 Vorteile:
 Rauchmelder
 Überwachungskameras
 Zutritt zum Serverraum gesichert
 Leistungsfähige Klimaanlage
·
Folie Nr. 7
© ika 2012· All rights reserved
Allgemeine Sicherheit des DBS
Standort des Servers
 Geringere Anforderungen in kleinen Firmen:
 Gut gekühlter Raum
 Unabhängiges Türschloss
 Zutritt nur für Administratoren
 Keine Eingabegeräte am Server
 Keine direkte Verbindung zum Internet
·
Folie Nr. 8
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Standort des Servers
 Backup / Restore
 Wahl des Betriebssystems
 Interne Bedrohungen
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Windows
 Sicherheit in Linux
·
Folie Nr. 9
© ika 2012· All rights reserved
Allgemeine Sicherheit des DBS
Backup / Restore
 Anfertigung von Sicherungskopien
 Von erfahrenen Personen anfertigen lassen
 Auslagerung auf separate Backup-Server
 Eventuell auf externen Festplatten
·
Folie Nr. 10
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Standort des Servers
 Backup / Restore
 Wahl des Betriebssystems
 Interne Bedrohungen
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Windows
 Sicherheit in Linux
·
Folie Nr. 11
© ika 2012· All rights reserved
Allgemeine Sicherheit des DBS
Wahl des Betriebssystems
 Open-Source
 sicher
 kostenpflichtig
 bekannt
 An Anforderungen von Software anpassen
 Ausgewogenheit zw. Sicherheit und Performance
·
Folie Nr. 12
© ika 2012· All rights reserved
Allgemeine Sicherheit des DBS
Wahl des Betriebssystems
 Im Folgenden:
·
Folie Nr. 13
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 14
© ika 2012· All rights reserved
Sicherheit in Windows
Firewall
 Schutz vor Angriffen aus lokalem Netz
Kein Ersatz für Firewalls aus Rechenzentren
 Regeln für unterschiedliche Netzwerke:
 Privat
 Öffentlich
 Firma
 Keine Software von Drittanbieter installieren
 Enthält möglicherweise selbst Sicherheitslücken
Gefahr für Sicherheit
·
Folie Nr. 15
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 16
© ika 2012· All rights reserved
Sicherheit in Windows
Virenschutz
 Installierte Software:
 Microsoft Tool zum Entfernen bösartiger Software
Entfernt nur aktive Schadsoftware
Schadsoftware muss an sensiblen Stellen im
System sein
Kein echtes Antivirenprogramm
 Empfehlung:
 Externes Antivirenprogramm
·
Folie Nr. 17
© ika 2012· All rights reserved
Sicherheit in Windows
Virenschutz
 Kriterien für Antivirenprogramm
 Tägliche Updates
 Geringe Auslastung des Servers
 Preis-Leistungsverhältnis beachten
 Gute Erkennungsrate für Schädlinge
 Gute Heuristik
 Kein falscher Alarm
 Für Server wichtig:
 Info an Admin bei Fund
·
Folie Nr. 18
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 19
© ika 2012· All rights reserved
Sicherheit in Windows
Updates
 Windows Server Update Service (WSUS)
 Aktualisiert Funktionalität
 Schließt Sicherheitslücken
 Updates auch für SQL-Server
 Aktualisiert Software von anderen Herstellern
 Automatische Updates
Manuelle Updates
Vorsicht vor inkompatiblen
Updates
Administrator muss vor
Ort sein
 Programme nachhaltig pflegen
·
Folie Nr. 20
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 21
© ika 2012· All rights reserved
Sicherheit in Windows
Benutzer
 Einteilung der Benutzer:
 Administrator des Betriebssystems
Ausschließlich für Serverkonfiguration
 Administrator für SQL-Datenbank
Ausschließlich für Datenbank
 Verwaltung durch Remotedesktopverbindung
Gruppe anlegen für Remotedesktopbenutzer
Keine Standardbenutzer mehr
·
Folie Nr. 22
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 23
© ika 2012· All rights reserved
Sicherheit in Windows
Passwort
 Muss einige Anforderungen erfüllen:
 Darf keinen Teil des Benutzernamen enthalten
 Keine Wörterbucheinträge
 Mindestens zehn Zeichen lang
 Zeichen aus drei der vier Kategorien enthalten:
 Großbuchstaben (A bis Z)
 Kleinbuchstaben (a bis z)
 Zahlen (0 bis 9)
 Nicht-alphabetische Zeichen (z.B. !, $, #)
Gilt dann als „sicher“
·
Folie Nr. 24
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Firewall
 Virenschutz
 Updates
 Benutzer
 Passwort
 Verzicht auf
Anwendungen/Dienste
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
·
Folie Nr. 25
© ika 2012· All rights reserved
Sicherheit in Windows
Verzicht auf Anwendungen / Dienste
 Sicherheitskritische Programme deinstallieren
 Vorsicht bei Programmen mit Internetverbindung
 Möglicherweise Weitergabe von Daten im Hintergrund
 Für Server und DB irrelevante Software deinstallieren
 Dienste wie Telnet deaktivieren
 Dessen Port (22) sperren
 Andernfalls nur für SSH-Zugriff freigeben
·
Folie Nr. 26
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
 Root
 Firewall
 TCP-Wrapper
·
Folie Nr. 27
© ika 2012· All rights reserved
Sicherheit in Linux
Root
 Nach Installation des Servers:
 Passwort für root ändern
 Rechte für Kommando su nur an bestimmte Benutzer
 Zum Arbeiten andere Benutzer als root wählen
 root nur für Administration
 SSH-Zugriff als root verhindern:
 PermitRootLogin von YES auf NO
·
Folie Nr. 28
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
 Root
 Firewall
 TCP-Wrapper
·
Folie Nr. 29
© ika 2012· All rights reserved
Sicherheit in Linux
Firewall
 Regeln:
 Einen Grundsatz wählen
 Was nicht explizit erlaubt ist, ist verboten
Sicher, aber zeitaufwändig
 Was nicht explizit verboten ist, ist erlaubt
Unsicher, aber leicht umsetzbar
 Reihenfolge der Regeln entscheidend
Am Ende alles verbieten
·
Folie Nr. 30
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Sicherheit in Linux
 Root
 Firewall
 TCP-Wrapper
·
Folie Nr. 31
© ika 2012· All rights reserved
Sicherheit in Linux
TCP-Wrapper
 Sicherheitsschicht zw. inetd und restlichen Diensten
 inetd reicht Anfrage an tcpd
 Vorgehen von tcpd:
 Host in /etc/hosts.allow eingetragen?
Ja
Dienst sofort starten
 Host in /etc/hosts.deny eingetragen?
Ja
Ausführung des Dienstes verweigert
 Nein
Dienst starten
 Sicherheitsmaßnahme:
 ALL: ALL in /etc/hosts.deny eintragen
·
Folie Nr. 32
© ika 2012· All rights reserved
Agenda
 Einleitung
 Allgemeine Sicherheit des DBS
 Externe Bedrohungen
 SQL Injection
 Cross-Site-Scripting (XSS)
 Denial-of-Service (DoS)
 Sicherheit in Windows
 Interne Bedrohungen
 Sicherheit in Linux
 Allgemeine Sicherheit
(Ergänzung)
·
Folie Nr. 33
© ika 2012· All rights reserved
Externe Bedrohungen
SQL Injection
 SQL-Abfragen in Formularfeldern
 Befehle können in URL stehen
 Unzureichende Absicherung von SQL-Abfragen
 Mehr als 90% Datendiebstähle durch SQL Injection
·
Folie Nr. 34
© ika 2012· All rights reserved
Externe Bedrohungen
SQL Injection
 Beispiel (PHP):
 $query = “SELECT * FROM ‘adressen‘ WHERE ‘haus_nr‘ LIKE
‘“.$_GET[‘nummer‘].“‘“;
 Variable „nummer“ ersetzen durch
 1‘; DROP TABLE ‘adressen‘;--
 Ergebnis
 $query = “SELECT * FROM ‘adressen‘ WHERE ‘haus_nr‘
LIKE ‘1‘; DROP TABLE ‘adressen‘;--‘“;
Tabelle „adressen“ wird gelöscht
 Weitere Ausnutzung:
 Neue Benutzer mit Adminrechten anlegen
·
Folie Nr. 35
© ika 2012· All rights reserved
Externe Bedrohungen
SQL Injection - Schutzmaßnahmen
 Prüfung der Eingabedaten
 Zahlen in Zahlenfeldern
 Texte in Textfeldern
 Datum im Datumsfeld
 In PHP:
 mysql_real_escape_string()
 Maskierung von SQL-spezifischen Zeichen
 Nachteil: Alle Variablen selber prüfen
 Ausreichend, aber nicht bester Schutz
·
Folie Nr. 36
© ika 2012· All rights reserved
Externe Bedrohungen
SQL Injection - Schutzmaßnahmen
 Besser:
 PHP Data Object
 Klassen: PDO, PDOStatement
 Realisierung von Prepared Statements
 SQL-Statement mit Platzhaltern
$query = “SELECT * FROM ‘mitarbeiter‘ WHERE
‘nachname‘ LIKE :name“;
 Vorbereiten mit: prepareStatement($query)
Statement wird an Server gesendet
 DB-Treiber kümmert sich um Validierung
 Nur noch Änderung der freien Parameter
 bindParam(“:name“, $name)
·
Folie Nr. 37
© ika 2012· All rights reserved
Agenda
 Einleitung
 Allgemeine Sicherheit des DBS
 Externe Bedrohungen
 SQL Injection
 Cross-Site-Scripting (XSS)
 Denial-of-Service (DoS)
 Sicherheit in Windows
 Interne Bedrohungen
 Sicherheit in Linux
 Allgemeine Sicherheit
(Ergänzung)
·
Folie Nr. 38
© ika 2012· All rights reserved
Externe Bedrohungen
Cross-Site-Scripting (XSS)
 JavaScript-Code in Formularfeldern
 Üblicherweise wird GET-Parameter geändert
 Mangels Validierung wird Befehl ausgeführt
 Mögliche Folgen:
 Zugriff auf Login-Daten anderer User
 Cookie-Informationen anderer User auslesen
 Bestandteile von Sessions manipulieren
·
Folie Nr. 39
© ika 2012· All rights reserved
Externe Bedrohungen
Cross-Site-Scripting (XSS) - Schutzmaßnahmen
 Validierung aller für DB relevanten Variablen
 Sowohl GET- als auch POST-Parameter
 In PHP:
 htmlentities()
 HTML wird als Text ausgegeben
 Bei erwünschten HTML-Tags
 Eigene Funktionen schreiben
Gefahr: HTML-Tags werden übersehen
·
Folie Nr. 40
© ika 2012· All rights reserved
Agenda
 Einleitung
 Allgemeine Sicherheit des DBS
 Externe Bedrohungen
 SQL Injection
 Cross-Site-Scripting (XSS)
 Denial-of-Service (DoS)
 Sicherheit in Windows
 Interne Bedrohungen
 Sicherheit in Linux
 Allgemeine Sicherheit
(Ergänzung)
·
Folie Nr. 41
© ika 2012· All rights reserved
Externe Bedrohungen
Denial-of-Service (DoS)
 Auslastung des Servers durch zu viele Anfragen
 DoS durch Ausnutzung von Programmierfehlern
 Andere Form: DDos (Distributed Denial of Service)
 Anfragen unzähliger Rechner gleichzeitig (Botnetze)
Dienst stürzt ab
Annahme weiterer Anfragen verweigert
Angreifer kann IP-Adresse „kapern“
·
Folie Nr. 42
© ika 2012· All rights reserved
Externe Bedrohungen
Denial-of-Service (DoS) – Schutzmaßnahmen
 Solider Schutz durch Sperrlisten
 Pakete der IP-Adresse werden verworfen
 Firewall:
 Begrenzte Anzahl an Paketen pro Zeiteinheit
durchlassen
DoS-Angriff verliert Effektivität
·
Folie Nr. 43
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Missbrauch von
Zugriffsrechten
 Fehlerhafte
Datenbankkonfiguration
 Sicherheit in Windows
 Sicherheit in Linux
 Allgemeine Sicherheit
(Ergänzung)
·
Folie Nr. 44
© ika 2012· All rights reserved
Interne Bedrohungen
Missbrauch von Zugriffsrechten
 Größte Gefahr ist Mitarbeiter
 Unerfahrene Benutzer
 Daten lokal speichern
 Gefährdung der Daten durch Trojaner / Viren
 Benutzer mit uneingeschränkten Zugriffsrechten
 Überschreitung des Zuständigkeitsbereichs
 Gefährlich bei:
 Neuen Mitarbeitern
 Mitarbeitern kurz vor Entlassung
·
Folie Nr. 45
© ika 2012· All rights reserved
Interne Bedrohungen
Missbrauch von Zugriffsrechten Schutzmaßnahmen
 Rechte auf relevante Tabellen einschränken
 Kontrolle der Logdateien
 Verdächtig: Zu häufige Zugriffszahl auf Datenbestand
 Verhalten der Benutzer beobachten
 Welche Daten benutzen sie?
 DB-User für jeden Mitarbeiter
 Verwendung von „Views“
·
Folie Nr. 46
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Missbrauch von
Zugriffsrechten
 Fehlerhafte
Datenbankkonfiguration
 Sicherheit in Windows
 Sicherheit in Linux
 Allgemeine Sicherheit
(Ergänzung)
·
Folie Nr. 47
© ika 2012· All rights reserved
Interne Bedrohungen
Fehlerhafte Datenbankkonfiguration
 Sicherheitslücken werden mit der Zeit entdeckt
 Datenbank wird nach Installation nicht nachbearbeitet
 Standardbenutzer
 Standardpasswort
 Adminzugang ohne Passwort
 Unterschiedliche Hosts greifen auf DB zu
Sicherheitsrisiko
·
Folie Nr. 48
© ika 2012· All rights reserved
Interne Bedrohungen
Fehlerhafte Datenbankkonfiguration Schutzmaßnahmen
 Sicherheitsupdates installieren
 Zusätzliche Patches auf Notwendigkeit prüfen
 Zugriff außerhalb des Firmennetzes verbieten
 Innerhalb des Firmennetzes nur verschlüsselt
 Zugriff möglichst nur über localhost
 Passwort und Benutzername von root ändern
 Nur root hat alle Privilegien
·
Folie Nr. 49
© ika 2012· All rights reserved
Interne Bedrohungen
Fehlerhafte Datenbankkonfiguration Schutzmaßnahmen
 Wichtige Konfigurationsdatei: /etc/my.cnf
 Eigentümerrechte der Datei an root
Modifizierungsrecht auch an root
 Nur Leserecht an alle anderen Benutzer
·
Folie Nr. 50
© ika 2012· All rights reserved
Agenda
 Einleitung
 Externe Bedrohungen
 Allgemeine Sicherheit des DBS
 Interne Bedrohungen
 Sicherheit in Windows
 Allgemeine Sicherheit
(Ergänzung)
 Verschlüsselung von Daten
 Sicherheit in Linux
·
Folie Nr. 51
© ika 2012· All rights reserved
Allgemeine Sicherheit (Ergänzung)
Verschlüsselung von Daten
 Am häufigsten benutzt für Passwort
 Hilft bei unsicherem Passwort wenig
 Alle sensiblen Daten nur verschlüsselt speichern
 Funktionen:
 PASSWORD (41 Zeichen, nur MySQL-intern)
 MD5 (32 Zeichen)
 SHA1 (40 Zeichen)
SHA1 ist am sichersten
·
Folie Nr. 52
© ika 2012· All rights reserved
Danke
·
Folie Nr. 53
© ika 2012· All rights reserved
Herunterladen