2012-04-15 4 views
4
난 당신이 이러한 조건에서 PostgreSQL을 연결할 수있는 방법을 알고 싶습니다

: 쉽고 안전하게 postgres 또는 mysql에 원격으로 연결하는 방법은 무엇입니까?

  • 안전한 연결 (비밀번호 캡처하는 데에 아무런 위험을) (IP 필터링을) 당신이 어떤 위치에서 액세스 할 수 있습니다
  • 설치하기 쉽고 서버를 구성하기 만하면됩니다.

나는 SSH 포트 포워딩을 사용하는 것이 좋다고 알고 있지만, 이러한 데이터베이스에 연결하기 전에 포트 포워딩을 시작해야합니다.

클라이언트에서 복잡한 설정을 수행하지 않고도 충분한 보안을 확보하는 가장 쉬운 방법은 무엇입니까?

필요시 자동으로 포트 포워딩을 활성화하는 방법이 있습니까?

+0

에 의해 단계를 가지고 왜 MySQL을 참조/태그? 귀하의 질문에 MySQL에 관한 것 같지 않습니다. – liquorvicar

+0

mysql을 보안 연결에 액세스하도록 설정할 수 있기 때문에 그렇게해야합니다. – sorin

답변

2

PostgreSQL의 경우 SSL 지원 빌드를 사용하고 있는지 확인해야합니다. (나는 대부분의 설치의 기본이라고 생각합니다.)

는 그런 다음 서버 (IP 서버가 에서 수신 할 IP 주소를 지정하는) listen_addresses을 설정하여 원격 연결을 허용 할 수 있도록해야합니다 : http://www.postgresql.org/docs/9.1/interactive/runtime-config-connection.html

pg_hba.conf 파일을 사용하면 어떤 사용자가 어떤 인증 방법을 사용하여 어떤 IP 주소의 데이터베이스에 연결할 수 있는지 지정할 수 있습니다. 선택할 수있는 인증 방법은 많습니다. http://www.postgresql.org/docs/9.1/interactive/client-authentication.html

클라이언트 측에서 수행해야 할 작업에 대한 세부 사항은 어떤 환경에서 어떤 커넥터를 사용하고 있는지에 따라 달라집니다. 예를 들어 PostgreSQL JDBC 드라이버는 사용 가능한 경우 기본적으로 SSL 연결을 사용합니다. JDBC 드라이버가 SSL을 사용할 수 없으면 연결을 수락하지 않도록 지시하려면 JDBC 연결 등록 정보 인 ssl=true을 설정합니다. http://jdbc.postgresql.org/documentation/head/ssl-client.html

죄송 합니다만, MySQL이 어떻게 관리하는지 모르겠습니다.

1

저는 Postgre에 대한 답변을 찾으려고 노력하고 있습니다.하지만 여기서는 MySQL을 위해 할 수있는 일이 있습니다.

먼저 데이터베이스에 원격 액세스 할 수 있어야합니다. 다음과 같이 원격 액세스 기능을 가진 사용자를 생성 할 수 있습니다.

GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password'; 
flush privileges; 

세부 사항 here.

당신은

GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password' REQUIRE SSL; 

이 모든 서버 측에서 수행해야 할를 다음과 같이이 GRANT 명령에 'SSL 필요'추가 할 수 있습니다,이 보안을 추가합니다. 클라이언트에서 연결할 필요가있는 필수 인증서를 제공하기 만하면됩니다.

자세한 내용은

인증서를 만드는 방법에 대한 MySQL의 사이트 단계 가이드 here

관련 문제