本サイト(www.sunrise-ec.com)は有限会社サンライズエージェンシーにより運営されています。

SIとインターネットソリューション サンライズエージェンシー Sunrise Agency

サンライズコラム

2007年6月

技術者が押さえる基本セキュリティポイント(後編)

もうすぐサッカーアジアカップが開幕します。世界に挑戦するには まず、このアジアをダントツに勝ち上がる必要があります。が、し かし、実はアジアは強い。特に中東の国々。日本人にはないタフさ があり、身体能力も高い。
日本は突出こそしてないものの、気持ち・技術・運動量とチームワ ークでぜひ勝ち上がって欲しい。前回大会準決勝の川口のスーパー セーブは今見ても鳥肌が立つ。
今回は攻めでその感覚を味わいたい! 未来を背負って立つU-20にも期待!カナダで世界一を目指せ!!

技術者が押さえる基本セキュリティポイント、前回は5つのポイントのうち2つをご紹介しましたね。

<セキュリティポイント>
1)スレッド・セーフ
2)認証処理
3)パラメータの悪用へと対処
4)リクエストのFilter
5)スキャンとアタック
今月は引き続き、後編をお送りしたいと思います。

3)パラメータの悪用へと対処

主に利用されるパラメータとして、GET、POST があります。GET パラメータはURL の後ろ「?」以降に記述されます。ご存じない方はGoogle で何か検索してみてください。アドレスの欄を見ると「?」 以降に沢山のパラメータがありますね。動的なページではこのパラメータを元にDB から情報を取り出し表示しています。
このようなページを作成する上で気をつけなくてはならないのは、パラメータの改ざんです。例えば、会員サイトであれば、GET パラ メータに設定した会員番号を変更するだけで他人のページに入れてしまったら大変なことです。また、表示数20件に設定していたとこ ろを10000とか1000000…000などに変えられてしまうと、サーバーにかなりの負担増を与えられかねません。

対策としては

・パラメータに対して入力チェックを行う
・パラメータを暗号化しておく
・整合性を確かめるKey パラメータを作成し、一緒にパラメータとする
などがあります。かなり基本ですね…。

また、個人情報を扱うページであれば、SSL は標準にしとくべきでしょう。クレジット番号を入力する際は「https」くらいは確認する クセをつけたほうが良いですね。

POST の場合はテキスト入力された情報を送る場合が多いですが、 この場合は、入力バイト数のチェックや特殊文字の扱いに注意が必 要です。テキストボックスに入力数の制限をかけたとしても、それ を全角×2で数えるか全角×1で数えるかは、ブラウザに依存してし まいます。必ず処理前にチェックしましょう。特殊文字など想定外 の入力文字も処理によっては負担が大きくなったり、意図しない結 果が返ってきたりするのでチェックしてはじく必要があります。
長文が入力できる場合はクロスサイト・スクリプティングに気をつ けなくてはいけません。これはある入力によってJavaScript など スクリプト言語を埋め込まれてしまい、ありえない動きをしてしま うことです。例えば、ブラウザが開き続けたり、クッキーの改ざん をされてしまう可能性もあります。 これはHTML エンコードを使用して対処します。HTML エンコードを する必要があるキャラクタは決まっていますので、知らない方はぜ ひ調べてみてください。

4)リクエストのFilter

Servlet API 2.3 からリクエストにフィルタ機能が提供されていま す。フィルタ機能を利用することでServlet 処理の前に様々な対応 が可能になります。不正なデータを門前払いにできるので、利用し てみましょう。
用途としては

・認証
・ログ
・イメージ変換
・データ圧縮
・暗号−復号
・キャッシング
・ユーザエージェント判定
などなど。

5)スキャンとアタック

代表的なスキャンとしてはWeb サーバー機能のメール送信機能を利 用されることです。機械的なスキャンに見つかり、しかも使用可能 状態であれば、SPAM メールの踏み台にされかねません。

まずはアクセス権限を確認し、見られても良いファイルをきちんと 限定することです。またサンプルや使用しないファイルをWeb 上に 置いたままにしないようにします。重要なファイルは一般的な名前 にしないほうが望ましいです。

悪意のあるアタックは防がなくてはなりません。Web 上で公開して いる以上、世界中の誰からもアクセス可能です。友達にしか公開し ていないと思っていたmixi。足跡を見たら知らない人がいっぱい… なんてこともあるように、普段気づかないだけで覗かれ放題です。 断続的にアタックをされるとWeb サーバに負担がかかり、他のエン ドユーザの閲覧の妨げとなったり、サーバダウンの原因となります。

対策としては

・一定のアタックを受けたIP アドレスを拒否する。
・2度押し防止機能を設ける
・同じクライアントからの処理を複数行わないように設定する。
などがあります。

2回にわたり、開発者のための基本的なセキュリティに関して書き ました。どのように開発すればより安全なのか、最低限ここであげ た5つのポイントを意識して実装していって欲しいと思います。

K.K



HOMEへ このページのTOPへ
世界最強のオイルと燃料添加剤 NAPRO@TOKYO
世界最強のオイルと
燃料添加剤。
原油高騰と環境対策に
信頼と実績のNAPRO
 
お抱えドライバーの派遣なら運行管理代行のスギックス
乗務員は全員二種免許所有者で安心です。
1回のお仕事からお気軽に!ゴルフ冠婚葬祭のお仕事もお任せ下さい!!
 
ホームページデザイン制作
ウェブサイトのデザイン構築
Movable Typeを使用した
ブログタイプのサイト構築が
をご提案しています。 伝えたいことを、美しく、分かりやすく、扱いやすく・・・
 

Google
WWW を検索 sunrise-ec.com を検索