2.3. サーバーセキュリティへの脅威

サーバーセキュリティはネットワークセキュリティと同様に重要となります。サーバーは頻繁に企業や組織の極めて重要な情報を取扱うからです。サーバーが感染した場合、サーバー内のすべての内容をクラッカーが自由に盗んだり操作したりできるようになってしまう可能性があります。次のセクションでは主要な問題のいくつかを説明していきます。

2.3.1. 未使用のサービスとオープンポート

Red Hat Enterprise Linux のフルインストールには 1000余りのアプリケーションとライブラリパッケージが入っています。しかし、ほとんどのサーバー管理者は製品に含まれるパッケージすべてをインストールに選択することはありません。代わりに、数種類のサーバーアプリケーションが含まれるパッケージのベースインストールを行ないます。

システム管理者の間で一般的に行なわれることは、実際にどのプログラムがインストールされるかにはあまり注意せずにオペレーティングシステムをインストールしてしまうことです。これにより、必要のないサービスをインストールしてしまった、デフォルトの設定で構成してしまった、デフォルトのままオンにしたかもしれない、などの可能性があるので問題となることがあります。管理者が気づかずに、Telnet、DHCP、DNS など不必要なサービスをサーバーまたはワークステーションで実行してしまう要因になるかもしれません。それが、サーバーへの不必要な通信の要因となり、クラッカーのためのシステムへの経路になる恐れさえあります。ポートの閉じ方と未使用サービスのオフについては、章5章を参照してください。

2.3.2. パッチされていないサービス

デフォルトのインストールに含まれているほとんどのサーバーアプリケーションはソフトウェアの細部までテストされているので強固な作りになっています。長年に渡り実稼働環境で使用されていくに従い、コードが入念に改良されて、多くのバグが発見され修正されてきました。

しかし、完璧なソフトウェアというのはあり得ません。常に、改良点と言うのはあるものです。さらに、新しいソフトウェアには期待するほど厳格にテストされないことがよくあります。なぜなら、実稼働環境に対して最近現われたばかりのソフトウェアであったり、その他サーバーソフトウェアほど一般的ではないかもしれないからです。

開発者とシステム管理者はサーバーアプリケーションによく不正アクセスのバグを発見し、Bugtraq メーリングリスト( http://www.securityfocus.com)やコンピュータ緊急対応チーム(CERT)のウェブサイト (http://www.cert.org)などのバグ追跡とセキュリティ関連のウェブサイトに情報を公表します。これらの仕組みはセキュリティの脆弱性に対してコミュニティに警告する効果的な方法ですが、早急にシステムにパッチをあてるかどうかはシステム管理者次第です。なぜなら、クラッカーも同様にこれら脆弱性追跡サービスにアクセスしており、その情報を使用してパッチしていないシステムがあればいつでもクラッキングを行なうためです。有能なシステム管理者は警戒心を怠らず、絶えずバグ追跡を行ない、より安全なコンピュータ環境を確保するために適切なシステムメンテナンスを行ないます。

システムを最新の状態に維持するための詳細は、章3章 を参照してください。

2.3.3. 怠慢な管理者

システムにパッチをあてることを怠る管理者は、サーバーセキュリティへの最も脅威となるもののひとつです。System Administration Network and Security Institute (SANS)によれば、コンピュータのセキュリティ脆弱性の主要因は "訓練を受けていない人にセキュリティの保守を任せて、その仕事ができるようにするための時間もトレーニングも与えていないこと"です。[1] これは不慣れな管理者によく見受けられるのと同様、自信過剰な管理者や積極性のない管理者にも見られます。

サーバーやワークステーションにパッチをあてることを怠る管理者もいれば、システムのカーネルやネットワーク通信からのログメッセージの監視を怠る管理者もいます。また、もうひとつ一般的な誤りは、サービスのデフォルトパスワードまたはデフォルト鍵を変更しないまま放置することです。例えば、デフォルトの管理パスワードを持っているデーターベースがありますが、これは、インストール後すぐにシステム管理者がパスワードを変更するだろうとそのデータベースの開発者が仮定しているためです。データベース管理者がこのパスワード変更を怠ると、経験のないクラッカーであっても周知のデフォルトパスワードを使ってデータベースへの管理用特権を獲得することができてしまいます。これらは管理者の不注意が糸口となってサーバーの感染につながるほんの2、3の例にすぎません。

2.3.4. 本質的に不安定なサービス

選択したネットワークサービスが本質的に不安定であれば、どんなに用心深い企業や組織であっても攻撃を受けやすい犠牲者となるかもしません。例えば、信頼できるネットワークで使用されることを仮定して開発された多くのサービスがあります。しかし、そのサービスがインターネット上で 利用可能になると、この仮定条件は該当しなくなってしまいます — つまり、インターネット自身が本質的に信頼できないからです。

あるタイプの不安定なネットワークサービスは認証に暗号化されていないユーザー名とパスワードを要求します。Telnet と FTP がこの種のサービスになります。パケットスニフィングソフトウェアがリモートユーザーとこのようなサービス間の通信を監視している場合、ユーザー名やパスワードは簡単に傍受されてしまいます。

また、このようなサービスは本質的にセキュリティ業界用語で言うところのman-in-the-middle 攻撃の餌食になりやすいのです。このタイプの攻撃では、ネットワーク上でクラッキングされたネームサーバーをだましてネットワーク通信をリダイレクトし、意図されたサーバーの代わりにクラッカーのマシンにポイントします。誰かがそのサーバーにリモートセッションを開くと、攻撃者のマシンが目に見えないパイプの役割を果たし、リモートサービスと何も知らないユーザー間に静かに存在しながら、情報を捕えます。このようにして、クラッカーはサーバーにもユーザーにもそれと気づかれずに管理用パスワードと生データを収集することができます。

もうひとつの不安定なサービスには、NFS、NISなどのネットワークファイルシステムとネットワーク情報サービスがあります。これは LAN 使用専用に開発されていますが、残念ながら WAN (リモートユーザー用)も含めるよう拡張されています。デフォルトでは NFS は、クラッカーが共有NFS をマウントしてそこに格納されているものすべてにアクセスしてしまうことを防止するため構成される認証やセキュリティの仕組みがありません。同様に、NIS は、ネットワーク上のすべてのコンピュータが知らなければならない、プレーンテキストの ACSII または DBM (ASCIIから派生) データベース内のパスワードやファイルのアクセス権など、重要な情報を格納しています。クラッカーがこのデータベースにアクセス権を得ると、管理者用アカウントを含むネットワーク上のすべてのユーザーアカウントにアクセスすることができるようになります。

デフォルトでは、Red Hat Enterprise Linux はこのようなサービスをすべてオフにしてリリースしています。しかし、管理者はこれらのサービスを使う必要にせまられることがよくありますので、設定には十分注意を払うことが極めて重要となります。サービスを安全に設定する方法については、章5章を参照してください。

注記

[1]

出典: http://www.sans.org/newlook/resources/errors.html