セキュリティ:所有者とパーミッション(例 database.php)

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
■スマートURL: ON
■制作・開発モード: デバッグモード1
■設置フォルダ: Apacheのドキュメントルート
■レンタルサーバ: さくらインターネットVPS
■OS: CentOS 6
■HTTPサーバ: A

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
8 人のユーザが現在オンラインです。 (7 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 8