質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

4回答

3716閲覧

sqlを定期的にバックアップコマンドに接続情報記載は危険でしょうか

youten

総合スコア29

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

1グッド

1クリップ

投稿2016/04/27 02:04

__###イタリックテキスト__お世話になります。
お詳しい方ご教授くだされば嬉しいです。

初心者ですが、さくらVPSサーバーの構築をし、
運用しています。
mysqlに日々蓄積されるデータをcronで、定期的にバックアップしたいと
下記のページを参考に設定を試みていますが、
http://knowledge.sakura.ad.jp/knowledge/4334/

======================================

データベースのデータをエクスポートして

/backup/wordpressdb_YYYYMMDD-HHMMSS.sql.gzとして保存します。

青色の部分を修正してください。

eval "mysqldump -u root -ppassword データベース名 |gzip -c > /backup/wordpressdb_${datestr}.sql.gz"
if [ $? -ne 0 ]
then
echo "[ERROR]mysqldump error."
STATUS=1
fi

に接続情報を入れると、
Warning: Using a password on the command line interface can be insecure.
というエラーが出てしまいます。

調べた結果、コマンドに接続情報を記載するとセキュリティ的に危険というところまでたどり着きましたが、

上記のページでは、最終的に

chmod 755 /usr/local/bin/cmsbackup.sh

とし、rootユーザしか操作できないように設定しているので、
コマンドに接続情報を記載して、エラーが表示されても気にしなくて
よいでしょうか?

ちなみに、上記のページの通り設定すると、動作はするので、
エラーさえ気にしない(rootユーザしか操作できないパーミッションにして、コマンドに接続情報記載しても良いなら)この状態でいきたいと思います。

しかし、不安でしたので、質問させて頂きました。

何卒、宜しくお願いします。

yodel👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

Warning: Using a password on the command line interface can be insecure.

rootでない一般ユーザーで、ps axuwwとかすると分かると思いますが、他のユーザーが実行中のプロセスのコマンドライン引数が見えます。
つまり、コマンドライン情報というのは、root権限を取られなくても、一般ユーザ権限を取られただけで漏れる情報です。共同利用のサーバーだと、まるっきり裸同然(商用の共用レンタルサーバーだと何か細工して見られなくしているかも)。
警告メッセージの内容はそういう意味です。

投稿2016/04/27 03:28

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

バックアップスクリプトを盗まれても大丈夫か、バックアップスクリプトのあるサーバで root 権限を奪われても大丈夫か、など、データベースに格納している情報の重要度・機密性やサーバにログインできるユーザがどの程度信用できるか、などによって必要となるセキュリティレベルは異なってきます。mysqldump で警告が出るのは、もっとも安全側に倒した警告を出す、ということなのでしょう。

ちなみに、chmod 755 /usr/local/bin/cmsbackup.sh は、group/others に読込みと実行を許します。やるなら chmod 700 /usr/local/bin/cmsbackup.sh (あるいは 500)ではないでしょうか。

あと、バックアップスクリプトの中で eval しているのはなぜでしょう。なくてよい気がしますが。終了ステータスの絡みでしょうか。

投稿2016/04/27 03:00

unau

総合スコア2468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の方が回答されているように、コマンドラインでパスワードを指定するのはあまり好ましくないと思うので、下記のような方法を用いると良いのではないかと思います。

~/.my.cnf

バックアップするユーザーの ~/.my.cnfchmod 0600 などとして、下記のように作成しておけば、スクリプトにパスワードをベタ書きしなくても良くなります。

sh

1[mysqldump] 2password = THIS IS PASSWORD

~/.mylogin.cnf

もしくは 5.6 以降なら ~/.mylogin.cnf を使うのも良いと思います。下記のコマンドを入力してパスワードを入力すると ~/.mylogin.cnf にパスワードが難読化されて記録されて、自動的に使用されるようになります。

sh

1mysql_config_editor set --user=USERNAME --password

ただ、難読化されているだけであって、このファイルからの複合は容易に可能だったと思います。

ソケットピア証明書認証プラグイン

あるいは、使ったことないですけど「ソケットピア証明書認証プラグイン」を使えば、OSのログインユーザーと同じ名前のMySQLユーザーであればパスワード無しでログインすることができるようになります。

MySQL ソケットピア証明書認証プラグイン - @tmtms のメモ

この方法ならパスワードを 絶対にわからないような複雑で長い文字列 にすることができるので(パスワードを設定する人自身がパスワードを知っている必要がないので)、採用可能なら他の方法よりも安全だろうと思います。

投稿2016/05/02 04:35

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

MySQL5.6以上では、-pオプションでパスワードと記述すると

Warning: Using a password on the command line interface can be insecure.

という警告が出力されるようになっているようです。

理由は、以下のページの
"・ コマンド行で -pyour_pass または --password=your_pass オプションを使用します。"
という項に説明されている通り、入力したパスワードが他の人に見えてしまうためです。
https://dev.mysql.com/doc/refman/5.6/ja/password-security-user.html

対策は上のページでもいくつか紹介されていますが、
"・ パスワードをオプションファイルに保管します。"
という項で説明されている方法が最も手っ取り早いように思います。

ちなみに、

上記のページでは、最終的に

chmod 755 /usr/local/bin/cmsbackup.sh

とし、rootユーザしか操作できないように設定しているので、

については、セキュリティの観点からは全く意味がありません。
なぜなら、755では他のユーザーからの書き込みだけを禁止していて、読み取りと実行は可能な状態だからです。

"group"と"other"の権限は0に変更すべきです。
http://www.k4.dion.ne.jp/~mms/unix/linux_com/chmod.html

投稿2016/04/27 03:39

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問