ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changes between Version 2 and Version 3 of DevelopDocument


Ignore:
Timestamp:
Jun 28, 2007, 12:46:58 PM (12 years ago)
Author:
tejimaa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopDocument

    v2 v3  
    88= 設計 =
    99-----
    10 == OpenPNEのセキュリティ対策 ==
    11 
    12  '''*XSS(Cross Site Scripting)'''::
    13     DB、リクエストから取得した値を表示する際にはHTML生成前に
    14     デフォルトで全てサニタイズされるようにしており、
    15     管理画面から管理者が入力した項目など信頼できる一部の値のみを
    16     そのまま表示するようにしている
    17 
    18  '''*SQL Injection'''::
    19     変数が含まれるSQL文はプレースホルダを使用し
    20     エスケープ処理を行っている
    21 
    22  '''*CSRF(Cross Site Request Forgeries)'''::
    23     データ登録・編集などdoアクションのすべてのリクエストに
    24     セッションIDに基づいたハッシュ値(セッションIDそのものではない)
    25     を含めて、これが一致しない場合にはアクションを行わない
    26 
    27  '''*Null Byte Attack'''::
    28     リクエストバリデーションの際に、事前のフィルタリングで
    29     全変数デフォルトでヌルバイトを削除している
    30 
    31  '''*Directory Traversal'''::
    32     ローカルファイルをオープンする場合には
    33     /などを含む文字列は弾いている
    34 
    35  '''*HTTP Response Splitting'''::
    36     リダイレクトのためのLocationヘッダなど、
    37     スクリプト側で動的にHTTP Response Headerを生成する場合には
    38     不要なCRおよびLFを除去している
    39 
    40  '''*Session Hijacking'''::
    41     携帯版を除きセッションIDの取得はCookieからのみに制限している
    42     また、セッションの有効期限をpc/ktai/adminそれぞれに設定できる[[BR]]
    43     携帯版については、GET(/POST)でセッションIDを引き回すため
    44     URLにセッションIDが含まれてしまうが、Refererで外部に漏れないよう
    45     外部サイトへのリンクを一切生成しないようにしている
    46     また、デフォルトでセッションの有効期限を短く設定している
    47 
    48  '''*Session Fixation'''::
    49     pc/ktai/admin ともにログイン時に、その時点のセッションIDを無効にして
    50     新しいセッションIDを生成している
    51 
    52  '''*File Upload Attack'''::
    53     アップロードファイルは画像のみに限定し、
    54     アップロード時に必ずGDに通し画像として変換できたもののみを
    55     正当な画像として受け入れている
    56 
    57  '''*OS Command Injection'''::
    58     外部コマンドを実行する関数は一箇所だけで、
    59     画像変換にImageMagickを使用する設定にしていた場合にのみ
    60     passthru()関数を使用するが、
    61     引数として渡すコマンドは検証済みのもので
    62     リクエストを直接入れるようなことはしていない
    63 
    64  '''*Parameter Manipulation'''::
    65     入力バリデータに通し検証済みの値を使用している
    66 
    67  '''*Brute force attack'''::
    68     招待状発行時及び新規登録時に画像認証を挟むようにしている
    6910
    7011[wiki:DevelopDocument 上へ戻る]