TOP < テクニカル < テスト・品質維持 < セキュリティー
Open-Ecommerceは、通販物流対応WMS(倉庫管理システム)を搭載し、version2.0にアップグレードされました。

ECサイトのセキュリティー

ECサイトのセキュリティーは、非常に重要な問題です。中でも次に上げるセキュリティーに関してはもっとも脅威とされています。Open-ECでは、そのようなセキュリティー関連のトラブルが起こらないよう、ミドルウェアのAlinous-Coreの機能を利用してセキュリティー対策を行っています。

クロスサイトスクリプティング対策

クロスサイトスクリプティングは、現在、非常に注目度の高い脆弱性です。

クロスサイトスクリプティング(Cross Site Scripting)とは

クロスサイトスクリプティング(Cross Site Scripting)とは、ECサイトにログインした管理者に、クラッカーが固有のURLをクリックさせてアクセスさせることにより、ECサイト管理者のECサイトのログイン権限を利用して様々なサイト妨害をすることです。具体的には次のようなことが行われてしまいます。

  • クッキーやセッション情報などを、読み取り、保存できる仕掛けをURLにしかけて、セッションを乗っ取り、管理者権限で管理画面にアクセスされる。
  • 管理者権限でデータベース内容を書き換えられるページにアクセスさせ、データベースの値を変える。

クッキーによる脆弱性に対して

クッキーに対する脆弱性をなくすために一番有効なのは、クッキーを利用しないことです。また、一部分、ログインの記憶などで扱うとしても、パスワードなどの重要な情報は、ログインページのみでしか有効にならない状態にすることが必要です。

管理者ページへのリンクについて

管理者ページ内のデータベースの値を変えられる重要なページへのリンクは、非常に厄介な問題です。Open-ECでは、Alinous-Coreが持っている、リファラー指定機能を利用して、重要なページには特定のページからしかアクセスできなくする機能があります。この機能を利用することにより、重要なページに対して、管理画面外のページ、もしくは公開ページに埋め込まれたリンクをクリックしてしまっても、エラーがかえされるのでデータベース内の重要な情報を更新してしまうことを避けることが出来ます。

SQLインジェクション対策

SQLインジェクションもまた、Webアプリケーションでは非常に問題になる脆弱性です。

SQLインジェクションとは

SQLインジェクションとは、データベースにアクセスするページのURLにフォーム経由ではなく、直接パラメータを付加したりプログラムを利用してPOSTしたりすることでデータベースの操作を行うものです。この脆弱性がある場合には

  • 通常、ユーザや管理者で権限がない人が閲覧や変更ができるべきではないデータベースの値を閲覧、変更できてしまう

という被害が起きます。

アプリケーションのプログラミングでのアプローチ

アプリケーションのプログラミングによるアプローチとしては、HTTPのパラメータではコントロール出来ない値をSQLの中に組み込むことでSQLインジェクションを防ぐことが出来ます。例えば、ユーザのマイページでは、外部から変えることができないセッション情報の中に保存したユーザ指定を行うキーを毎回SQLで参照することでSQLインジェクションを防ぐことが出来ます。

また、ECサイトではポイントや金額を改竄できないよう、それらを変更する直前には値の整合性をきちんとチェックすることも重要です。

ミドルウェア(Alinous-Coreでのアプローチ)

Alinous-Coreでのアプローチとしては、サーバサイドで変数のチェックを行うことで、本来ありえない変数が送られてしまうことを防いでいます。また、非常に重要な情報を更新、参照するページには、前述のリファラー指定を行うことによってさらに堅牢なセキュリティーを保つことが出来ます。

 

[↑ページトップ]