dblink_connect_u
Prev UpF.11. dblink — conectarse a otras bases de datos PostgreSQLHome Next

dblink_connect_u

dblink_connect_u — abre una conexión persistente e insegura a una base de datos remota

Synopsis

dblink_connect_u(text connstr) returns text
dblink_connect_u(text connname, text connstr) returns text

Descripción

dblink_connect_u() es idéntica a dblink_connect(), excepto que permitirá a los usuarios que no son superusuarios conectarse utilizando cualquier método de autenticación.

Si el servidor remoto selecciona un método de autenticación que no involucra una contraseña, entonces se puede producir la suplantación de identidad y la consecuente escalada de privilegios, porque la sesión parecerá haberse originado desde el usuario con el que se ejecuta el servidor local de PostgreSQL. Además, incluso si el servidor remoto exige una contraseña, es posible que la contraseña sea suministrada desde el entorno del servidor, como un archivo ~/.pgpass perteneciente al usuario del servidor. Esto abre no solo un riesgo de suplantación de identidad, sino la posibilidad de exponer una contraseña a un servidor remoto no confiable. Por lo tanto, dblink_connect_u() se instala inicialmente con todos los privilegios revocados de PUBLIC, haciendo que no sea ejecutable excepto por los superusuarios. En algunas situaciones puede ser apropiado conceder el permiso EXECUTE para dblink_connect_u() a usuarios específicos que se consideren confiables, pero esto debe hacerse con cuidado. También se recomienda que cualquier archivo ~/.pgpass perteneciente al usuario del servidor no contenga ningún registro que especifique un nombre de host comodín.

Para más detalles, consulta dblink_connect().


Prev Up Next
dblink_connect Home dblink_disconnect