基本ノウハウ
「Webサイトのセキュリティ対策ってどうすれば良いの?」
「自社のサイトも対策強化すべき?」
Web上のリスクが高まっている昨今では、自社のセキュリティ対策は十分なのか不安な方も多いのではないでしょうか。この記事では、サイトの脆弱性のために取るべき3つの対策と、専門的な知識がなくてもすぐにできる8つの対策を紹介します。また、自社のサイトのセキュリティ状態をチェックできるサイトも紹介しています。対策強化にお役立てください。
Webサイトを運営する上で、さまざまなリスクは付きものです。セキュリティ対策が十分ではない場合、情報流出などが起きてしまう可能性が高まります。何らかの攻撃の被害だとしても、企業のイメージダウンは避けられません。どのようなリスクがあるのか知って、事前にできる限りの対策を取っておくことが重要です。
オンライン上にサイトを公開している以上、サイバー攻撃のリスクがあります。サイバー攻撃は対象を限定しているわけではないため、中小企業・個人・大企業などサイトの規模にかかわらず、ネット上に存在する限り何らかの危険にさらされているといえます。セキュリティ対策に万全の体制をとっている大企業より、資金力や対策が十分ではない中小企業のサイトの方が、標的となってしまう確率は高いかもしれません。
サイバー攻撃にはさまざまな種類があり、個人情報やクレジットカードの情報を抜き取る行為や不正アクセス、改ざんなど、いつどのような被害に遭うか分かりません。サイバーセキュリティ対策プロバイダーであるチェック・ポイント・ソフトウェア・テクノロジーズ株式会社によれば、2022年のサイバー攻撃数は日本において前年より29%も増加し、週平均970件発生しています。※1 今後も攻撃は増え続けることが予想されているため、万が一攻撃されても大切な情報の被害に遭わないよう、万全の対策が求められています。
※1参照:「チェック・ポイント・リサーチ、2022年のサイバー攻撃数はグローバルで前年比38%増加、日本は29%増加と発表|チェック・ポイント・ソフトウェア・テクノロジーズ株式会社のプレスリリース」
Webサイトを運営していると、脆弱性を完全に排除することはできません。SSLサーバー証明書の安全性の低下や、サイト内で動いているさまざまなプログラムの脆弱性、何らかの機能を悪用する手口やセキュリティ対策の穴など、さまざまなタイプの攻撃があります。サイバー攻撃を仕掛けてくる相手が常に穴を探していることを念頭に置いておき、どこかに脆弱性を見つけたらすぐに対策をとる必要があります。
Webサイトに限った話ではありませんが、ヒューマンエラーは起こる前提で考えておく必要があります。
例えば、以下のような事例は簡単に想像ができます。
・何らかのデータ送信先を間違える
・SSL証明書の更新時期などを忘れてしまう
・データの入ったPCやメモリを紛失する
このような何らかの操作ミスやデバイスの管理に関するリスクは複数の人が関わる組織では完全に排除することが難しいといえます。そのため、ミスが起こらないように確認手順やチェックリストを設けたり、更新時期は複数人で管理したりするなどの予防策を講じましょう。また、万が一の場合にもPCに遠隔ロックをかけられるようにしておいたり、データにはパスワードをかけておいて閲覧ができないようにしたりするなどのフォロー体制を整えておくことも大切です。
脆弱性を突かれないようにするために、必要な3つの対策について解説します。
SQLインジェクションとは、SQL言語をデータベースに注入することにより、悪意のある動作を起こすというサイバー攻撃の一種です。見た目には不審な変更がないため、気づかないうちに会員情報やパスワード、クレジットカード情報などの個人情報が抜き取られてしまいます。
SQLインジェクションの被害を未然に防ぐためには、データベースへの対策が必要です。レンタルサーバーが備えているファイアウォール、IPS、WAF(Webアプリケーションファイアウォール)などの防御システムのうち、WAFが有効です。レンタルサーバーの共用サーバーには標準装備されている場合がほとんどですが、きちんと有効になっているか確認しましょう。専用サーバーの場合は有料のオプションになっている場合もあるため、自社のサーバーの状況を確認してみましょう。
XXSとはWebサイトに攻撃を仕掛ける手口で、不正なスクリプトを埋め込んでWebページの見せ方や動作が悪意あるプログラムによって作り替えられてしまうものです。
サイトの訪問者を偽のページに誘導して、そこで個人情報やクレジットカード情報を抜き取るなどの手口があります。この方法が使われることで、企業の公式サイトで注文しているつもりが、気づかないうちに精巧に模倣された偽サイトに遷移させられていて、情報が抜き取られてしまうかもしれません。
こうしたXXSへの対策としては、プログラムと認識される文字の無害化(HTML特殊文字のサニタイジング・エスケープ)などが必要です。
ブルートフォースアタックとは総当たり攻撃のことで、何万通り、何億通りものパスワードを自動生成することによりログインを試行するタイプの攻撃です。近年では技術の進歩により、何億通りの組み合わせであっても解読にかかる時間が短くなっており、4桁や8桁程度のパスワードではすぐに解読されてしまいます。
管理者権限のあるIDやパスワードを割りだされてしまうと、気づかないうちに内部の情報を抜き取られたり、なりすまし被害に遭ったり、ページを改ざんされたりする危険があります。パスワードは12桁以上の英数字・大文字・小文字・記号などを組み合わせ、複雑にすることが重要です。パスワードマネージャーなどのアプリを活用して安全に管理し、さらに定期的に変更するなどして対策しましょう。
では次に、Webサイトの管理に関して特別な知識があるわけではない担当者レベルでも行える日ごろの対策8つを紹介します。
過去に使っていたものや、デフォルトで入っていたものなど、不要なプログラムを放置したままだとリスクが高まる恐れがあります。プログラムなどサイト内で動いているものの数が多ければ多いほど、脆弱性の危険やセキュリティの穴を突かれる可能性が高まるため、不要なものは削除し、必要最低限のもののみを置いておくように気をつけましょう。ごくたまにしか使わないようなタイプのものは、一旦削除しておき、必要な時に再インストールするなどの対策を講じる必要があるかもしれません。
何か不具合や攻撃された場合にもいち早く気づけるよう、何に使うのか不明なものや、アクティブではないものは削除しましょう。
システムやプログラムは日々改修が繰り返され、脆弱性対策やセキュリティの強化が行われるため、アップデートはこまめにする必要があります。例えば’WordPress(ワードプレス)を利用している場合、バージョンやテーマ、プラグインの更新などのお知らせがあればできるだけ早めに行っておきましょう。
過去に在籍していた人のアカウントやテストアカウントなどを放置しないよう気をつけましょう。パスワードが短く解析されやすいものであると簡単に突破されてしまう可能性もあるため、アカウントについても使わなくなったら削除し、次に必要な時は再度新規で設定するようにして、使いまわしや共有は避けましょう。
パスワードはできる限り長くし、英数字、大文字、小文字、記号などを組み合わせた複雑なものにするのがベストです。またサイト間での共有は避けましょう。AIや技術の進歩により、より短時間でパスワードを解析されてしまう恐れが高まっているため、短いパスワードやパスワードの共用は危険です。
12文字以上のパスワードが推奨されていますが、長すぎて覚えられない場合はセキュリティソフトやパスワードマネージャーを活用する方法もあります。その際、社外に持ち出したPCの万が一の紛失リスクなども考慮し、PCやパスワードマネージャー本体のログインは生体認証を利用したり、パスワードはどこにも記載せず厳重に管理したりするなどの対策も必要です。
Webサイトにログインするアカウントは、1つのアカウントごとに権限を細かく設定しましょう。不必要に全員が管理者権限などとならないように気をつける必要があります。WordPress(ワードプレス)を例に挙げると、管理者・編集者・投稿者・寄稿者・購読者の順にアクセスの範囲が制限され、使える機能が限られます。
面倒だから、とすべてのメニューにアクセスできるアカウントを増やすとリスクを増やすことになってしまうためそれぞれのアカウントで必要な範囲の権限に絞ることが大切です。
サイトの常時SSL化によりすべての通信を暗号化し、サイト内で行われるあらゆる通信を保護しましょう。SSL化には有効なサーバー証明書が必要となり、有効期限があります。期間内に必要なサーバー証明書の更新をきちんと行いましょう。
サイトをSSL化する方法については、こちらの記事で詳しく解説しています。ご覧ください。
関連記事:「SSL化とは?必要な理由・かかる費用・しないとどうなるのか解説」
問い合わせフォームやメールフォームなど、不特定多数から情報が送信できるシステムには、Googleが提供しているロボット対策ツール「reCAPTCHA」が有効です。
これまでのreCAPTCHAは、設置しておくとフォームの送信時に『私はロボットではありません』というチェック項目や、画像パネルの中から指定の画像のみを選択するタイプのテストが表示され、ある程度以上のスコアでないと先に進めないシステムになっていました。
しかし、現在リリースされている最新版のreCAPTCHA v3では、上記のようなチェックボックスはなくなり、ロボットか人間か自動で判断されるようになり、ユーザビリティが高まりました。すべてのロボットやスパムメールを完全に防げるわけではありませんが、ロボットからの攻撃の可能性を減らすため、設置しておくことをおすすめします。
システムやサーバー、アプリケーションのログは定期的に取得し、保管しておきましょう。記録を保管しておき、比較することで不審な動きがあった場合にいち早く気づけます。もし不正アクセスの痕跡を発見した場合には、それがどの期間に起こったものか、その際にどのような通信が行われていたかなどの記録が原因究明や今後の対策に役立ちます。
どのシステムやサーバー、アプリケーションのログをいつ取得するのか、また保管方法や取り扱い方法についても社内で決めておきましょう。各PC間でシステムの時刻がきちんと同期されているかも事前に確認が必要です。
自社サイトのセキュリティレベルのチェックや、不正改ざんにいち早く気づくために役立つ無料のチェックツールを3つ紹介します。いずれもオンライン上でURLを入力するだけなため手軽に使えます。
サービスサイト:「Observatory by Mozilla」より
英語のサイトですが、上記の画面はGoogleの自動翻訳機能を利用しています。「サイトをスキャンする」の下にある検索のような窓部分に、自社サイトのURLや調べたいサイトのURLを入力し、「スキャンミー」をクリックすれば数秒で調べられます。
サービスサイト:「VIRUSTOTAL」より
ウイルスに感染していないか無料で確認できるツールです。真ん中のURLタブを選択し、URLを入力すると、80以上のセキュリティベンダーによる解析結果が表示されます。VIRUSTOTALでは、URLだけでなく650MB以下のファイルを検査することもできます。英語のサイトですが、Googleの自動翻訳機能は利用可能です。
サービスサイト:「gred」より
3つの中では唯一、日本語のまま利用できるチェックツールです。https://の部分にURLを入力し、CHECKボタンを押すと安全か危険があるのか表示されます。フィッシングや偽ソフト、不正改ざんやウイルス、ワームなどの危険があると判断されるとアイコンが表示されるので分かりやすくなっています。
Webサイトのセキュリティ対策について、どのようなリスクがあるのか、どのような攻撃に対策が必要なのか解説しました。Webの詳しい知識がなくてもすぐに実践できる8つの対策も参考に、自社のWebサイトのセキュリティ対策にお役立てください。まずは記事の中で紹介した無料でできるセキュリティチェックなどを実施してみて、対策の必要な箇所がないか確認し、対策を強化しましょう。