第11章 アプリケーションサーバー Unixアプリケーション・サーバ
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
アプリケーション・サーバは攻撃者にとって格好の標的だ。アプリケーション・サーバーは、認証情報、知的財産、財務データなど、あらゆるデータの中心的なリポジトリであることが多い。アプリケーション・サーバーは一般的にデータが豊富なため、攻撃を収益化する方法を探している金銭的動機のある攻撃者と、データを盗んだり、破壊したり、破損させたりすることを狙っている政治的動機のある攻撃者の両方にとって、、魅力的な存在である。
もちろん、多くの階層を持つようにアーキテクトされたシステムにおいては、アプリケーションサーバはデータ層を持たないかもしれない。つまり、アプリケーション・サーバは、他のシステムへの理想的なピボット・ポイントとして機能し、アプリケーション・サーバにもターゲットが置かれることになる。
このような理由から、これらのサーバは、要求された機能を要求された仕様で実行し、攻撃に耐えられるように構築されていることを確認する必要がある。
アプリケーションを取り囲むインフラは、常にサーバを攻撃から守るように構成することが推奨される。しかし、サーバ単体で可能な限りの防御を確保することも強く推奨される。こうすることで、他の防御対策が失敗したり、迂回されたりした場合、例えば、攻撃者がインフラ内を横方向に移動した場合でも、サーバは常識的に可能な限り防御される。
Windowsベースのプラットフォームに関する要点は第10章で説明したので、この章ではLinux、FreeBSD、SolarisなどのUnixプラットフォームに焦点を当てる。
本章で扱うトピックである Unix のパッチ管理とオペレーティングシステムの堅牢化原則は、意図的に一般的な 方法で議論されている。Unix アプリケーションサーバのセキュリティに関する詳細な議論は、本書のほとんどの章のトピックと同様、それだけで1冊の本が埋まってしまうかもしれない。使用されている Unix のフレーバーにとらわれないようにするため、意図的にほとんどの Unix のフレーバーに共通するトピックを取り上げている。もし、さらに予防策を講じたり、特定のいくつかのバージョンにのみ共通する機能を実装したいのであれば、あなたのオペレーティングシステム用に特別に書かれたガイドを参照する価値があるだろう。
最新情報を保つ
Unixサーバを管理する上で、最も効果的でありながら見落とされがちなのがパッチ管理である。Unix環境の脆弱性の多くは、システムにインストールされたソフトウェアのバグか、システム自体のバグによって発生する。したがって、環境内の多くの脆弱性は、単にシステムにパッチを当て、最新の状態に保つことで修復することができる。
サードパーティのソフトウェア・アップデート
Microsoft環境とは異なり、Unixベースの環境では、一般的にパッケージ管理システムを使用して、サードパーティ製アプリケーションの大部分をインストールしている。パッケージ管理とアップデートのツールは、実行しているUnixのフレーバーだけでなく、使用しているディストリビューションによっても異なる。例えば、Debian LinuxとSUSE Linuxは2つの異なるパッケージ管理システムを使っており、FreeBSDは別のシステムを使っている。
違いはあるが、パッケージ管理システムには共通のテーマがある。通常、各ホストは、ローカルツールを使ってシステムにインストールできるパッケージのリポジトリを保持する。システム管理者はパッケージ管理システムにコマンドを発行し、パッケージのインストール、アップデート、削除を指示する。するとシステムは、その設定に応じて、希望するパッケージとその依存関係(希望するアプリケーションを実行するために必要なライブラリやその他のアプリケーション)のバイナリをダウンロードしてコンパイルするか、ダウンロードするかのどちらかを行い、それらをシステムにインストールする。 ...