- ベストアンサー
拡張子 .pl のパーミッションについて
とあるCGIを設置したところ、随分あとになって以下のような記述を見つけました。 設定ファイルの拡張子が .pl でパーミッションが755だとファイル内を閲覧される可能性がある。 (PWなどがわかってしまう) 対策) 設定ファイルの拡張子を .cgi にする。同時にメインのCGIの方のファイル設定も設定ファイル名を変更する。 たしかに外から覗けることが確認されました。ただどこでPWがわかるかはわかりません。 1.これはやはり変更したほうがいいのでしょうか?現在PWがやぶられなどの事実はありません。 2.これを変更することによって、ログ喪失などの心配はないでしょうか? (これが怖くて安易にいじれません) 3.ファイル名を変更する代わりに、パーミッションを644や666などに変更する などの対処でできないのでしょうか? なにせCGIはあまり詳しくないため困っております。 対策を取りすぎなのかもしれませんが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのCGIがフリーだとしたら、誰でもDLできてそのスクリプトを見ることができます。 例えばCGI名が、sky.CGI 設定ファイル名が、settei.pl ログファイル名が、log.txt とかになっていて、そのまま設置し、http://www.abc.jp/doc/sky.CGI とあれば、sky.CGIを知っている人なら、http://www.abc.jp/doc/settei.pl、http://www.abc.jp/doc/log.txtと予想でき直接ファイルを見ることができてしまう可能性があります。 よって、ファイル名を変えた方が良いという意味だと思います。 ファイル名を変えてもログ喪失にはなりません。 心配でしたら、サーバーのログを一度ダウンロードし、それを別名保存したのを再度FTPすれば良いと思います。 そのCGIの指示が分りませんが、設定ファイルとはCGIスクリプトではなく、設定したデーターを保存しておくものと予想され、それにパーミッション755にする理由が良く分かりません。 こういうデーターファイルの拡張子はplでパーミッションは606(666)にしておけば、直接アクセスしても覗けないと思ったのですが、そのCGIのパーミッション指示ではどうなっていますか。 >>現在PWがやぶられなどの事実はありません。 これはたまたま運が良い日が続いている、と解釈した方が良いと思います。
その他の回答 (1)
- wp_
- ベストアンサー率54% (132/242)
拡張子plがwebサーバ側でperlと関連付けされていなかった場合、 クライアントがそのplファイルへ直接要求することでwebサーバはplファイルそのもの(中身のソース)を送信し、 クライアントはそれをダウンロードしようとします。 (大抵の人は「以下のファイルをダウンロードします」のダイアログが出ますね。 それをエディタで開けばソースが見れてしまう、ということです。 .plファイルがperlと関連付けされているならば上記の心配は(一応)無用です。 ナンセンスなのは否めませんが^^; >1.これはやはり変更したほうがいいのでしょうか?現在PWがやぶられなどの事実はありません。 破った人がわざわざ「破ったよー」という報告もしないでしょう。 破った人がたまたま悪意がなかった、とか今日まで運が良かったと考えるべきですね。 >2.これを変更することによって、ログ喪失などの心配はないでしょうか? キチンとした設定を行えばcgiは正常に動きます。 逆に何もわかっていない状態で弄れば訳の分からないまま不具合動作することになるでしょう。 要は「ログ関連のコードはどれか、ログの実体はどれか」ということをきちんと把握し、影響範囲が及ばないよう留意しながら改修を行うことです。 >3.ファイル名を変更する代わりに、パーミッションを644や666などに変更する http要求に対してはpermissionを変えたところで無意味です。 webサーバが読み取れなければngなので、権限を与えない=実行できない ということになります。 一番の対策としてはhttpのducumentroot以下にplファイルを置かないことです。 これが一番安全確実かつ普通です。 そういう意味ではレンタルサーバは危険に満ち溢れているといえるでしょう。
お礼
>破った人がわざわざ「破ったよー」という報告もしない たしかにおっしゃる通りですね。 >httpのducumentroot以下にplファイルを置かない この部分が具体的にはどうすればいいかわかりませんが、 拡張子を変える方向でやっていきたいと思います。ご意見ありがとうございました。
お礼
このCGIの最初のパーミッションのしていは755になっています。 一度間違ってログを消してしまった経験があり、慎重になってしまっていますが、 一応保存してやってみたいと思います。ありがとうございました。