Sicherheitsproblem mit pg_hba.conf

Sicherheitsproblem mit pg_hba.conf

Ich habe ein PHP-Skript auf meinem Server, das Zugriff auf einen Datenbankbenutzer benötigt, um richtig zu funktionieren. Die Person, die das PHP-Skript programmiert hat, hat gesagt, dass man pg_hba.conf Folgendes hinzufügen soll:

host all all 127.0.0.1/32 trust

Kann dies zu Sicherheitsproblemen für mich führen? Nach meinem Verständnis ermöglicht diese Zeile lokal gehosteten Skripten die Verbindung zu pgsql ohne Kennwort. Ist das richtig?

Kann das Vorhandensein dieser Zeile dazu führen, dass Remoteverbindungen zu meiner Datenbank ohne das Datenbankkennwort hergestellt werden?

Antwort1

Ja, das ist eine Konfiguration, dieSie sollten es generell vermeiden, außer in sehr begrenzten Sonderfällen:

Vertrauen

Erlauben Sie die Verbindung bedingungslos. Mit dieser Methode kann sich jeder, der eine Verbindung zum PostgreSQL-Datenbankserver herstellen kann, als beliebiger PostgreSQL-Benutzer anmelden, ohne dass ein Kennwort oder eine andere Authentifizierung erforderlich ist.

[..]

Vertrauensauthentifizierung ist nur für TCP/IP-Verbindungen geeignet, wenn Sie jedem Benutzer auf jedem Computer vertrauen, der durch die Zeilen in pg_hba.conf, die Vertrauen angeben, eine Verbindung zum Server herstellen darf. Es ist selten sinnvoll, Vertrauen für andere TCP/IP-Verbindungen als die vom lokalen Host (127.0.0.1) zu verwenden.

Beachten Sie, dass das Zulassen von Verbindungen ohne Angabe eines Passworts möglicherweise bereits der Fall ist, da viele Distributionen Verbindungen standardmäßig über Unix-Sockets als verbindender Benutzer authentifizieren. Dies würde normalerweise dazu führen, dass der www-dataSystembenutzer den Postgres-Benutzer ohne Passwort verwenden kann www-data. Überprüfen Sie den Rest Ihrer Authentifizierungskonfiguration, um festzustellen, ob dies der Fall ist.

Empfehlung:Geben Sie Kennwort- oder Zertifikatauthentifizierung an.nichtFahren Sie mit der trustOption fort.

Beachten Sie auch, dass die Beschränkung auf Loopback-Adressen im Allgemeinen keine ausreichend sichere Garantie gegen externen Zugriff darstellt. Es gibt eine lange Geschichte von Loopback-gebundenen Diensten, auf die über andere Software zugegriffen wurde, die als unbeabsichtigter Proxy fungierte.

verwandte Informationen