Webセキュリティポリシー(共有サーバでのWebセキュリティ) 弊社では、以下のようなポリシーに基づいて設定を行っています。
Webセキュリティポリシー
いかなる場合も(マルチユーザ環境以外においても)CGIスクリプトは、 所有者以外は「読み・書き・実行」を行えない。
データベースのアクセス(コネクト)はデータベースの所有者以外は出来ない。
データベースの使用(閲覧・変更・テーブル操作・データ操作など)は所有者以外は出来ない。
データベース名の変更・データベース追加/削除・データベースユーザの追加/削除は、いかなるユーザも出来ない。
他ユーザのデータベース名は閲覧出来ない。
Postgres:摘要
MySQL:閲覧出来るが、ユーザの特定は出来ない。
データベースユーザは閲覧出来ない。
セキュアシェル接続は、基本的にデータベース操作の目的で提供し、その他作業はFTPで行う事とする。
ファイル名について①-1
Windowsでは大文字と小文字は同一ファイルと認識されますが、 UNIXでは大文字と小文字は区別されます。ご注意ください。 ファイル名には日本語(漢字、ひらがな、カタカナ)は使用しないで下さい。 ファイル名に使用できるのは「a~zA~Z0~9.-_」です。
拡張子について①-2
ハイパーテキスト | .html .htm |
---|---|
CGI | .cgi .pl .php |
画像 | .gif .jpg |
その他 | ユーザサイドで用意されたファイル名( .inc .txt .swf等) |
CGI等について②-1
全サービスプランでPerl 、PHP4が利用できます。
Perlのパス | /usr/bin/perl |
---|---|
mailのパス | /usr/sbin/sendmail /var/qmail/bin/qmail-inject |
phpのパス | /usr/local/bin/php |
ファイルパーミッション(属性)について ②-2
共有サーバのマルチユーザ下でのCGIを安全に動作させるために、 CGIはApacheのsuEXECで動作しています。 これにより、CGIのパーミッションを700で動作で動作させることが可能になります。 (755でも動作します。) CGIのパーミッションを700で動作で動作させることにより、Webアクセスにおいても所有者権限でCGIが動作できセキュリティを保ちます。
スクリプト設置フォルダ | 755 (750でも可) |
---|---|
通常ファイル(.html、.inc、.php(モジュール型)) | 644 (640でも可) |
CGIスクリプト(.cgi) | 700 (755でも可) |
ログファイルなど、書き込むファイル | 600 |
phpについて②-3
register_globalsパラメータをONにするとセキュリティ上問題があります。 弊社共有サーバでは、register_globalsパラメータをOFFに設定してあります。 環境変数を使う場合は、グロ ーバル変数$_POST、$_GETなどで対応して下さい。 また、QUERY_STRINGのエラーの場合は、$QUERY_STRING と使うのではなく $_SERVER['QUERY_STRING] などで参照して下さい。
PHPはモジュール型とCGI型の2パターンで使用出来ます。 モジュール型は、HTML埋め込みで操作するように作られていて、 普通はHTMLファイルと同じパーミッション644でファイルを構成します。 CGI型はperlCGIと同じようにファイルの先頭にPHPのパスを書いて、 拡張子を”.cgi”にし、ファイルパーミッションに実行件を付けて動作させてください。 (perlと同じと考えて下さい。この時のパーミッションは700です。) PHPの設定パスは”/usr/local/bin/php”で指定して下さい。 したがって、#!/usr/local/bin/php をファイルの先頭に記述して下さい。
PHPでDB接続などユーザやパスワードを記述する場合は、 必ずPHPをCGI型で作成して下さい。 モジュール型などHTML中に埋め込んで使う場合は、 PHPコードに十分注意して下さい。 CGIでファイル作成する場合、 作成したファイルのパーミッションは600で設定して下さい。 (ログファイルなど、書き込むファイル) CGIスクリプトのファイル作成後に、パーミッション変更のスクリプトを記述して下さい。 パーミッション変更のコマンドは、以下の通りです。
<% chmod($myfile, 0600); %>
お客様URL
インターネットURL | www.お客様ドメイン名 |
---|---|
最初に表示されるファイル |
(サーバが検索する順序) 1. index.html 2. index.htm 3. index.cgi 4. index.php |
データファイル設置場所
データファイルの設置場所は、「/お客様ドメイン名/wwwroot/」になります FTPで接続した場合、CGIファイルは「wwwroot」以下であれば、 どこに置いても動作致します。