Web制作で必須!セキュリティ対策を解説
この記事ではWebサイトのセキュリティ対策について解説します。
ひょっとしてあなたは、こんなふうに思っていませんか?
「うちみたいな小さい企業は攻撃されないから大丈夫」
「うちのサイトは攻撃されても被害は少ない」
その認識はいずれも間違いです。
今や組織の規模にかかわらず、Webサイトはサイバー攻撃のターゲットになり得ます。また自社サイトでの被害は少なかったとしても、他社サイトに被害をもたらす可能性もあるのです。
本記事ではサイバー攻撃の現状や手口を踏まえて、どんなセキュリティ対策がとれるかを解説しています。自社サイトのセキュリティ対策がなんとなく気になっている方はぜひ最後までお読みください。
ではいってみましょう。
Webサイトなどへのサイバー攻撃の現状
サイバー攻撃とは、悪意のある第三者がインターネットを利用して、企業や団体のサイトを改ざんしたりサーバーから情報を盗んだりすることです。
NICTが公表している『NICTER 観測レポート2022』によれば、2022年に観測したサイバー攻撃関連通信数は約5,226億パケットでした。10年前の2013年が約128.8億パケットなので、およそ40倍です。2020年以降数値は上がっていませんが、依然高い値で推移しています。
サイバー攻撃はかつては愉快犯による犯行が多かったですが、現在は金銭や情報の取得を目的としたもののほかテロの手段として使われることもあります。
大手企業をはじめとする大規模な組織が攻撃されるイメージがあるかもしれませんが、 中小企業も攻撃の対象です。中小企業は大手企業のネットワークに侵入する経路として利用されます。 大手企業に比べてセキュリティレベルが低いところが多く攻撃しやすいからです。
組織の規模に関わらず、セキュリティ対策が重要になってきていると言えます。
Webサイトへのサイバー攻撃は大きく2種類
Webサイトへのサイバー攻撃の手口は大きく分けて2種類です。順番に見ていきましょう。
1.サーバーなどに過度な負荷をかけるサイバー攻撃
サーバーなどに過度な負荷をかける手口として、代表的なのが「DoS/DDoS攻撃」です。
DoS/DDoS攻撃
DoS/DDoS攻撃は、標的のサーバーに大量のアクセスもしくはデータを送信することで負荷をかけ障害を起こすものです。攻撃を受けるとアクセス障害やサービス停止などの被害が発生します。
DoS攻撃とDDoS攻撃の違いは、PCを何台使ったかです。1台ならDoS攻撃、複数台ならDDoS攻撃となります。DDoS攻撃の場合、第三者の PC を利用していることもあり、より匿名性が高く悪質な攻撃とされています。
類似の手口として「F5アタック」があります。サーバー側にサイトのリロードを頻繁に要求することで過剰な負荷をかけるものです。本質的にはDoS/DDoS攻撃と同じと考えていいでしょう。
2.OSやアプリケーションなどの脆弱性を狙ったサイバー攻撃
OSやアプリケーションなどの脆弱性を狙った攻撃には以下のものがあります。
- ゼロデイ攻撃
- フォームジャッキング
- SQLインジェクション
- OSコマンドインジェクション
- クロスサイトスクリプティング
順番に見ていきます。
ゼロデイ攻撃
ソフトウェアなどのセキュリティホールが発見されてから対処法が確立されるまでの期間を「ゼロデイ」といいます。この期間に当該の脆弱性に対して仕掛けられるサイバー攻撃が「ゼロデイ攻撃」です。
アップデートにまでにはどうしても時間がかかるので、ソフトウェアの利用を中止する、あるいはゼロデイ攻撃を目的とした通信を検知・遮断することで一時的に対応します。
フォームジャッキング
フォームジャッキングは、正規サイトの購入ページの入力フォームなどに悪意のあるスクリプトを埋め込み、クレジットカードなどの個人情報を盗み出すものです。フォームが送信されると、情報は不正に悪意のある第三者の手に渡ることになります。
SQLインジェクション
SQLとはデータベースに対して、データの読み出しや更新・削除などの操作をするために使われる言語です。 SQLインジェクションはアプリケーションの脆弱性につけ込み、不当な SQL文を作成・注入することでデータベースの不正操作を行います。 個人情報の漏洩につながる悪質な攻撃です。
OSコマンドインジェクション
OSコマンドインジェクションは、Webアプリケーションの脆弱性を突いてOSに対して不正なOSコマンドを送信し、対象PCやサーバーに不正アクセスする攻撃です。SQLインジェクションのOS版と考えていいでしょう。
WebサーバーへのリクエストにOSへのコマンドを紛れ込ませ、不正に実行をさせます。これによりサーバー内のファイルに、改ざん、削除、流出などの被害が生じる恐れがあります。
クロスサイトスクリプティング
クロスサイトスクリプティングはウェブサイトの脆弱性を利用して、記述言語である HTML に悪質なスクリプトを埋め込む攻撃です。 罠が仕掛けられたリンクをクリックすると別のサイトに飛ばされ、マルウェア感染などを引き起こします。
Webサイト制作・運営で必要なセキュリティ対策10つ
Webサイト運営においては、以下のようなセキュリティ対策があります。
- セキュアプログラミング
- サーバーOSやソフトウェア、CMSのアップデート
- ファイアウォール、IPS、WAFの導入
- セキュリティソフトの導入
- パスワードポリシーの設定と適用
- 改ざん検知
- 常時SSL化
- 脆弱性診断
- ペネとレーションテスト
- ログの管理
一つずつ見ていきます。
セキュアプログラミング
セキュアプログラミングとは、セキュリティ上の脆弱性を最小限に抑えたプログラムを開発する手法です。SQLインジェクションなど、既知のリスクに対して設計段階から対策を講じます。開発の下流工程で脆弱性が発見されるよりも、対応が簡単にできるのがメリットです。
サーバーOSやソフトウェア、CMSのアップデート
サーバーOSやソフトウェア、CMS(コンテンツ管理システム)などのプログラムはセキュリティ上の脆弱性を持つ場合があります。アップデートは脆弱性に対する手軽で確実な対策の一つであり、定期的に実施することが重要です。最新バージョンを利用することで、脆弱性のリスクを最小限に抑えられるため、常に最新バージョンを導入するようにしましょう。
ファイアウォール、IPS、WAFの導入
ファイアウォール、IPS、WAFはいずれも攻撃に関連する通信からサイトを守るシステムです。ただし、それぞれ異なるレイヤーでの保護を提供します。
ファイアウォールはネットワークの境界線に設置され、IPアドレスやポート番号で通信の通過・遮断を判断します。IPS(Intrusion Prevention System)はOSやネットワークを行き来する通信を監視し、不正な通信や攻撃・侵入を防御します。WAF(Web Application Firewall)は最後の砦です。Webアプリケーション層で通信を監視し攻撃を検知してブロックします。
セキュリティソフトの導入
セキュリティソフトはコンピューターをサイバー攻撃から守ります。
- ウイルスやスパイウェアの検出・駆除
- ファイアウォール機能による不正アクセスを防止
- マルウェア感染の感染源と感染範囲の特定
ウイルスやスパイウェアなどの脅威は、Webサイトを閲覧するだけで感染することがあります。セキュリティソフトがなければパソコンに深刻な被害をもたらす可能性がありますが、これを防ぐことができるのです。
またファイアウォール機能がパソコンとインターネットの間に立ち、不正アクセスや攻撃を防止します。
パスワードポリシーの設定と適用
パスワードポリシーとは、パスワードの複雑性や更新頻度などを定めたルールのことです。
- パスワードの複雑性要件(大文字・小文字・数字・記号など)
- パスワードの長さ要件
- パスワードの有効期限設定
- パスワードの再利用禁止 など
これらのルールを設定することで、パスワードのセキュリティを強化し、不正アクセスや情報漏えいなどのリスクを軽減することができます。
改ざん検知
改ざん検知とは、Webサイトが不正な改ざん行為に遭った際に、自動的に検知してアラートを発する技術のことです。改ざんが検知されると、速やかに対処することができるため、被害を最小限に抑えることができます。ハッシュ値やタイムスタンプの比較などの方法があります。
常時SSL化
常時SSL化は、Webサイトの通信を常に暗号化することにより、情報漏えいや不正アクセスなどのリスクを軽減するセキュリティ対策です。WebサイトにSSL証明書を取得し、HTTPSプロトコルを使用することで、通信内容を暗号化します。また、SSL証明書を使用してサイトの認証を行うことにより、ユーザーがWebサイトにアクセスする際に、正規のWebサイトであることを確認できます。さらに、Googleの検索順位の決定要因にもなっているため、常時SSL化はセキュリティだけでなくSEO面でもメリットがあります。
脆弱性診断
脆弱性診断とは、Webサイトに存在する脆弱性のリスクを評価し、必要性が認められればセキュリティの強化を図るプロセスです。定期的に実施することが重要で、頻度は3ヶ月、半年、1年に1回程度が一般的です。
方法は自動化ツールを用いることが多いですが、専門家が手動でコードをレビューする方法もあります。これにより自動化ツールでは発見できない脆弱性が見つかることもあるため、両方の方法を組み合わせることが望ましいでしょう。
診断ツールを使えば自社で実施することも可能ですが、適切な設定ができないと、適切な診断結果が得られないことがあります。自社で脆弱性診断を行う際には、その点にご注意ください。
業者に脆弱性診断を依頼する場合、あらかじめ想定されるリスクを折り込んで診断を行うので、精度の高い診断ができます。費用はサイトの規模や構造によって変わってきますので、依頼する業者にご相談ください。
ペネトレーションテスト
ペネトレーションテストは、Webサイトに対する攻撃シナリオを作成し、実際に攻撃を行うことで、Webサイトのセキュリティ対策を評価するテストです。脆弱性診断よりも高度なテストであり、攻撃者の視点からWebサイトの脆弱性を発見することができます。
ペネトレーションテストによって、実際の攻撃に耐えうるセキュリティ対策ができているかを評価できます。実際に攻撃を行うという性質上、稼働中のWebサイトに対して実施できない場合もありますので、事前の準備が必要になる可能性があります。
ログの管理
Webサイトのログの管理は、セキュリティ上重要です。ログは、アクセス履歴やエラー情報を含み、セキュリティインシデントの追跡や不正アクセスの検知などに役立ちます。ログ取得、保存期間の設定、監視と分析が重要で、これらを適切に行うことでWebサイトのセキュリティを強化できます。
ログの取得にあたっては、必要な情報だけを取得するように設定し、不要な情報を含めないように注意することが重要です。また、保存期間については、法令や規制を考慮して設定することが望ましいです。監視と分析には、適切なツールを使用し、ログの解析や不審なアクティビティの検知を行うことが重要です。
セキュリティ対策もクーシーにお任せ!
通常弊社で行うのは最低限必要なセキュリティ対策のみです。それ以上の対策は、お客様のご要望に応じてご提案しています。
最低限のセキュリティ対策とは以下のものです。
- セキュアプログラミング
- サーバーOSやソフトウェア、CMSのアップデート
- 常時SSL化
- ログの管理
セキュアプログラミングによって既知のリスクに設計段階から対策し、公開後に発見される脆弱性については各種アップデートで対応します。これらに加えて常時SSL化で、情報漏えいや不正アクセスなどのリスクを軽減します。ログについては最低限の管理となりますが、サイトのアクセスログやエラーログなど最低限必要なログは保管して確認できるようにしています。
お客様の側でパスワードポリシーの設定と適用をしていただければ、さらにしっかりとした対策になるでしょう。
これ以上は高度な対策となり費用も発生しますので、とくに高いセキュリティが求められる場合のみご検討いただければよいかと思います。該当しそうな場合はご相談ください。
まとめ
以上、Webサイトへのサイバー攻撃と対抗するセキュリティ対策についてお伝えしました。
ネットに公開している以上、どんなWebサイトも攻撃の対象となり得ます。本記事でお伝えしたとおり、サイバー攻撃は目的も方法も多様化しているため、あなたのサイトが被害に遭うことも十分考えられるのです。
この記事を書いた人
クーシーブログ編集部
1999年に設立したweb制作会社。「ラクスル」「SUUMO」「スタディサプリ」など様々なサービスの立ち上げを支援。10,000ページ以上の大規模サイトの制作・運用や、年間約600件以上のプロジェクトに従事。クーシーブログ編集部では、数々のプロジェクトを成功に導いたメンバーが、Web制作・Webサービスに関するノウハウやハウツーを発信中。
お問い合わせはこちらから
Web制作デザイン、丸ごとお任せ
お問い合わせする
テキスト:加藤久佳 デザイン:小林沙綾