セキュリティ:所有者とパーミッション(例 database.php)
- » akazawa > セキュリティ:所有者とパーミッション(例 database.php) @ 2015/6/22 20:20
- ryuring > Re: セキュリティ:所有者とパーミッション(例 database.php) @ 2015/6/26 13:24
- akazawa > Re: セキュリティ:所有者とパーミッション(例 database.php) @ 2015/6/27 11:11
- cikakako > Re: セキュリティ:所有者とパーミッション(例 database.php) @ 2016/4/1 22:16
akazawa > セキュリティ:所有者とパーミッション(例 database.php) @ 2015/6/22 20:20 |
---|
こんにちは
baserCMSを使い初めたのですが、セキュリティ上の懸念を感じる点があり、改善いただけないかと思いまして投稿致します。 例を挙げた方がわかりやすいと思いますので、/app/Config/database.php を取り上げます。(以下、database.php) database.php には以下のようにDBに接続するために必要となるユーザ名とパスワードが記載されています。 --------------------------------------------- 'login' => 'hoge_user', 'password' => '***********', --------------------------------------------- database.php のデフォルトの所有者とパーミッションを見てみますと、 -rw-r--r-- 1 apache apache 917 6月 3 23:54 2015 database.php というように、第三者の読み込みが許可されています。 この状態ですと、自分と関係無いローカルユーザは(ssh等でアクセス可能だとして)DB接続に必要なユーザ名とパスワードがわかることになりますので、DB内の情報がすべて見えてしまうことになります。公開しているコンテンツであれば見えても良いわけですが、変更も可能です。つまり、改ざん可能状態である、とも言えるのです。 また、サーバ内では多数のプロセスが稼働しており、そのひとつでも第三者に乗っ取られたりすると、リモートからDB内容を閲覧したり、変更(改ざん)、消去が可能となってしまいます。 個人的なサイトであれば「あ〜やられちゃった」で済むかもしれませんが、「コーポレイトサイトにちょうどいい」CMSでこれでは一大事です。 私は次のようにパーミッションを変更しておきました。 -rw-r----- 1 apache apache 917 6月 3 23:54 2015 database.php つまり、第三者には読み書きさせない、という設定です。 同様なことがほかにも多数あります。 第三者がディレクトリに書き込み可能になっていたりもします。 マニュアルを拝見しても、フォルダのパーミッションは777、ファイルのパーミッションは666という危険な指定をしてあります。 これはとても危険な話ですので、急ぎ改善が必要と考えます。 すでに本番運用されているサイトも多数あるようですので、どこをどう変更すべきか情報提供をよろしくお願い致します。 ■baserCMS: 3.0.8 |