※回答一覧

 出題者   カテゴリ   作成日

Mr.SEQ
ITセキュリティ&リスクマネージメント担当 2014-02-01 12:16:46
 問題   ヒント   回答数 
■CGIはリスク?
cgiは古くからカウンタや掲示板、ショップサイトなどでも利用されています。またそれだけにcgiの仕組みを利用した攻撃手法もいくつもあります。

それではお題です。
WEB管理者として、最低限やっておきたいCGIに関する対策や心構えを思いつく限り挙げてみてください。

最低限で、いくつ思い当たるか、またどのような被害を受ける可能性があるか、ご回答をお待ちしています。

今回はノーヒントです。
なるべくググらないでご自身の現状の知識でお答えください。
3

 

メンバーの回答一覧 お疲れ様でした!
※講師コメント詳細は冊子に掲載されています。

なるほど
票数
回答 講師コメント
0 YN
1. データ送信時のデータ流出を回避
・SSLの設定をしてデータを暗号化して送信
・フリーウェアなど、プログラムが一般公開されているCGIプログラムをそのまま流用しない

2. サーバに格納されたデータの保護
・ブラウザから簡単にアクセスできないディレクトリにデータを格納する
・データをこまめにサーバから安全なオフラインの場所に移動しておく
・データへのアクセス制限を設ける。パスワードなどは随時変更する


3. スパム投稿の回避
・検索エンジンの検索に引っかからないよう、metaタグは「NOINDEX」とする。
・URLの数や特定の語など、投稿できるデータに制限を設ける
 (Mr.SEQ)
管理・運用の視点で行うべき対策がうまくまとめられています。 すばらしい回答になっています。 敢えて付け加えるのであれば、データ送受信時にタグの無効化をする点、 もう少し踏み込むとOSインジェクションやSQLインジェクションといった、URLに攻撃コードを乗せた攻撃に対しても対策をする必要があります。 フリーウェアのCGIプログラムは利便性を考えた結果、セキュリティ対策が不十分なものもあり、YNさんが書かれている「そのまま流用しない」を守らない場合、そこから攻撃されてしまう可能性があります。実際に中国のハッカーが集う掲示板などで日本のフリーウェアやサイトの脆弱情報が載っており、その情報を元に攻撃をされてしまってケースもあります。

0 kamino
現状、まったく知識がありません。
掲示板であれば、悪意のある人からの書き込みが実行されてしまわないように、htmlタグを無効にするとかでしょうか。
勉強します!
 (Mr.SEQ)
そうですね、セキュアなWebサイトを作るにはhtmlタグを無効化しないと、掲示板経由でウイルスに感染した例も数多くあります。 少し細かくなりますが、以下のようなスクリプトを埋め込む事で、”<”や”>”を無効化することができます。 $namae =~ s/</

0 丸田
思いつく点
パーミッションの設定確認

対策
プログラムを稼働させるときのパーミッション設定を適切におこなうこと

PHPなどでは、プログラムが稼働できる範囲が決められていますが、cgiではその範囲はパーミッションでコントロールされています。ですので、パーミッションの設定ミスを衝かれたときはサーバを好き勝手にされてしまうというリスクがあります。
 (Mr.SEQ)
パーミッションの設定も非常に重要です。 丸田さんが書かれている通り、パーミッションとはUNIX系サーバでファイルのアクセス権の設定となります。 詳しくは後ほど説明させていただきますが、cgiでは"755"もしくは"705"という権限を設定します。 これは管理者(root)は読込、書込み、実行が可能でその他のユーザ(もしくは一般ユーザのみ)は読込と実行ができる、という権限になります。 cgiの場合はユーザのパソコン上で実行をさせなければ正常に表示されないので、基本的にはこの設定となりますが、 内部ロジックでユーザに実行されては困るものなどでは"700"(管理者以外には読込、書込み、実行ができない)というものを使い分ける必要があります。