「Apacheの脆弱性対策に有効な方法はあるの?」
「手間をかけずにApacheのアップデートが行える方法は?」
WebサーバーソフトウェアであるApacheの脆弱性は、対応が遅れてしまうと不正アクセスやサーバーダウンなどの被害を受ける可能性があります。被害を防ぐにはバージョンを最新に保ち、安全性を高めた状態を維持し続けることが大切です。
しかし、Apacheを最新の状態に保ち続けるには、ユーザー自ら頻繁に情報を確認する必要があるため、アップデート漏れが発生する可能性もあります。
本記事では、以下の内容を詳しく解説します。
- Apacheの脆弱性を突いた攻撃が生まれる原因
- 脆弱性の対策方法
- アップデート情報などを自動で受け取る方法
- 設定しておきたい安全性を高める4つの機能
- Apacheが狙われる理由と攻撃手法
- セキュリティをさらに強化する方法
本記事を読むことで、Apacheのセキュリティ強化方法や、安全性を高める予防策が分かります。Apacheを安全に活用したいと考えている企業の方は、ぜひ参考にしてください。
アプリケーションセキュリティの強化をご検討中の方、必見!
現在のセキュリティ対策でアプリケーションの安全が確保できているか不安
安全性の高いアプリケーションの提供には、脆弱性を特定・修正し、脅威を未然に防ぐアプリケーションセキュリティが欠かせません。実施にあたっては、人材確保に加えてツールによる作業自動化がおすすめです。脆弱性診断を自動化するためのステップをまとめた資料をご用意しておりますので、こちらもぜひご覧ください。
Apacheの脆弱性を突いた攻撃が生まれる原因
Apache(アパッチ)は無償で使えるWebサーバーであり、正式名称は「Apache HTTP Server」です。
Apacheは多くのエンジニアによってデバッグが行われているため、比較的バグは発生しにくいですが、OSS(オープンソースソフトウェア)であるため、脆弱性が発生した際はユーザー側で対応する必要があります。そのため、アップデートやパッチの対応が遅れてしまった場合は、脆弱性を狙った攻撃を受ける可能性が高まってしまいます。
過去には、第三者が不正なリクエストを送信し、アクセス制限されていないファイルを読み取る脆弱性が発見されました。脆弱性についての注意喚起があった翌日には修正バージョンが公開されましたが、すぐに対応せずにゼロデイ攻撃を受けた被害が報告されています。
Apacheに対する攻撃を防ぐには脆弱性情報を素早く入手して対応することが大切です。メンテナンスを怠ると、攻撃を受けるリスクが格段に上がるため注意しましょう。
Apache log4jに発生した重大な脆弱性
Apach log4jは本記事のApacheとは別物で、Javaのログ出力に使用されるライブラリを指します。
2021年12月、Log4jに重大な脆弱性が発見されました。最初に発見された Log4Shell(CVE-2021-44228)は、攻撃のしやすさから CVSS(共通脆弱性評価システム)スコアは最高の10.0、深刻度は「緊急」と判断されました。
この脆弱性の影響は収束していますが、今後、同様に深刻度の高い脆弱性が発生してしまう可能性は否めません。深刻度が高い脆弱性が発生した過去の事例・対応を知識として得ておくことは、セキュリティ対策を行う上でとても大切なことです。
本件については「Log4jの脆弱性|想定される被害とその対策をわかりやすく解説」に詳しく書いているので、今後のセキュリティ対策の知識としてご一読いただくことをおすすめします。
Apacheの脆弱性対策
Apacheの脆弱性が見つかったら、すみやかに最新バージョンへアップデートしましょう。
最新バージョンは「Apache HTTP Server Project」からダウンロードが可能です。
脆弱性が修正されたバージョンを適用すれば、外部から攻撃を受けるリスクが格段に下がります。
Apacheの最新バージョン情報などを自動で受け取る方法
Apacheを常に最新の状態にしておきたいものの、定期的に情報を取りにいく作業は、なかなか大変です。
Apacheのメーリングリストに登録しておくと、最新バージョンのリリース情報や脆弱性の修正情報、最新のモジュール情報などを、いち早くメールで受けとることができます。
方法は以下になります。(引用:APACHE HTTP SERVER PROJECT )
- https://httpd.apache.org/lists.html にアクセスする
- 上部の「Announcement」をクリックする
- Subscription addressに書かれているメールアドレスへ、空メールを送信する
- 件名が「confirm subscribe to announce@httpd.apache.org」という確認メールが届くので、そのメールへ「返信」で空メールを送信する
- メール文「added to the announce mailing list, please send a short reply to this address:」の下に記載されている宛先がメールの返信を押した時にメールの宛先欄に入っている事を確認してください。
- 自動で入っていない場合は、A.のメールアドレスを宛先に貼り付けて返信してください。
- 件名が「WELCOME to announce@httpd.apache.org」のメールが届くと、メーリングリストへの登録完了です
メールでは、以下の目的のため、このメッセージを保存しておくことをおすすめしています。
- Apacheのメーリングリストに登録していること、メーリングリストに登録しているご自身のメールアドレスがわかるため
- メールの解除を希望する時や宛先変更を希望する時の連絡先がわかるため
登録後は、Apacheのバージョンアップなどが発生した際に、いち早くメールで知ることができるのでアップデート漏れを防ぐことが出来ます。
また、過去のメールはアーカイブされていますので、こちらから確認ができます。
アーカイブからわかる通り、基本的には年に数回ほどの配信のため、Apacheからのメールが業務の妨げになることはないでしょう。
メーリングリストのポリシーなどはこちらをご覧ください。
Apacheで設定しておきたい4つの機能
Apacheをデフォルト状態で運用すると、第三者に攻撃の隙を与えてしまうことになります。デフォルト設定を変更し、セキュリティを強化することが大切です。安全な運用に必要な設定には、以下の4つがあります。
- 不要なページを非公開にする
- ディレクトリの一覧表示を無効化する
- TRACEメソッドを無効化する
- バージョン情報を非公開にする
4つすべての設定を見直し、Webサーバーのセキュリティを強化しましょう。
1. 不要なページを非公開にする
攻撃を受けるリスクを低下させるには、不要なページを非公開にすることが重要です。ApacheにはWelcomeページやエラーページなど、デフォルトで表示されるページがあります。デフォルトページから即座に攻撃を受けるわけではありませんが、攻撃のきっかけとなる可能性があるものは減らしておくのが得策です。
不要なページは公開から非公開に設定を変更するか、削除しておきましょう。設定変更後、ページのURLを入力して検索し、非公開にしたページが表示されなければ作業完了です。
2. ディレクトリの一覧表示を無効化する
Apacheにはディレクトリを一覧表示する機能があり、デフォルト設定では有効になっています。ディレクトリ一覧を表示させないように、Webサーバーの設定で無効化しておきましょう。
一覧表示した状態だと、誰でもディレクトリに直接アクセスでき、一覧の取得が可能となってしまいます。保管されているファイルに個人情報などが含まれていると、大変危険です。
ディレクトリの一覧表示機能を無効化すると、見られたくないファイルは表示されなくなります。ただし、ファイル名を直接指定することでアクセス可能となるため、重要な情報は公開ディレクトリに置かないことが大切です。
3. TRACEメソッドを無効化する
セキュリティを強化するには、TRACEメソッドを無効にしておきましょう。TRACEメソッドとは、クライアントがWebサーバーに対してリクエストした内容をそのまま送り返すというものです。
リクエスト内容にはID・パスワード・Cookieなどの情報が含まれるため、攻撃を受けると認証情報が盗み出される危険があります。TRACEメソッドを無効化しておけば、ログイン情報盗取による不正アクセスなどを防ぐことが可能です。
4. バージョン情報を非公開にする
攻撃の手がかりとして利用されることもあるため、バージョン情報は公開しないことが重要です。バージョンが最新でないことが攻撃者に知られると、脆弱性を突かれるリスクが高まります。
Apacheでは、バージョン情報の公開設定がデフォルトで有効になっています。「Not Found」などのエラーページに意図的にアクセスすると、バージョン情報の確認が可能です。非公開設定にすれば表示されなくなるため、設定を見直しておきましょう。
Apacheが狙われる理由と主な攻撃手法
Apacheの脆弱性が狙われるのは、シェア率が高く利用者が多いためです。2023年7月の統計調査によると、Webサーバーのシェア率のうちApacheが占める割合は31.4%で、Nginx(34.3%)に次いで第2位でした。ApacheはOSSであるため、Webサーバーソフトウェアの中でもシェア率が比較的高くなっています。
Apacheの脆弱性を狙った主な攻撃手法には、以下の3つがあります。
- パストラバーサル
- DoS攻撃
- HTTPリクエストスマグリング
攻撃を受けるとどのような影響があるのか、以下で詳しく解説します。
パストラバーサル
パストラバーサルとは、アクセス権限のない第三者が非公開のファイルに不正アクセスすることです。インターネット上に公開されているファイルの保管場所を経由し、非公開のファイルに横断(トラバーサル)します。攻撃を受けると、以下のような危険があります。
- 情報漏えい
ファイル内に個人情報などがある場合、第三者に閲覧されることで情報漏えいの危険があります。情報漏えいによって企業の信頼が低下したり、利益が減少するおそれがあります。 - データ改ざん
ファイルに不正アクセスされると、Webページやデータを改ざんされるリスクがあります。改ざんによって不正な処理が実行されたり、サービスが停止したりする可能性があります。 - アカウント乗っ取り
不正アクセスで管理画面に侵入されると、アカウントを乗っ取られる危険があります。乗っ取られると犯罪の踏み台として利用されるおそれがあります。
DoS攻撃
DoS攻撃とは、攻撃者がWebサーバーに大量のデータを送りつけ、処理速度を落とすことです。Webサーバーのメンテナンスがされておらず脆弱性が潜んでいると、攻撃を受けるリスクが上がります。
DoS攻撃による影響は、Webページの表示が遅くなったり、サーバーがダウンしたりすることです。ページが正常に表示されずサービスが使えなくなると、ユーザーから悪い印象を持たれてしまうリスクがあります。また、サービス停止による金銭的損害も発生します。
HTTPリクエストスマグリング
HTTPリクエストスマグリングとは、フロントエンドとバックエンドのWebサーバーでHTTPリクエストの解釈が異なることにより発生する脆弱性です。攻撃者はこの脆弱性を利用して悪意あるコードを仕込み、利用者が意図していた処理とは異なる動作を実行させます。
HTTPリクエストスマグリングが悪用されると、偽サイトに誘導させられたり、個人情報を盗まれたりする可能性があり危険です。また、セキュリティ対策をすり抜けてWebシステム・アプリにアクセスされるリスクもあります。
サーバーのセキュリティ対策は万全ですか?
サーバーのセキュリティ対策は万全ですか?
サーバーには企業の機密情報や個人情報など重要な情報が保存されているため、しっかりとしたセキュリティ対策を行う必要があります。「サーバーセキュリティ|攻撃トレンドからみた必須対策とは」では、サーバーを狙う攻撃手法や、7つのセキュリティ対策方法など、サーバーの安全な運用ポイントについて解説しています。自社でサーバーを運用している企業の方は、ご一読いただくことをおすすめします。
Apacheのセキュリティをさらに強化する方法
Apacheへの攻撃を未然に防ぐ方法は、次の2つです。
- 脆弱性診断を実施する
- WAFを導入する
Apacheを最新バージョンへのアップデートしたり、設定を見直したりしても、外部からの攻撃を完璧に防ぐことは困難です。予防策を実施して、さらにセキュリティを強化しましょう。
脆弱性診断でWebサーバーに潜むセキュリティ上の欠陥を検知
Apacheに脆弱性がないかどうか確認するには、定期的に脆弱性診断を実施するのがおすすめです。脆弱性診断を実施すると、Webサーバーに潜むセキュリティ上の欠陥を検知できます。定期的に診断をすることでいち早く脆弱性に気づけるため、すみやかな対策の実施が可能です。
脆弱性診断の実施方法には、網羅的な診断を得意とするツール診断と、細かい診断を得意とする診断士による手動診断があります。
脆弱性診断は外部に委託するサービスも多くありますが、診断ツールを導入して自社で診断を内製化する企業も増えています。
脆弱性診断ツールは、手動診断よりも安価でスピーディーに問題を検知できるため、費用対効果が高いことがメリットです。ツールの種類によりますが、Apacheの脆弱性も含む既知の脆弱性を調査し、自動で診断を行う「アプリケーション診断」ツールを選べば、業務の効率化がはかれるでしょう。
一般的に「ネットワーク診断」の範疇ではありますが、アプリケーション診断ツールでも、既知の脆弱性を診断対象としているツールを利用すれば検知できるので、検知対象に何が含まれているか事前に確認するとよいでしょう。また、アプリケーション診断ツールだとWebアプリ・サイトの脆弱性も検知できるのがメリットです。ツールについての詳しい情報は、「脆弱性診断ツール(サービス)|有料・無料の違いと5つの選定ポイント」にて解説しております。是非ご覧ください。
また、手動診断とツール診断のどちらにもメリット・デメリットはあります。「脆弱性診断(セキュリティ診断)とは|必要性からやり方まで、すべて解説」を参考に、どちらが自社に向いているかご検討いただく事をおすすめします。
Apacheはシェア率が高く狙われやすいため、脆弱性があることに気づかず放置するのは危険です。脆弱性診断を実施して、セキュリティ対策を万全にしましょう。
WAFで通信を確認して攻撃を遮断
WAFとは、Webサーバーとアクセス元の通信をチェックし、攻撃を遮断するセキュリティ対策製品です。不正アクセスなどの攻撃からWebサーバーを守ってくれるため、WAFを導入すればより安全な運用が可能となります。
特に近年は攻撃手法が多様化しているため、強固なセキュリティ対策が欠かせません。WAFは脆弱性の対策漏れがある場合に非常に有効であるため、被害を受けるリスクを格段に減らすことができます。
まとめ|最新情報を自動で入手してApacheを脆弱性から守ろう
ApacheはOSSのWebサーバーであり、脆弱性を放置すると情報漏えいやデータ改ざん、サーバーダウンなどの被害を受ける可能性が高まるため、常に最新バージョンに保つことが重要です。
Apacheのメーリングリストに登録しておくと、ユーザー自身で情報を取りに行く手間がはぶける上に、速やかに最新の状態を知り、対応することができるようになるため、脆弱性対策として有効でしょう。
さらに4つのデフォルト設定を見直すと、Apacheをより安全に運用できます。
- 不要なページを非公開にする
- ディレクトリの一覧表示を無効化する
- TRACEメソッドを無効化する
- バージョン情報を非公開にする
設定を見直して攻撃者に付け入る隙を与えないことが、安全な運用への第一歩です。
また、以下のセキュリティ対策を追加することで、脆弱性を突いた攻撃をさらに防ぐことができます。
- 脆弱性診断を実施する
- WAFを導入する
メーリングリストへの登録やApache自体の設定を見直し、セキュリティ対策を追加することで、脆弱性対策を万全にしましょう。