CakePHPのデータベース接続用のIDやパスワードをconfigディレクトリのapp.phpに下記のように記載すると思いますが、ソースファイルにパスワードをベタ打ちしていることに不安を覚えます。
webrootフォルダ以外は非公開ディレクトリにするかとは思いますが、それだけでセキュリティ上の問題はないのでしょうか。
皆さんはどのように対策していますか。
宜しくお願い致します。
php
1 'default' => [ 2 ~中略~ 3 'username' => 'my_app', 4 'password' => 'secret',//←パスワードベタ打ち 5
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
何の脅威に対して不安を覚えているのかを整理する必要があります。
・非公開領域を自由に覗ける
・公開領域にスクリプトを仕込むことが可能
等に対しては、何をやっても ID/パスワードは漏れてしまいます。
逆に
・DB アクセスの権限のない人に ID/パスワードを見せたくない
といったことであれば、有用です。
まず、脅威を整理することからはじめてください。
投稿2018/03/19 02:15
編集2018/03/19 02:32退会済みユーザー
総合スコア0
0
ベストアンサー
config.phpからパスワード文字列を逃がすネタは色々とあります。
環境変数にしたり、別のiniファイルやJSONファイルで管理したり……
ただ一つ言える事は、
サーバーマシンのどっかにパスワード文字列を埋め込まなくてはシステムが動作しません、
なので最終的には腹くくって下さい。
絶対にマシンの中身を見せてはいけませんし、乗っ取られてはいけません。
webrootフォルダ以外は非公開ディレクトリにするかとは思いますが、
それだけでセキュリティ上の問題はないのでしょうか。
まぁ、非公開領域に置いたらそう簡単にはアクセス出来ませんので、
他の脆弱性でサーバマシン内に侵入されない限りは安全かと思います。
例え金に糸目をつけなくても、絶対にブロックしたいならセキュリティ会社に調査してもらう事をオススメします。
一通りの攻撃、調査レポート、改善指示、それでも攻撃された時の保険…などなどを行ってくれると思いますので、
業務で行う場合は上長に相談してみてはいかがですか?
書籍としては少々古いですが、良書を紹介します。
フロントエンド、バックエンドがごっちゃになってますが、攻撃の手法が体系的に勉強できてオススメです。
PHPサイバーテロの技法―攻撃と防御の実際
投稿2018/03/19 01:22
総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/19 02:14
退会済みユーザー
2018/03/19 02:18
退会済みユーザー
2018/03/19 02:29
退会済みユーザー
2018/03/19 02:32
2018/03/19 02:33
退会済みユーザー
2018/03/19 02:49
2018/03/19 09:52
退会済みユーザー
2018/03/27 23:46
0
異論はあるかもしれませんが、極端なことを言えば、データベースのユーザー名やパスワードは、mysql内部やDBを使うアプリケーションのための単なるアクセス権の設定であって、例えば不正アクセス防止のためなどのセキュリティーを高める目的のものではない!と思うことにしています。
ですので、セキュリティーを高めるにはそのほかの設定が正しく行われていることが大前提です。
たとえば、
・不正にサーバーにログインしたりデータを読み取ったりできないこと
・正しいアクセス権の設定(ユーザーやファイル、フォルダなど)
・外部からデータベースにアクセスできないこと(mysqlの設定やファイヤーウォールなど)
・常に最新のバージョンを維持して脆弱性をつぶす
などなどなど
極論を言えば他がちゃんとしていて、要件としてDB内部のアクセス権の必要ないのであれば、dbのパスワードはroot/パスワードなしとかでもダメ!というわけではないかなと思います。
とはいえ、どういう形で侵入されるかわからないので、念のためちゃんとユーザー名とパスワードは設定しましょう。ハードルは多い方がいいですからね!
投稿2018/03/27 20:30
総合スコア1939
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。