Oracle ist ironische OS - Authentifizierung gemäß der Oracle Database Security Guide , das besagt ,
Beachten Sie, dass der Parameter REMOTE_OS_AUTHENT in Oracle Database 11g Release 1 (11.1) veraltet ist und nur aus Gründen der Abwärtskompatibilität beibehalten wird.
Darüber hinaus betrachten die meisten Sicherheitsinformationen und -tools die (externe) Betriebssystemauthentifizierung als Sicherheitsproblem. Ich versuche zu verstehen, warum dies der Fall ist. Hier sind einige Vorteile der Betriebssystemauthentifizierung:
- Anwendungen ohne Betriebssystemauthentifizierung müssen Kennwörter in einer Vielzahl von Anwendungen mit jeweils eigenem Sicherheitsmodell und eigenen Sicherheitslücken speichern.
- Die Domänenauthentifizierung muss bereits sicher sein. Andernfalls verlangsamt die Datenbanksicherheit den Zugriff auf die Datenbank, kann ihn jedoch nicht verhindern.
- Benutzer, die sich nur ein Domänenkennwort merken müssen, können sicherere Domänenkennwörter erstellen als weniger sichere Datenbankkennwörter, wenn die Anzahl der verschiedenen Datenbanken, zu denen sie eine Verbindung herstellen müssen, zunimmt.
oracle
oracle-11g-r2
security
Leigh Riffel
quelle
quelle
Antworten:
Stellen Sie sich das folgende Szenario vor:
gaius
dem Oracle-Server ist ein Unix-Benutzer mit externer Authentifizierung angegeben, sodass in Oracle ein entsprechender Benutzer angegeben istops$gaius
. Wenn ich bei einer Shell angemeldet bin, kann ich mich auch direkt bei meinem Oracle-Schema anmelden, und meine Cron-Jobs benötigen auch kein im Skript eingebettetes Kennwort.rlogin
/rsh
verwendet normalerweise zugelassen werden)gaius
und führt SQL * Plus als diesen Benutzer ausOSUSER
inV$SESSION
) istgaius
und meldet diesen Remote-Benutzer an alsops$gaius
Das ist nicht nur lächerlich leicht zu fälschen, aber setzen auf Hut meine Zyniker ist, Oracle kann nicht mehr Geld verdienen Sie ihr Verkauf Phantasie Single - Sign-On - Produkt ... die übrigens nicht alle Punkte erfüllen Sie als Vorteile von OS erhöhen Auth. Zwei Passwörter, die besser sind als eines, sind völlig falsch. Die meisten Leute werden sie sowieso gleich einstellen (es gibt keinen Mechanismus in Oracle, der dies verhindert).
Das allgemeine Prinzip ist, dass es extrem schwierig ist, Software zu verteidigen, wenn ein Angreifer physischen Zugriff hat. Und vertraue niemals dem Kunden.
quelle
Es erhöht einzelne Fehlerquellen und vergrößert die Risikofläche Ihrer Daten.
Ein Angreifer, der Zugriff auf das System erhält, hat mit der Betriebssystemauthentifizierung Zugriff auf die Datenbank. Da ein sichererer Zugriff auf die Datenbank erforderlich ist, muss der potenzielle Angreifer seine Berechtigungen für das gefährdete System ausweiten, um Root- oder Oracle-Zugriff zu erhalten, und nicht für jeden Benutzer.
Dieses Problem ist eine Funktion des externen Zugriffs auf die Datenbank. Wenn es keinen externen Zugriff gibt und der Computer vollständig gesichert ist, ist die Frage der Berechtigungen umstritten. Wenn Entwickler jedoch Zugriff haben, erhöhen die Benutzerberechtigungen auf Betriebssystemebene den Umfang potenzieller Sicherheitskatastrophen.
Ziehen Sie in Betracht, den Umfang von Sicherheitsverletzungen auf mehrere Ebenen zu beschränken und Benutzern, Anwendungen oder Clients den erforderlichen Zugriff zu gewähren, ohne für jede Instanz ein Konto auf Betriebssystemebene erstellen zu müssen.
quelle
Gaius hat bereits darauf hingewiesen, warum die Remote- Betriebssystemauthentifizierung (im Gegensatz zur Vanilla-Betriebssystemauthentifizierung, bei der lokale Computerbenutzer ohne Angabe eines separaten Kennworts auf die Datenbank zugreifen können) relativ unsicher ist.
Ich würde erwarten, dass sich Oracle in diese Richtung bewegt, weil es die Benutzer dazu ermutigen möchte, Unternehmensbenutzer (oder die vollständige Identitätsverwaltungssuite) anstelle von Benutzern zu verwenden, die vom Remote-Betriebssystem authentifiziert wurden. Unternehmensbenutzer haben die gleichen Vorteile wie Benutzer, die über ein Remote-Betriebssystem authentifiziert wurden. Oracle versucht jedoch, Ihren Active Directory-Server für die Authentifizierung des Benutzers zu aktivieren. Sie erhalten die gleichen Vorteile für einmaliges Anmelden, ohne die Sicherheitsüberprüfung dem Client-Computer zu überlassen.
quelle
Sie weisen ausdrücklich auf eine Authentifizierung im Identitätsstil hin, möchten jedoch auch darauf hinweisen, dass andere Methoden zum Binden von Datenbanken oder anderen Anmeldungen an die Anmeldungen des Betriebssystems genauso schlecht sind. (sei es lokale Passwortdateien, LDAP oder was auch immer für die tatsächliche Speicherung der Anmeldeinformationen)
Wenn Sie Remoteverbindungen zur Datenbank (oder zum Webserver oder zur Authentifizierung) zulassen, ignorieren einige Betriebssysteme möglicherweise festgelegte Regeln, die das Erzwingen von Konten erschweren (z. B. Blockieren von IP-Adressen, von denen die fehlgeschlagenen Versuche ausgehen; Sperren) Benutzer für einen Zeitraum nach einer festgelegten Anzahl von Fehlern, etc). Normalerweise sind diese Regeln an das gesamte Authentifizierungssystem gebunden
sshd
und nicht an dieses .Sollte jemand in der Lage sein, eine Verbindung mit der Datenbank / dem Webserver / irgendetwas aus der Ferne herzustellen, kann er das Passwort brutal erzwingen, da Datenbanken normalerweise nicht die gleichen Mechanismen haben, um Versuche zu verlangsamen.
quelle
mod_auth_apple
undmod_auth_digest_apple
die Standardversionen für, obwohl ich nicht getestet , ob das Problem in 10.6 noch existiert)