目次
1 加害者にもなりかねない「ウェブサイトの改ざん」
「ウェブサイトの改ざん」は、ウェブサイトの脆弱性を突かれて、コンテンツやデザイン、機能が不正に書き換えられてしまうもので、例えば、次のような危険があります。
- リンクが不正に書き換えられ、クリックするとフィッシングサイトに誘導される
- 悪意のあるスクリプトが埋め込まれ、アクセスするとマルウェアに感染してしまう
- 悪意のあるスクリプトが埋め込まれ、入力フォームに記入した情報が窃取されてしまう
自社が運営するウェブサイトが改ざんされてしまうと、自分たちは被害者なのにもかかわらず、ウェブサイトを訪れた人たちに対する加害者になってしまう恐れがあります。
安全にウェブサイトを運用管理するためには、ウェブアプリケーション、ウェブサーバー、ネットワークなどについて、適切なセキュリティ対策を講じる必要があります。
IPA(情報処理推進機構)の「ウェブサイトのセキュリティ対策のチェックポイント20ケ条」を基に、対策が実施できているか確認してみましょう。次のページからチェックリスト(エクセルファイル)をダウンロードできます。
IPA「ウェブサイトのセキュリティ対策のチェックポイント20ケ条」
https://www.ipa.go.jp/security/vuln/websecurity/sitecheck.html
2 ウェブサイトのセキュリティ対策のチェックポイント
ここでは、IPA「ウェブサイトのセキュリティ対策のチェックポイント20ケ条」を、順に、少し解説を足して紹介します。
1)ウェブアプリケーションのセキュリティ対策
1.公開すべきでないファイルを公開していませんか?
個人情報や機密情報の記載されたファイル、「.htaccess」などのシステムファイルなどは、公開すべきでないファイルです。誤って公開してしまっていた場合、単に非公開にするだけでは検索エンジンのキャッシュとして残っている恐れもあります。
例えば、所有するウェブサイトの情報をGoogle検索結果から削除しようとする場合、Google Search Consoleを通じて手続きできます。
Google Search Consoleヘルプ「ウェブサイトの情報を Google から削除する」
https://support.google.com/webmasters/answer/7479439
2.不要になったページやウェブサイトを公開していませんか?
不要になったウェブサイトを公開したまま放置していると、管理が及ばず、脆弱性が発覚した際に影響を受ける恐れがあります。期間限定のページなどは、公開期間が終了になった際に非公開にするようにします。
3.「安全なウェブサイトの作り方」に取り上げられている脆弱性への対策をしていますか?
後述の第3章でもう少し詳しく触れますが、IPA「安全なウェブサイトの作り方(改訂第7版)」では、ウェブアプリケーションの脆弱性のうち、届出件数が多い脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、概要や対策方法を解説しています。必ず確認し、対策を実施しましょう。
4.ウェブアプリケーションを構成しているソフトウェアの脆弱性対策を定期的にしていますか?
ウェブアプリケーションは様々なソフトウェアやフレームワーク、CMS(コンテンツ・マネジメント・システム)などで構成されています。これらに脆弱性が発見された場合、都度、セキュリティパッチを当てたり、バージョンアップしたりするといった対策が必要です。
5.不必要なエラーメッセージを返していませんか?
ウェブアプリケーションのエラーメッセージから、ウェブサイトの設定情報などが漏えいし、攻撃に悪用されることがあります。攻撃者に余計な情報を与えないためにも、エラーメッセージの内容は必要最低限にします。
6.ウェブアプリケーションのログを保管し、定期的に確認していますか?
ログ情報は、不正アクセスやその兆候、故障などの事故があった際、原因を追究するために必要な情報源です。必要な期間、ログを保管し、正しく取得できているか定期的に確認しましょう。
7.インターネットを介して送受信する通信内容の暗号化はできていますか?
ウェブアプリケーションと利用者の間で交わされる通信は、盗聴や改ざん、なりすましなどの被害を受ける恐れがあります。通信内容を暗号化(HTTPS化)すれば、仮に盗聴などの被害を受けても重要情報が不正に取得されることを防止できます。
ウェブサイトを運営するときは、第三者機関からサーバー証明書を取得し、TLS(現在の主流はTLS1.2およびTLS1.3)を設定することが安全性の担保につながります。
8.不正ログインの対策はできていますか?
別のウェブサイトやサービスから漏えいしたIDやパスワードを使った不正ログインは後を絶ちません。ログイン機能のあるウェブサイトでは、利用者に対して、「複雑で推測されにくいパスワードを設定する」「パスワードを使いまわさない」という基本対策をアナウンスするとともに、IDやパスワードの入力を一定回数間違った場合にアカウントをロックする機能の実装や、多要素認証の導入などを検討しましょう。
2)ウェブサーバーのセキュリティ対策
9.OSやサーバーソフトウェア、ミドルウェアをバージョンアップしていますか?
OSやサーバーソフトウェア、ミドルウェアのバージョンアップは、セキュリティ対策の基本です。ただし、バージョンアップをすることで、今まで動作していたウェブアプリケーションが正常に動作しなくなる場合もあるため、事前に検証することが重要です。
10.不要なサービスやアプリケーションがありませんか?
ウェブサーバー上で不要なサービスが起動している場合、そのサービスが悪用されることがあるため、最低限必要なもの以外は、停止します。不要になったアプリケーションも削除します。
11.不要なアカウントが登録されていませんか?
ウェブサーバーやウェブサーバーを管理する端末に不要なアカウントが登録されている場合、悪用される恐れがあります。最低限必要なアカウント以外は削除しましょう。特に、開発工程やテスト環境で使用したアカウントが残っていないか注意しましょう。
12.推測されやすい単純なパスワードを使用していませんか?
推測されやすい単純なパスワードを設定している場合、アカウントを乗っ取られ、悪用される恐れがあるため、推測されにくい複雑なパスワードを設定・使用するようにします。特に管理者権限を持ったアカウントやリモート管理ソフトなどのアプリケーションは注意が必要です。
13.ファイル、ディレクトリへの適切なアクセス制御をしていますか?
サーバー上に配置されているファイル、ディレクトリに適切なアクセス制限がされていない場合、非公開のはずのファイルを第三者に見られたり、不正なプログラムを設置されて実行されたりする恐れがあります。
14.ウェブサーバーのログを保管し、定期的に確認していますか?
ウェブサーバーのログ(「システムログ」「アクセスログ」「データベース操作ログ」など)は不正アクセスなどがあった際、原因を追究するために必要な情報源です。必要な期間、ログを保管し、正しく取得できているか定期的に確認しましょう。
3)ネットワークのセキュリティ対策
15.ルータなどを使用してネットワークの境界で不要な通信を遮断していますか?
境界ルータなどのネットワーク機器を使用して、不要な通信を遮断することで、攻撃の糸口を減らすことができます。運用上、外部から内部ネットワークへの通信が必要な場合は、情報を秘匿するためVPNなどを利用することを検討します。内部の通信の場合でも、不要な通信を遮断することで、万が一、侵入された場合の被害を軽減できる可能性があります。
16.ファイアウォールを使用して、適切に通信をフィルタリングしていますか?
ファイアウォールを設置していても、適切なフィルタリング設定がなされていない場合、防御することができません。「どのサーバー」の「どのサービス」に「どこから」のアクセスを許可する(許可しない)のか、設定を見直しましょう。
17.ウェブサーバー(または、ウェブアプリケーション)への不正な通信を検知または、遮断していますか?
IDS(Intrusion Detection System:不正侵入検知システム)、IPS(Intrusion Prevention System:不正侵入防止システム)、WAF(Web Application Firewall:ウェブアプリケーションファイアウォール)を導入することで、ウェブサイトと利用者の間の通信を検査し、自動的に検知、遮断をすることができます。
18.ネットワーク機器のログを保管し、定期的に確認していますか?
ネットワーク機器のログは不正アクセスなどがあった際、原因を追究するために必要な情報源です。必要な期間、ログを保管し、正しく取得できているか定期的に確認しましょう。
4)その他のセキュリティ対策
19.クラウドなどのサービス利用において、自組織の責任範囲を把握した上で、必要な対策を実施できていますか?
クラウドやホスティングのサービスを利用してウェブサイトを運営している場合、サービス提供事業者側がセキュリティ対策を実施しているケースも少なくありません。サービス提供事業者側の責任範囲を把握した上で、不足する対策は自社で対応することを検討します。
20.定期的にセキュリティ検査(診断)、監査していますか?
セキュリティ対策を実施しているか、自社内で確認した上で、第三者機関による脆弱性診断やセキュリティ監査を受けることは、対策漏れなどを洗い出すために効果的な手段です。
3 ウェブサイト改ざんにつながる代表的な脆弱性
IPA「安全なウェブサイトの作り方(改訂第7版)」では、ウェブサイト改ざんにつながる11種類の脆弱性を取り上げ、脆弱性の原因そのものをなくす根本的な解決策などが解説されています。
IPA「安全なウェブサイトの作り方(改訂第7版)」
https://www.ipa.go.jp/security/vuln/websecurity/about.html
これらは、よく知られている脆弱性であり、全てに対応が必要です。ここでは代表的な3つの脆弱性を取り上げて紹介します。
1)SQLインジェクション
SQLインジェクションは、ウェブアプリケーションのSQL文(データベースへの命令文)の組み立て方の脆弱性を突き、不正なSQL文を実行させてデータベース内の情報を窃取・改ざん・消去するものです。
運営主体やウェブサイトの性質を問わず、データベースを利用するウェブアプリケーションを設置しているウェブサイトに存在しうる問題です。
根本的な解決策として、次が挙げられます。
- SQL文の組み立ては全てプレースホルダで実装する。
- SQL文の組み立てを文字列連結により行う場合は、エスケープ処理等を行うデータベースエンジンのAPIを用いて、SQL文のリテラルを正しく構成する。
- ウェブアプリケーションに渡されるパラメータにSQL文を直接指定しない。
2)クロスサイトスクリプティング(XSS:Cross-Site Scripting)
クロスサイトスクリプティング(XSS)は、ウェブアプリケーションの出力処理(画面への表示)の脆弱性を突き、不正なスクリプトを埋め込んで、ウェブサイトにアクセスした利用者のブラウザ上で実行するものです。「XSS」と略すのは、スタイルシート言語(Cascading Style Sheets)で使用されている「CSS」と混同しないようにするためです。
運営主体やウェブサイトの性質を問わず、あらゆるサイトにおいて注意が必要な問題です。Cookieを用いたセッション管理を行っているサイトや、フィッシング詐欺の標的になりやすいログイン画面や個人情報の入力画面などを持つサイトは、特に注意が必要です。
根本的な解決策として、次が挙げられます。
- ウェブページに出力する全ての要素に対して、エスケープ処理を施す。
- URLを出力するときは、「https://」で始まるURLのみを許可する。
- <script>…</script> 要素の内容を動的に生成しない。
- スタイルシートを任意のサイトから取り込めるようにしない。
3)クロスサイトリクエストフォージェリ(CSRF)
クロスサイトリクエストフォージェリ(CSRF)は、ウェブアプリケーションのセッション管理(リクエストの正当性確認)の脆弱性を突き、ログイン中の利用者に不正なリンクを踏ませるなどして、あたかもその利用者が操作をしたかのようにウェブアプリケーションに不正なリクエストを送信し、実行させるものです。
Cookieを用いたセッション管理や、Basic認証、SSLクライアント認証を実装しているウェブサイトは、CSRFによる影響を受ける可能性があります。
根本的な解決策として、次が挙げられます。
- 処理を実行するページをPOSTメソッドでアクセスするようにし、その「hiddenパラメータ」に秘密情報が挿入されるよう、前のページを自動生成して、実行ページではその値が正しい場合のみ処理を実行する。
- 処理を実行する直前のページで再度パスワードの入力を求め、実行ページでは、再度入力されたパスワードが正しい場合のみ処理を実行する。
- Refererが正しいリンク元かを確認し、正しい場合のみ処理を実行する。
4 ウェブサイトの改ざんの被害に遭ってしまったら
警察庁は、ウェブサイト改ざんの被害に遭った場合、アクセスログ等の資料を持参して、最寄りの警察署またはサイバー犯罪相談窓口に通報・相談するように呼びかけています。
e-Gov電子申請(デジタル庁が運営する電子申請のポータルサイト)からオンラインで「サイバー事案に関する通報等」を行うこともできますが、e-Govアカウントの取得やアプリのインストールなどが必要です。いざというときに備えて、事前に対応しておくとよいでしょう。
警察庁「ウェブサイト改ざん対策」
https://www.npa.go.jp/bureau/cyber/countermeasures/hacked-website.html
以上(2026年4月作成)
pj60384
画像:savittree-Adobe Stock










