以下エントリーでWPのバックアップスクリプトを作成した。
スクリプト自体がDBパスワードを直書きしている寂しい仕様のためここを修正したい。
ということでバックアップスクリプト(改)を企画し、失敗した記録をここに綴る。
要件
元のツールの機能に加えて、セキュリティを考慮し、DBパスワードをコードにべた書きしない。
設計
要件の通り、セキュリティを考慮し、mysql_config_editorでスクリプトを作成することで、DBパスワードをコードにべた書きしない。
mysql_config_editorはMySQL5.6以上で登場する機能なのでそれ以前のバージョンではこのスクリプトは利用できない。
そもそも、MariaDBがmysql_config_editorをサポートしていないことが発覚。
これはどうにもなりませんわ。対策を練り直す。
結論
いったんスクリプトの修正は中断。備忘録として記載。
結論追記 2021年5月15日
「スクリプトにユーザー名、パスワードを直書きしない」ことは適切なツールがない限り対応しないことにした。
mysql_config_editorの挙動
パスワードを秘匿するコマンドというよりは、プロンプト上でパスワード無しでログインできてしまうことが目的のツールであることを確認。
今回のスクリプトで利用するには用途が違うと判断したため。
スクリプト上でログイン情報を非表示にできても、ログイン後にパスワードが不要になる仕組みは意図したものと違いセキュリティのリスクが下がることはない(管理アカウントがクラックされたら同じ状態になる)ので、適用を見送ることにした。
スクリプトに記載しない(乱暴な)方法としてはmy.cnfに直書きするという方法もあるようだし。
これやってもパスワード不要でログインできるようになるだけらしいし。(MariaDBには対応してないし)
MariaDB側も同じ意見のためmysql_config_editorをサポートしないと判断したらしい。
今後の対応
スクリプト上でパスワードが暗号化されるor直書き不要になる&通常のログインはパスワードが必要という違う方法があるなら再検討検討しようと思う。
ええ加減なセキュリティ要件作ってええ加減にツールを選定して仕事するとろくなことないなあ。
コメント