Presentation is loading. Please wait.

Presentation is loading. Please wait.

CGI Programming and Web Security

Similar presentations


Presentation on theme: "CGI Programming and Web Security"— Presentation transcript:

1 CGI Programming and Web Security

2 セキュリティの脅威 侵入・破壊 盗聴 改ざん なりすまし 規制

3 セキュリティの範囲 ネットワーク 外部ネットからのアタック 内部ネットからのアタック マシン WWWサービス HTTPデーモン CGI

4 セキュリティ図

5 侵入・破壊 ”Denial-of-service" (DoS) attack ポートスキャン 重要なファイルの持ち出し

6 盗聴 パスワード、カード番号など プライバシー 内部的なデータ(イントラネット)

7 改ざん データの改変 ページデータ 金額

8 なりすまし アクセス元 ID

9 規制 PICS 例 プロトコル Platform for Internet Content Selection
プロトコル

10 ネットワークのセキュリティ ファイアーウォール 玄関の鍵

11 マシンのセキュリティ ファイルのパーミッション FTPサービス IDの管理 スーパーユーザでの作業 sudo

12 サービスのセキュリティ 古いHTTPサーバ HTTPサーバの実行ユーザ IPアドレスによるアクセス制限

13 外部ユーザ 不特定多数 有料コンテンツの保護 ユーザのプライバシーの保護

14 内部ユーザ 特定多数 必要以外の情報を見せない 意外と見落としがち

15 暗号 SSL ID、個人情報、コンテンツ

16 電子証明書 CA サーバ証明書 個人証明書

17 認証 ID、パスワード マシンとは別に管理 他の仕組みとの連携

18 CGIプログラミング プログラム自身の問題 サーバに関連する問題 ブラウザに関連する問題

19 プログラム自身の問題 バグ system(), `` 認証 IPアドレス ホスト名、ドメイン名 ID、パスワード ファイルのパーミッション

20 サーバに関連する問題 他サービスとの連携 RDBMS メール

21 ブラウザに関連する問題 maxsize なりすまし backボタン

22 クッキーに関連する問題 容易に見られる マシンの共有 ユーザ入力データの保存 プライバシーの保護 secure フラグ

23 perl -T “tainted” チェック Insecure dependency in...

24 Tainted Data とは 汚染されたデータ=取り扱い要注意 %ENV @ARGV ファイルまたは qx{} からのデータ
readlink, readdir の戻り値 gcos フィールド

25 CGIモジュール $CGI::POST_MAX $CGI::DISABLE_UPLOADS CGI::Carp

26 注意を要する操作 ディスクの読み書き ネットワークのアクセス eval プロセス制御 プログラムの実行

27 その他の注意事項 PATH IFS CDPATH, ENV, BASH_ENV メタキャラクタ
tr/*(){}’\”;\|<>//d tr/A-Za-z0-9 //cd

28 メールアドレス メールプログラム サブジェクト 宛て先

29 suEXEC setuid/setgid でのCGI/SSI実行環境 ドキュメンテーション

30 参考文献 W3C Security Resources Perl security JPCERT/CC(コンピュータ緊急対応センター)
Perl security <CPANサイト>/doc/manual/html/pod/perlsec.html JPCERT/CC(コンピュータ緊急対応センター)


Download ppt "CGI Programming and Web Security"

Similar presentations


Ads by Google