2003/09/20現在 池田 マニフェ・ドットコムシステムでは、下記の通りを想定しております。 ・URLにID・パスを含ませるようなことは絶対いたしません。 →セッション管理にて、セッションIDだけクッキーで持ちまわります。 ・hidden項目に重要な項目を持たせるようなことはいたしません。 →ただ、ログイン時に大事をとってhiddenでも別の識別子を渡すというテクニックも使用しているわけではありません。 ・通信の暗号化 →最終的にはSSL上での利用ができるよう考えております。 →(追記)open-sslとmod-sshの組み合わせで考えております。CAにつきましては、自前認証か、FreeCAサービスの利用を考えております。 ・DBの適切な権限、パスワード設定 →最終的には適切な権限、パスワード設定をするよう考えております。 →(追記)pg_hba.confを見直し、内からも外からもパスワードを設定しました。マニフェ・ドットコム用のDBには、専用のユーザを作成し、パスワードが要求されます。また、delete文以外のSQLが実行できる・新しいDBは作成できない・新しいDB用ユーザは作成できないというオプションをつけております。このサーバには外からODBC接続する方がいるので、現状外からを禁止することができません。 ・ログイン、ログアウトの方法 →それぞれ専用のPHPファイルを用意し、そこでセッションやグローバル変数の初期化・クリアなどをしてから次の画面にリダイレクトするように設計しております。 ・コンフィギュレーションファイルの置き場 →ブラウザからのアクセスでは手の届かないディレクトリに配置いたしました。 ・セッション情報の置き場 →現状、標準時の状態で、/tmpとなっております。 ・開発環境のインストール有無 →現状、gccなどの開発環境がデフォルトでインストールされております。 ・データの削除 →DELETE文はプログラム内では使用せず、論理削除フィールドを設けましたのでここのbool値を変化させて削除させることにしております。 ・デバッグ情報 →コンフィギュレーションファイル内にデバッグスイッチを複数設け、一括してスイッチのオンオフができるようにしてあります。 ただし、出力先はユーザの見るHTMLです。 ・PHPプログラムとHTMLデザインの分離 →現状、PHPプログラム部分とHTML部分は、ファイルを別にして、完全に分離させております(除くユーザ登録)。 →(追記)ユーザ登録も完全分離済みです。 →(追記)セキュリティと直接の関係はありませんが、JavaScriptとCSSも別ファイルに分離させております。 ・デザイン用のタグ →現状、CSSの利用によりデザインをHTMLとなるべく分離しております。 ・クライアントサイドスクリプト →現状、いくつかの目的で、クライアントサイドスクリプトとしてJavaScriptを利用しております。PHP側による入力チェックですが、現状完璧ではありません。 ・PHPのregister_globals設定 →現状、register_globals設定はONの元で開発しております。OFFがいかに素晴らしいかは、開発途中で気づきましたが、2ヶ月間という中で、勉強が足りず、現状ONのままとなっております。 →(追記)$_POST,$_GET,$_FILES,$_SYSTEM,$_SESSION_DATAなどの変数をとおして極力アクセスするようにしております。 ・現在のサーバ稼働環境 →TLS7 フルインストール後、turbopkgコマンド(内部はzabom)で最新に近い状態です。 php postgres apache 全てRPM方式にてインストールされています。 →(追記)php.iniにおいて、ファイルアップロード最大サイズを10MBに変更。 ・RAIDについて 現状、このシステムが稼働するサーバはRAID構成をとっておりません。 →cronで定期的に同セグメント内にある別サーバにDBデータをコピーさせるなどは可能です。 →(追記)一日に一回DBのバックアップをとるよう設定済み。他のホストへ転送は未設定。 ・NTTのB Flet'sを引いている環境にサーバはあります。 →もともとルータはYamahaRTA55iで、フィルタリングもそれなりに施しておりましたが、そのルータが不調になり、今は違うメーカのルータを使用しています。フィルタリングは特に施しておりません。また、サーバでのip-chains(ip-table?)も施しておりません。xinetd経由の利用と、hosts.allowの設定は行っております。