2012-04-15 4 views
4

私はあなたがこれらの条件でのPostgreSQLに接続することができます方法を知っているしたいと思います:簡単に安全にpostgresまたはmysqlにリモートで接続するには?

  • は、安全な接続(パスワードがキャプチャした上でリスクなし)
  • (IPフィルタリングを行う)を使用すると、任意の場所からそれらにアクセスすることを可能に
  • セットアップが簡単で、サーバーを構成するだけで済みます。

SSHポート転送を使用することをお勧めしますが、これには、これらのデータベースに接続する前にポート転送を開始する必要があります。

クライアントで複雑な設定を行うことなく、十分なセキュリティを確保する最も簡単な方法は何ですか。

オンデマンドでポート転送を自動的に有効にする方法はありますか?

+0

なぜMySQLの参照/タグにより、ステップを持って?あなたの質問にはMySQLに関して何もないようです。 – liquorvicar

+0

セキュリティ保護された接続にアクセスできるようにmysqlを設定できる限り、これは必要です。 – sorin

答えて

2

PostgreSQLの場合は、まずSSL対応ビルドを使用していることを確認します。 (私はほとんどのインストーラのデフォルトであると思います。)

その後、サーバーが(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

関連する問題