Beste Praktiken für die Sicherheit von Oracle-Datenbanken
Keines der Datenbankverwaltungssysteme ist standardmäßig sicher. Sie können jedoch die meisten Bedrohungen vermeiden, indem Sie die Umgebung ordnungsgemäß konfigurieren. In diesem Artikel fassen wir unser Wissen über die Sicherheit von Oracle-Datenbanken zusammen und listen die Maßnahmen auf, die Sie beim Arbeiten mit Oracle-Datenbanken berücksichtigen sollten.
1. Beseitigung von Standardpasswörtern
Das allererste, was im Hinblick auf die Datenbanksicherheit zu tun ist. Wenn Sie Passwörter verwenden, die leicht gehackt oder per Brute-Force-Angriff geknackt werden können, sind alle anderen Sicherheitsmaßnahmen so nutzlos wie ein Schuhgeschäft im Auenland. Angreifer beginnen mit einfachen Wegen, die maximalen Schaden verursachen. Wir hoffen, dass nach den jüngsten berüchtigten Angriffen auf falsch konfigurierte MongoDB- und MySQL-Datenbanken die Mehrheit die Botschaft verstanden hat. LASSEN SIE KEINE Standard- oder schwachen Passwörter und stellen Sie sicher, dass gespeicherte Passwörter verschlüsselt sind.
Verwenden Sie das folgende Skript, um Benutzerkonten zu finden, die Standardpasswörter haben.
sqlpus sys as sysdba
Enter password: password
SELECT d.username, u.account_status
FROM DBA_USERS_WITH_DEFPWD d, DBA_USERS u
WHERE d.username = u.username
ORDER BY 2,1;
Verwenden Sie das Checkpwd-Tool, um Konten mit schwachen Passwörtern zu identifizieren. Es handelt sich um einen auf Wörterbüchern basierenden Passwortprüfer für Oracle-Datenbanken. Das Tool liest Passwort-Hashes aus der dba_users-Ansicht und vergleicht lokale Hash-Schlüssel mit den Hash-Schlüsseln aus der bereitgestellten Wörterbuchdatei. Es zeigt die Liste der abgelaufenen Konten und schwachen Passwörter an, damit Sie diese ändern können.
checkpwd system/oracle@//127.0.0.1:1521/orcl password_list.txt
2. Aktualisieren und Patchen
Der nächste Schritt besteht darin, die neueste Version des Datenbankmanagementsystems zu installieren. Sobald das System aktualisiert ist, können Sie ohne Fehler und andere bereits behobene Probleme arbeiten. Entwickler sind ständig bestrebt, die Oracle-Datenbank sicherer zu machen, was besonders in der Oracle-Datenbank 12c auffällt.
Viermal im Jahr veröffentlicht Oracle das Critical Patch Update, das zahlreiche kritische Sicherheitslücken auf verschiedenen Plattformen, einschließlich der Oracle-Datenbank, behebt. Mit dem Update liefert Oracle allgemeine Informationen über behobene Sicherheitslücken, die Angreifer sofort analysieren und ausnutzen. Laut dem neuesten Wallarm-Bericht dauert es 2 bis 4 Stunden, bis Hacker beginnen, eine neu gemeldete Sicherheitslücke auszunutzen. Verpassen Sie also nicht das Update.
Überprüfen Sie den Zeitplan für Critical Patch Updates hier.
3. Trennen Sie Aufgaben
Kennen Sie das Pipeline-Architekturmuster, bei dem jedes Mitglied des Systems nur seine Arbeit macht und nichts anderes? Das klingt langweilig, sollten Sie jedoch in Betracht ziehen, ähnlich Architekturen in der Unternehmensumgebung zu implementieren. Denken Sie zweimal nach, bevor Sie Privilegien wie Flugblätter verteilen.
Im Allgemeinen ist es die beste Praxis, alle Privilegien zu entfernen und sie auf einer “Need-to-Know”-Basis zu erteilen. Starten Sie neu. Dies hilft Ihnen, Szenarien zu vermeiden, in denen ein Sicherheitsbeauftragter nicht sorgfältig genug war, um zu bemerken, dass ein John aus der Managementabteilung Zugriff auf proprietäre Informationen und Geschäftsgeheimnisse hatte.
4. Passwörter verwalten
Seit Jahren speichern Administratoren die Kontopasswörter unverschlüsselt in einem Skript oder einer Konfigurationsdatei. Oracle hat den Secure Password Store eingeführt, um das Problem zu lösen. Die Funktion ermöglicht es Ihnen, eine Wallet-Datei zu erstellen, in der Sie Datenbankanmeldeinformationen sicher speichern können.
Oracle-Datenbanken verfügen über eine Reihe von Tools zum Schutz von Passwörtern. Einige davon sind standardmäßig deaktiviert.
- Überprüfung der Passwortkomplexität Es gibt eine einfache Funktion zur Passwortüberprüfung in den PL/SQL-Skripten UTLPWDMG.SQL ($ORACLE_HOME/rdbms/admin). Das Skript ist standardmäßig deaktiviert. Um es zu aktivieren, melden Sie sich mit administrativen Rechten bei SQL*Plus an und führen Sie das Skript aus.
CONNECT SYS/AS SYSDBA Enter password: password @$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
Die Parameter, die die Passwortanforderungen festlegen, sind standardmäßig gesetzt, aber Sie können deren Wert nach eigenem Ermessen ändern. Seit der Version 11g ist die Groß- und Kleinschreibung für Passwörter standardmäßig aktiviert. - Kontosperrung Aktivieren Sie das Sperren von Konten nach 3 ungültigen Versuchen für einen bestimmten Zeitraum. Dies reduziert das Risiko von Brute-Force-Angriffen erheblich. Setzen Sie die folgenden Parameter, um Kontosperren für ein Oracle-Profil zu spezifizieren:
FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 10
Das Argument des zweiten Parameters ist auf 10 Tage gesetzt. Verwenden Sie den Parameter INACTIVE_ACCOUNT_TIME, um den Inaktivitätszeitraum festzulegen, nach dem das Konto gesperrt wird (der Wert wird ebenfalls in Tagen ausgedrückt).
5. Standard-Auditeinstellungen ändern
Oracle 12c hat den Unified Audit Data Trail eingeführt, der SYS.AUD$ für das Datenbankprotokoll der Datenbanküberwachung, SYS.FGA_LOG$ für die feinkörnige Überwachung, DVSYS.AUDIT_TRAIL$ für Oracle Database Vault und Oracle Label Security kombiniert.
In Oracle 12c ist der Standardwert von audit_sys_operations TRUE, aber wenn Sie die ältere Version verwenden, müssen Sie den Parameter aktivieren, damit SQL-Befehle des Benutzers sys überprüft werden.
Verwenden Sie den folgenden Befehl, um ihn zu aktivieren, und starten Sie das System neu.
SQL> alter system set audit_sys_operations=true scope=spfile;
Aktivieren Sie das audit_trail, um SQL-Befehle zu überwachen.
SQL> alter system set audit_trail=DB,EXTENDED scope=spfile;
Wenn Sie beginnen, mit Oracle Database 12c zu arbeiten, können Sie den gemischten Modus verwenden, indem Sie eine Richtlinie mit dem Befehl CREATE AUDIT POLICY erstellen und sie dann mit dem Befehl AUDIT aktivieren. Sie können auch vordefinierte Richtlinien verwenden (siehe hier, um mehr über die Standard-Audit-Richtlinien zu erfahren).
6. Starke Authentifizierungsmethoden implementieren
Die Authentifizierung der Benutzeridentität ist in verteilten Umgebungen unerlässlich. Neben der Standardauthentifizierung unterstützt die Oracle-Datenbank branchenübliche Authentifizierungsprotokolle und -dienste von Drittanbietern. Um sie zu nutzen, müssen einige Konfigurationsänderungen vorgenommen werden.
- Kerberos Ein Authentifizierungsprotokoll, das hauptsächlich für ein Client-Server-Modell entwickelt wurde und gegenseitige Authentifizierung bietet.
- Secure Socket Layer (SSL) Ein branchenübliches Protokoll zur Sicherung von Netzwerkverbindungen.
- Remote Authentication Dial-In User Service (RADIUS) Ein Client/Server-Sicherheitsprotokoll, das Remote-Authentifizierung und Zugriff ermöglicht.
- Kontrollieren Sie den Datenbankzugriff mithilfe von Tools wie Kerberos, Oracle-Berechtigungssicherheit, Oracle-Wallet-Sicherheit und Oracle-virtuellen privaten Datenbanken.
- Beim Remote-Datenbankzugriff ist nur der Zugriff über sichere Schlüssel (Secure Shell (SSH) oder VPN) zulässig.
7. Sensible Daten verwalten
Das Leaken sensibler oder vertraulicher Daten kann zu schwerwiegenden Konsequenzen führen. Daher sollten persönlich identifizierbare Informationen, geschützte Gesundheitsinformationen, proprietäre Informationen und geistiges Eigentum mit besonderer Sorgfalt behandelt werden.
Zunächst müssen Sie angeben, wo sie sich befinden. Es gibt verschiedene Lösungen, die zum Durchsuchen von Daten auf mehreren Plattformen entwickelt wurden. Oracle-Datenbanken haben ein integriertes Dienstprogramm zum Schutz sensibler Daten.
DBAs müssen Datenbanken, aber nicht die Daten verwalten, ebenso wie Drittentwickler und Tester. Datenmaskierungslösungen können in diesem Fall sehr hilfreich sein.
8. Zusätzliche Sicherheitstools verwenden
Das anfälligste Objekt in einer Produktionsumgebung ist die Datenbank, aber die Mehrheit der Unternehmen gibt den größten Teil ihres Sicherheitsbudgets für Netzwerksicherheit aus. Der Schutz der Datenbank sollte mehr Aufmerksamkeit erhalten.
- Datenbank-Aktivitätsüberwachung Wenn Ihr Unternehmen sich DAM-Tools leisten kann, können diese sehr nützlich sein. Sie bieten eine vollständige Sichtbarkeit aller Datenbankaktivitäten und Systemänderungen in Echtzeit. Sie benachrichtigen DBAs, falls verdächtige Aktivitäten festgestellt werden. Integrieren Sie es in ein SIEM-System, und Sie erhalten eine Echtzeitanalyse von Sicherheitsbedrohungen, sodass Sie sofort Maßnahmen gegen aufkommende Angriffe ergreifen können. Oracle Advanced Security Database Option umfasst ein DAM-Tool. Drittanbieter-Lösungen können ebenfalls verwendet werden.
- Datenbank-Firewall Funktioniert als Proxy, verarbeitet eingehenden und ausgehenden Datenbankverkehr und schützt vor SQL-Injection- und unbefugten Zugriffsversuchen. Sie können lernen, wie eine Firewall vor SQL-Injection-Angriffen schützt, am Beispiel unseres Produkts.
- Datenbankverkehrsverschlüsselung Oracle Advanced Security Database Option beinhaltet ein Datenverschlüsselungstool. Drittanbieter-Lösungen können ebenfalls verwendet werden. Diese Lösungen konvertieren Klartextdaten basierend auf einem speziellen Schlüssel in unleserlichen Chiffretext, sodass nur autorisierte Parteien darauf zugreifen können. Ohne Kenntnis des Verschlüsselungsalgorithmus ist es nahezu unmöglich, die ursprünglichen Daten aus dem verschlüsselten Text wiederherzustellen.
9. Schulung! Beseitigung von Cybersecurity-Unkenntnis
Keine der oben genannten Maßnahmen wird funktionieren, wenn Ihre Kollegen ihre Passwörter an ihre Monitore kleben und Anhänge bösartiger E-Mails herunterladen. Laut dem neuesten IBM-Sicherheitsbericht stammen 60 % der Bedrohungen für die Cybersicherheit von innen. Es kann sich um einen böswilligen Insider oder einen unvorsichtigen Akteur handeln.
Organisieren Sie Sicherheitsschulungen. Erklären Sie den Mitarbeitern die Bedeutung von Vorsichtsmaßnahmen. Es ist auch hilfreich, sie über die Sicherheitsgesetzgebung und die von Regulierungsorganen verhängten Strafen für Nichteinhaltung und Cyberkriminalität zu informieren.
10. Seien Sie paranoid
Wir verfolgen regelmäßig Nachrichten zur Informationssicherheit, und es ist erstaunlich, wie so gigantische Unternehmen gehackt werden. Unternehmen, die sich die besten Sicherheitsanwendungen leisten können. Warum passiert das? Offensichtlich liegt die Antwort auf diese Frage in der Herangehensweise an das Thema. Wenn Sie Ihre Arbeitsprozesse als langweilige unnötige Routine betrachten, werden Sie einige der wichtigen Probleme unbeachtet lassen und irgendwie gehackt werden. Aber wenn Sie die Verantwortung Ihrer Position erkennen und es richtig machen wollen, sollten Sie paranoid werden. Erwarten Sie Angriffe jede Minute aus jeder Richtung.
Seien Sie sorgfältig und lassen Sie niemanden Schutzmaßnahmen vernachlässigen. Gehen Sie alle Sicherheitsempfehlungen von Oracle durch (den Link finden Sie im Abschnitt Referenzen). Es ist eine harte Arbeit, aber es lohnt sich. Menschen sprechen selten über abgewehrte Angriffe, aber wenn der Name Ihres Unternehmens nicht in Sicherheitsnachrichten auftaucht, wissen wir, dass Sie es sind, lieber Sicherheitsmann, der die Arbeit so erledigt hat, wie sie erledigt werden sollte.
Für den umfassenden Schutz Ihrer Oracle-Datenbanken verwenden Sie die folgenden Komponenten der DataSunrise Database Security Suite:
- Oracle Activity Monitoring
- Oracle Data Masking
- Database Firewall
- Oracle Performance Monitoring
- Oracle Sensitive Data Discovery
*Referenzen
https://docs.oracle.com/cd/B28359_01/network.111/b28531/toc.htm