2024.09.19
ウェブサイトのセキュリティ対策(2/3)
目次
中小企業の経営者や情報システム担当者の皆さん、日々のセキュリティ対策、お疲れ様です。
全3回のシリーズでお伝えしている、「ウェブサイトのセキュリティ対策」。
2回目の今回は、ウェブサイト運営者、システムおよびネットワーク管理者に実行していただきたい「ウェブサイトのセキュリティ対策のチェックポイント20ヶ条」のうち、
1.ウェブアプリケーションのセキュリティ対策(ポイント1〜8)と、
2.ウェブサーバーのセキュリティ対策(ポイント9〜14)について解説します。
※前回の配信はこちら「ウェブサイトのセキュリティ(1/3)」でご覧ください。
ウェブサイトのセキュリティ対策のチェックポイント20ヶ条
1.ウェブアプリケーション*のセキュリティ対策
*インターネット上で動作するアプリケーションソフトウェアのこと
CMS(コンテンツ管理システム)、EC(ネットショップ、オンラインショップ)、予約システムなど、様々なウェブアプリケーションがあります。
(1)公開すべきでないファイルを公開していませんか?
機密情報や個人情報などの重要な情報を格納したファイルは、公開するファイルとは別に、インターネット上からアクセスできない場所に保管してください。
また、不要なファイルは削除する必要があります。ファイルを誤って公開していた場合、非公開にしたとしても、検索エンジンのキャッシュとして残り、検索に引っかかって閲覧されてしまうことがあります。
非公開にしたファイルが検索エンジンのキャッシュに残っている場合は、Googleなど運営会社に対して、キャッシュの削除を依頼してください。
(2)不要になったページやウェブサイトを公開していませんか?
期間限定のページや不要になったウェブサイトを公開したまま放置していませんか?
放置したままのサイトがあった場合、日頃から管理していないこともあり、脆弱性が発覚しても認知・対応が遅れ、結果的に脆弱性の影響を受ける恐れがあります。
不要になったページや管理ができていないウェブサイトがないか確認をして、不要なページやウェブサイトは閉鎖してください。
(3)ウェブアプリケーション特有の脆弱性への対策をしていますか?
ウェブサイトは常時攻撃に晒されています。
攻撃の大半はウェブアプリケーションの脆弱性を狙うため、まず、自組織のウェブサイトがどのようなソフトウェアで作られているか把握し、日々公開される脆弱性対策情報※をキャッチアップし、対策が実施されているかを確認してください。
※脆弱性対策情報データベース JVN iPedia https://jvndb.jvn.jp/
(4) ウェブアプリケーションを構成しているソフトウェアの脆弱性対策を定期的にしていますか?
ウェブアプリケーションは様々なソフトウェアやフレームワーク(使用する頻度が高い機能などをパッケージ化したもの)、CMS等で構成されています。
これらのソフトウェアに脆弱性が発見された場合、適宜バージョンアップ等の対策が必要です。
そのため、自組織のウェブサイトを構成しているソフトウェアの脆弱性を定期的に確認し、発見されたときには、速やかに脆弱性対策をとってください。
(5) 不必要なエラーメッセージを返していませんか?
ウェブアプリケーションのエラーメッセージから、ウェブサイトの設定情報などが漏えいし、攻撃に悪用されることがあります。
このようなメッセージの大部分は、ウェブサイトの閲覧者には不要なものです。
攻撃者に余計な情報を与えないためにも、エラーメッセージの内容は必要最低限にしてください。
(6) ウェブアプリケーションのログを保管し、定期的に確認していますか?
ログは、事故や故障、不正アクセス等の不審な動きがあった際に、原因を追究するための重要な情報源です。
必要に応じてログを保管するとともに、定期的に事故や故障、不正アクセス等の不審な動きがなかったかを確認してください。
(7) インターネットを介して送受信する通信内容の暗号化はできていますか?
ウェブアプリケーションと利用者の間で交わされる通信は、盗聴や改ざん、なりすましなどの被害を受ける恐れがあります。
しかし、通信内容を暗号化(HTTPS化※)すれば、仮に盗聴などの被害を受けても重要情報が不正に取得されることを防止できます。
そのため、通信内容の暗号化を行う必要があります。ただし、暗号化することにより何らかの支障が発生する場合は、暗号化以外の対策で、盗聴などへの対策を行ってください。
※HTTPSは、HTTP通信にSSL/TLS暗号化を追加したプロトコルで、データの盗聴や改ざんを防ぎ、安全にインターネット通信を行うための技術です。
(8) 不正ログインの対策はできていますか?
漏えいしたIDやパスワードを悪用した不正ログインにより、情報漏えいや金銭被害などが生じる恐れがあります。
利用者に対して、「複雑で推測されにくいパスワードを設定する」「パスワードを使い回さない」等の対策をアナウンスしてください。
さらに、システム面でも不正ログインを防止する仕組みとして次のような対策を実施してください。
・設定するパスワードは複雑な文字列に制限する
・多要素認証を導入する
・ソフトウェアを定期的にアップデートする
また、不正ログインを検知するサービスの導入も有効です。
不正ログインを検知するサービスには、侵入検知システム(IDS)や侵入防止システム(IPS)があります。
侵入検知システム(IDS)は、疑わしい特定ポートのスキャン、異常なログイン試行、大量のデータ転送などを検知するシステムです。また、侵入防止システム(IPS)は、疑わしい動きを検出した際、リアルタイムでその侵入をブロックしたり、セッションを終了させたりするシステムです。
これらにウイルス検知など他のセキュリティ機能を組み合わせたUTM(統合脅威管理)があります。
※UTMの詳細については、「UTM」【3分でわかる!用語解説】の回でご紹介しています。
2.ウェブサーバーのセキュリティ対策
(9) OSやサーバーソフトウェア、ミドルウェアをバージョンアップしていますか?
OSやサーバーソフトウェア、ミドルウェアのバージョンアップは、セキュリティ対策の基本です。修正プログラムが公表された際は適用し、脆弱性を解消してください。
なお、ソフトウェアをバージョンアップした場合、今まで動作していたウェブアプリケーションが正常に動作しなくなる場合があるため、事前にテスト環境で検証する必要があります。
(10) 不要なサービスやアプリケーションがありませんか?
ウェブサーバー上で不要なサービスが起動している場合、そのサービスが悪用されることがあります。
そのため、最低限必要なもの以外は停止してください。
また、古いバージョンのアプリケーションの脆弱性を攻撃される恐れもあるため、不要になったアプリケーションは削除してください。
(11) 不要なアカウントが登録されていませんか?
ウェブサーバーやウェブサーバーを管理する端末に不要なアカウントが登録されている場合、悪用される恐れが高まります。
アカウントの一覧を見直して、最低限必要なものを除き、削除してください。 特に、開発工程やテスト環境で使用したアカウントが残っているケースがあるので、確認してください。
(12) 推測されやすい単純なパスワードを使用していませんか?
推測されやすいパスワードを設定している場合、悪用される可能性が高まります。
推測されにくい複雑なパスワードを設定・使用してください。
特に、管理者権限を持ったアカウントやリモート管理ソフトなどのアプリケーションの場合、狙われて悪用される可能性が高いため、安易なパスワードが設定されていないか、確認してください。
安易なパスワードを使用していた場合、複雑なパスワードに変更してください。
(13) ファイル、ディレクトリへの適切なアクセス制御をしていますか?
ウェブサーバー上のファイル、ディレクトリに適切なアクセス制御がされていない場合、第三者に非公開のファイルを見られたり、プログラムが実行されたりします。
ファイルやディレクトリのアクセス制御は適切に設定する必要があります。
(14) ウェブサーバーのログを保管し、定期的に確認していますか?
ウェブサーバー上では各種ログファイル(「システムログ」「アプリケーションログ」「アクセスログ」「データベース操作ログ」など)があります。
これらのログファイルを確認することにより、事故や故障、不審な動き(不正アクセス)があったことに気づくきっかけになります。
また、原因を追究するための重要な情報源ともなります。必要に応じて適切にログを保管し、定期的に確認をする必要があります。
なお、本稿は、独立行政法人情報処理推進機構(IPA)が公表している「安全なウェブサイトの運用管理に向けての20ヶ条 〜セキュリティ対策のチェックポイント〜」を参考に解説しています。
次回は、(15)以降について解説します。