pg_hba.conf의 보안 문제

pg_hba.conf의 보안 문제

내 서버에 제대로 작동하려면 데이터베이스 사용자에 대한 액세스가 필요한 PHP 스크립트가 있습니다. 해당 PHP 스크립트를 프로그래밍한 사람이 pg_hba.conf에 다음을 추가하라고 지시했습니다.

host all all 127.0.0.1/32 trust

이로 인해 보안 관련 문제가 발생할 수 있습니까? 내가 이해한 바에 따르면, 해당 행의 기능은 로컬로 호스팅되는 스크립트가 비밀번호 없이 pgsql에 연결할 수 있도록 허용한다는 것입니다. 이 올바른지 ?

해당 행이 있으면 데이터베이스 비밀번호 없이 내 데이터베이스에 대한 원격 연결이 설정될 수 있습니까?

답변1

, 이는 다음과 같은 구성입니다.일반적으로 매우 제한된 특수한 경우를 제외하고는 피해야 합니다.:

신뢰하다

무조건 연결을 허용합니다. 이 방법을 사용하면 PostgreSQL 데이터베이스 서버에 연결할 수 있는 사람은 누구나 비밀번호나 기타 인증 없이 원하는 PostgreSQL 사용자로 로그인할 수 있습니다.

[..]

신뢰 인증은 신뢰를 지정하는 pg_hba.conf 줄에 의해 서버 연결이 허용된 모든 시스템의 모든 사용자를 신뢰하는 경우에만 TCP/IP 연결에 적합합니다. localhost(127.0.0.1)의 연결 이외의 TCP/IP 연결에 신뢰를 사용하는 것은 거의 합리적이지 않습니다.

비밀번호를 제공하지 않고 연결을 허용하는 경우가 많을 수 있습니다. 많은 배포판에서는 기본적으로 Unix 소켓을 통해 연결 사용자로 연결을 인증하기 때문입니다. 그러면 일반적으로 시스템 사용자가 비밀번호 없이 postgres 사용자를 www-data사용할 수 있게 됩니다 . www-data이것이 사실인지 확인하려면 나머지 인증 구성을 확인하세요.

추천:비밀번호 또는 인증서 인증을 제공하십시오.~ 아니다옵션 을 진행하세요 trust.

루프백 주소로만 제한하는 것은 일반적으로 외부 액세스에 대한 보안을 충분히 보장하지 않는다는 점에 유의하세요. 의도하지 않은 프록시 역할을 하는 다른 소프트웨어를 통해 루프백 바인딩 서비스에 액세스한 오랜 역사가 있습니다.

관련 정보