クロスサイトスクリプティング(Cross site scripting)とは、サイト間を横断して悪意のあるスクリプトを注入する攻撃のことです。略すとCSSですが、スタイルシートのCSSと重複するためXSSという表記が一般的となっています。
ほとんどのWebサイト(Webアプリケーション)は、ユーザーのパソコンに保存されるCookie(クッキー)と呼ばれるテキストファイルでセッションIDを管理します。
上図を用いて説明するのは、攻撃者がセッションIDを窃取して、ユーザーになりすまして標的のサイトにアクセスするまでの流れ(概要)です。
流れを見ると分かりますが、複数のサイトをまたぐため、 クロスサイト スクリプティングという名称となります。
この方法は、攻撃者が標的サイトを直接攻撃するわけではありません。罠(偽のWebサイト)を用意して、他の一般ユーザーに攻撃させるという巧妙な攻撃方法です。攻撃に荷担したことになる一般ユーザーですが、アカウントの不正利用が発覚するまで被害に気付かないかもしれません。
おそらく気付いた方もいると思いますが、掲示板機能やコメント機能、検索条件を表示する検索機能等、入力した内容を無加工で出力するWebサイトがXSSの標的となります。
WebサイトのXSS対策がしっかりしていればあまり心配する必要はありません。例えば、ユーザーの入力文字列に対するタグの削除など、適切なエスケープ処理が重要となります。
ここで紹介した内容は、セッションIDの窃取(セッションハイジャック)ですが、他にも様々な攻撃があります。
レンタルサーバーの性能とXSSの問題は全く関係ありません。どのレンタルサーバーであっても、Webサイトの内部処理によってはXSSの影響を受けます。つまり、ユーザーからの入力を受け付けるページがあれば注意する必要があります。
レンタルサーバによってはXSSを防ぐためにWAF(Webアプリケーションファイアウォール)と呼ばれる機能を備えており、機能のないレンタルサーバーと比較してWebサイトのセキュリティ性能が向上します。
WAFを利用することで、既存のWebサイトに手を加えることなく各種脆弱性に対する攻撃を防ぐことができます。ただし、全ての攻撃を防げるわけではないので、あくまでも保険として利用し、サイト自体に問題があれば修正すべきでしょう。
WAFに対応しているレンタルサーバーは以下の通りです。