2008-09-16 7 views

Antwort

5

Sie können eine Verbindung über eine sichere Socket-Verbindung herstellen oder das Kennwort vor dem Senden an die Datenbank hashen (oder besser beides). Im Idealfall sollte das Kennwort vor dem Hashing nur in Klartextform vorliegen. Wenn Sie all das auf der Client-Seite tun können, desto besser.

0

Wenn Sie die Daten nicht im Klartext, verwenden Verschlüsselung senden möchten !!!

einige Verschlüsselungsalgorithmus verwenden wie AES, Twofish usw.

Sie müssen auch berücksichtigen, wo Ihr Client und Server sind. Wenn sie sich beide in derselben Maschine befinden, ist es nicht sinnvoll, eine Verschlüsselung zu verwenden. Wenn sie sich auf verschiedenen Computern befinden, verwenden Sie einen Verschlüsselungsalgorithmus, um sensible Daten zu senden.

Wenn Sie die Gültigkeit der Passwörter überprüfen, können Sie einfach den Hash des Passworts senden. Beachten Sie, dass diese Methode nur funktioniert, wenn Sie das Passwort selbst vergleichen. Wenn eine andere Anwendung (außerhalb Ihrer Kontrolle) den Überprüfungsauftrag ausführt, können Sie das Kennwort nicht hashen.

2

einverstanden ist, nie im Nur-Text wählte der Benutzer das Passwort. Wenn Sie jedoch die Verschlüsselung mit öffentlichem Schlüssel verwenden, wird Ihnen ein Kennwort in Klartext angezeigt. Eine Sache, die ich oft gesehen habe, ist, dass, wenn der Benutzer das Passwort vergisst und es an sie gesendet wird, das System ein neues Passwort generiert und dieses an den Benutzer sendet. Der Benutzer kann dann das Passwort ändern.

diese Weise das Passwort der Benutzer wählen (die der Benutzer möglicherweise an anderer Stelle verwendet) wird nie gesendet, während ihr vorläufiges Passwort unverschlüsselt gesendet wird, sollten sie es bald nach ändern.

+0

Genau. Jeder Server, der in der Lage ist, Ihnen Ihr vergessenes Passwort per E-Mail zuzusenden, a) speichert sie nicht sicher und b) kennt sich nicht mit der Serversicherheit aus ... Wenn Sie eine E-Mail mit dem Passwort im Klartext senden, werden Sie kompromittiert. – ajacian81

4

Sie können eine SSL-Verbindung zwischen Oracle-Client und Oracle-Datenbank verwenden. So konfigurieren Sie SSL zwischen Oracle-Client und dem Server mithilfe von JDBC:

Auf Server-Seite:

1) Zunächst einmal muss der Hörer konfiguriert werden, um das TCPS Protokoll zu verwenden:

LISTENER = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPs) (HOST = Server) (PORT = 2484)))

WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY =/Server/Mappe/path /)))

Auf Client-Seite:

1) folgenden Gläser benötigt classpath ojdb14.jar sein, oraclepki.jar, ojpse.jar

2) URL für die Verbindung verwendet wird, sollte sein: jdbc: Oracle: thin: @ (DESCRIPTION = (ADDRESS = (PROTOCOL = tcps) (HOST = Servername) (PORT = 2484)) (CONNECT_DATA = (SERVICE_NAME = Servicename)))

3) Folgende Eigenschaften müssen festgelegt werden (entweder als Systemeigenschaft (-D Optionen) oder Eigenschaften zum Anschluss) javax.net.ssl.trustStore, javax.net.ssl.trustStoreType, javax.net.ssl.Truststor

Referenz: http://www.oracle.com/technology/tech/java/sqlj_jdbc/pdf/wp-oracle-jdbc_thin_ssl_2007.pdf

0

Wenn Sie direkt ohne Zwischenschicht an die DB zu verbinden, sollten Sie einen DB-Benutzer für jeden realen Benutzer betrachten verwenden, denn sonst kann man nicht wirklich den Zugriff der Anwendung sichern.

Wenn Sie mit ORa * Net eine Verbindung zu Oracle herstellen, wird das Benutzerkennwort automatisch verschlüsselt (seit Oracle 8). In einigen Situationen kann es jedoch auf unverschlüsselte Kennwörter zurückgreifen. Dies kann mit ORA_ENCRYPT_LOGIN=true in der Umgebung des Clients deaktiviert werden.

Verwandte Themen