Webサイト運営で必須のセキュリティ対策とは?

[著]
セキュリティ対策

Webサイトで、セキュリティ対策してますか?セキュリティ対策は欠かすことができませんが、対策のできていないサイトが多いことも事実です。ここでは主なハッキング手法について解説しながら、具体的なセキュリティ対策の方法についてご紹介していきます。これから取り組む方はもちろん、すでに対策を行っている方もぜひ参考にしていただければと思います。

セキュリティ対策が必要な理由

最初に、セキュリティ対策が必要な理由についてかんたんに復習しておきましょう。Webサイトはネット上に公開された時点で、世界中からアクセスされることになります。世の中には悪意のあるハッカーが少なからずいるもの。サイトが公開された時点で、そういった脅威から自社サイトを守る必要があるのです。

ところで、セキュリティ対策は自社を守るためだけのものではありません。自社サイトがセキュリティ被害にあってしまうと、訪問者全員に被害が及ぶことになります。つまり、大切なユーザーやお客さまに被害が及んでしまう可能性があるのです。これは、絶対に防がなければいけませんよね。自社サイトの信頼を高めるためにも、しっかりと実施しておく必要があるのです。

ハッキングの手法にはさまざまなものがありますし、その手口も年々巧妙化していることが知られています。全ての手法に対策を施すのは容易ではありませんが、いつくかの主立った攻撃への対策を行うことは可能です。ここでは、主要なハッキングの手口とその特徴について紹介しながら、その対策についても解説していきます。

クロスサイトスクリプティング(XSS)

ハッキングの手口としては有名な、クロスサイトスクリプティング(XSS)。WebサイトやWebアプリケーションに対する攻撃としては、最もよく知られているでしょう。その手口ですが、標的とするサイトに悪意のあるスクリプトを埋め込むものです。悪意のあるスクリプトの仕込まれたサイトにユーザーが訪れると、そのユーザーの個人情報が奪われたり、攻撃の踏み台にされてしまうことも考えられます。

【対策】
この手口では、スクリプトを仕込み悪さをさせます。つまり、そういったスクリプトが動作しないようにすればいいのです。専門的になりますが、スクリプトで使用される「<」や「>」、「”」などの記号をエスケープします。これによって、悪意のあるスクリプトが動かなくなるのです。特殊文字をHTMLエンティティに変換する、htmlspecialchars()htmlentities()などの関数を活用するとよいでしょう。

SQLインジェクション

SQLインジェクションとは、MySQLなどのデータベースへの接続をハッキングする攻撃のこと。クロスサイトスクリプティングと並んで、よく知られている手口です。不正にデータベースを操作されてしまう可能性があるので、とても危険なハッキングです。データベースに保存してある情報を閲覧されたり、改ざん・削除されてしまうことも考えられます。

【対策】
クロスサイトスクリプティングと同様、特殊文字をエスケープすることは対策として有効です。また、ページにデータベースのエラーメッセージを表示させないことも必要です。データベースのエラーが表示されてしまうと、内部の構造やデータを予測されてしまうからです。また、データベースアカウントの権限が不必要に広いと、SQLインジェクションの危険性を高めてしまいます。アカウントの権限を必要最小限にするなどの調整も、併せて行うとよいでしょう。

セッションハイジャック

セッションを乗っ取ったり、不正に新規セッションを作成するなどして行われる攻撃手法が、セッションハイジャックです。Cookieに保存されたセッションIDを不正に利用されたり、書き換えられてしまうパターンが知られています。

【対策】
セッションハイジャックを防ぐには、CookieにあるセッションIDを予想しづらくする方法があります。連番や数字だけのセッションIDの場合は、数字を少し書き換えるだけでハッキングされてしまうことになるからです。ランダムな数字や乱数を利用するなどして、セッションIDを発行するようにしましょう。併せて、セッションの有効期限をもうけたり、ワンタイムセッションを利用することも対策として有効です。

ディレクトリ・トラバーサル(パス・トラバーサル)

ディレクトリ・トラバーサルとは、本来はアクセスを制限しているフォルダやファイルへ不正に接続する攻撃手法のこと。重要なファイルを閲覧されたり、改ざん・削除されることがあります。また、攻撃の踏み台にされる、サイトのコンテンツを勝手に書き換えられる、などの被害も知られています。

【対策】
ディレクトリ・トラバーサルの対策です。ファイル名に「../」など攻撃に使われる文字列がないかチェックをして、その場合は処理を中断するようにプログラムを組む必要があります。また、ファイル名を固定にする(外部からファイル名を指定させない)方法も有効です。また、フォルダやファイルへのアクセス権(パーミッション)を見直すことも大切です。

クロスサイト・リクエスト・フォージェリー(CSRF、リクエスト強要)

クロスサイト・リクエスト・フォージェリーとは、本来は意図しない処理を強制的に実行する攻撃手法のこと。ユーザーの意に反する処理が行われる、攻撃用のページに飛ばされて攻撃の踏み台にされる、などの被害が知られています。

【対策】
サイトやアプリケーション外からのリクエストを処理しないよう、プログラムをしておくことが必要です。その際、セッションやトークンなどをHTMLに埋め込むなどして、正しいリクエストなのか照合するとよいでしょう。

DDoS攻撃(ディーディーオーエス攻撃)

DDoS攻撃とは、Webサイトに対して大量アクセスをすることで、サイトをダウンさせてしまう手口です。従来のDoS攻撃はハッカーのPCからアクセスをする手法でしたが、DDoS攻撃では無関係なPCを利用してアクセスします。そのため、DoS攻撃と比べて、アクセス元を割り出すことが難しい攻撃です。

【対策】
DDoS攻撃の対策として、同一IPからの複数アクセスを制限する方法があります。また直接の対策方法ではありませんが、Webサイトを設置しているサーバの性能をアップすることも考慮するとよいでしょう。

まとめ

いかがでしょうか。Webサイトでは機能やデザインにばかり目がいってしまい、セキュリティ対策はついつい後回しになってしまうことが多いでしょう。しかし、大切なお客さまと自社を守り、安全なサイト運営を進めるためには欠かせない施策なのです。ここで取り上げた対策については、最低限対策を施すようにしましょう。


10万いいね!目指してます。

   

   

コメントを残す

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>