1

mysqldump のセキュリティについての議論を始めたいと思います。セキュリティに関しては、パスワード セキュリティやパスワード セキュリティを何らかの方法で表示する Cron タスクについて話しているのではなく、コマンド自体のセキュリティについて話しているのです。

私の特定のケースでは、ホームサーバーで mysqldump を使用して cron ジョブを実行し、1&1 を使用して VPS に Web サイトデータベースをバックアップするコマンドをセットアップしました。

つまり、基本的なシナリオは、自宅の PC がポート 3306 で MySQL データベースをリモートでバックアップしているということです。これは正しく機能しますが、寝ている間に悪夢を見始め、バックしている間に誰かがポート 3306 でリッスンしてすべてのデータを取得できるのではないかと考え始めました。アップ(mysqldumpを使用)mysqlがポート3306のSSL下にないことを理解しているため、誰でもデータベースからバックアップコピーを取得できる可能性がありますか?

私は、このシナリオが可能であることを意味します:

  1. 自宅の PC で mysqldump タスクを開始
  2. 1&1 の私の VPS はリモートで SQL ダンプを準備します
  3. 自宅の PC がリモート サーバーからダンプをローカルに受信する

ポイント 2 とポイント 3 の間に、誰かが私のファイルのコピーを取得する可能性はありますか?

答えてくれてありがとうマルコス

4

2 に答える 2

2

VPS ホストのポート 3306 を公共のインターネットに公開しないでください。MySQL の暗号化されていないポートは安全ではありません。

VPS ホストで mysqldump を実行していて、結果のダンプ ファイルのみを PC に転送する場合は、これを安全に行うことができます。

VPS に ssh できる場合は、scp も使用できるはずです。これにより、ファイルを安全に転送できます。

1&1 での scp の使用に関する FAQ 記事を次に示します。「 1&1 scp」をグーグルで検索すると、これが見つかりました。

http://faq.1and1.co.uk/server/root_server/linux_recovery/9.html

ホーム PC で mysqldump を実行し、VPS ホスト上の MySQL にリモートで接続する必要がある場合は、次のオプションがあります。

  • SSL 接続オプションを使用して PC で mysqldump を実行します。
  • ポート転送 ssh トンネルを開き、転送されたポートに接続している PC で mysqldump を実行します。
  • ssh を実行して VPS で mysqldump を呼び出し、出力をキャプチャします。この質問に対する受け入れられた回答の例を参照してください: https://serverfault.com/questions/36467/temporary-ssh-tunnel-for-backup-purposes
  • すべて暗号化されているため、VPN を作成して、好きなことを何でもできます。

10/11 のコメントについて:

VPSをリモートでバックアップするには、自宅のPCからコマンドを実行する必要があります。

私は...代わりにバックアップファイルを直接受け取りたいので、VPSには何も保存しないでください。

さて、ポート3306を公開せずにできることは次のとおりです。

$ ssh marcos@192.168.1.3 'mysqldump ...options.. | gzip -c' > ~/dump.sql.gz

そのコマンドの引用符の位置に注意してください。VPS で次のコマンドを実行していますmysqldump ...options.. | gzip -c。そのコマンドの標準出力は、ダンプの gzip ストリームです。そのストリームは ssh 経由で返さ>れ、出力が PC のシェルにローカルに保存されます。


10/13 のコメントについて:

現在、MySQL サーバーにアクセスするための資格情報を含むオープン テキスト ファイルをサーバーに保存しています。つまり、誰かがサーバーに侵入した場合、サーバーのコンテンツが破損するだけでなく、MySQL データベースと情報が破損して盗まれる可能性があります。私は正しいですか?

MySQL 5.6 を使用している場合は、新しい機能を使用して、接続資格情報を半暗号化された方法で保存できます。http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.htmlを参照してください。

MySQL 5.5 以前を使用している場合は、その通りです。ファイルのアクセス許可を慎重に制限する必要がありますmy.cnf。モード 600 で十分です (つまり、実行可能ファイルではありません)。

しかし、誰かがサーバーに侵入した場合、root アクセスで侵入した可能性があります。この場合、読み取るファイルを制限することはできません。

MySQL には、誰かが root アクセス権を取得した場合にアクセスをブロックするのに十分なセキュリティがないため、侵入を防ぐために他の手段を使用するのはあなた次第です。ファイアウォールなど

于 2013-10-02T17:34:24.273 に答える
0

はい、可能ですが、そのデータを取得する方法については言及していません。ssh/scp (ダンプ用の専用ユーザー、IP フィルター、鍵パスワード付きの秘密鍵に基づく認証) を使用する場合は許容され、私の意見では安全であると考えられます。安全性を高めるもう 1 つの手っ取り早い方法は、VPN をセットアップすることです。それ以外は個人的に妄想レベルです。

于 2013-10-02T17:36:09.010 に答える