サーバーセキュリティはネットワークセキュリティと同様に重要となります。 サーバーは頻繁に企業や組織の極めて重要な情報を取扱うからです。 サーバーが感染した場合、サーバー内のすべての内容をクラッカーが自由に盗んだり 操作したりできるようになってしまう可能性があります。次のセクションでは 主要な問題のいくつかを説明していきます。
Red Hat Enterprise Linux をフルインストールすると、1200のアプリケーションとライブラリパッケージが 利用できることになります。しかし、ほとんどのサーバー管理者は製品に含まれる すべてのパッケージをインストールするようなことはしません。代わりに、 数種類のサーバーアプリケーションが含まれるパッケージのベースインストールを 行なう方を選びます。
システム管理者の間で一般的に行なわれることは、実際にどのプログラムが インストールされるかにはあまり注意せずにオペレーティングシステムをインストール してしまうことです。 これにより、必要のないサービスをインストールしてしまった、 デフォルトの設定で構成してしまった、デフォルトのままオンにしたかもしれない、 などの可能性があるので問題となることがあります。 管理者が気づかずに、Telnet、DHCP、DNSなど不必要なサービスがサーバーまたは ワークステーションで実行してしまう要因になるかもしれません。次には、サーバーへの 不必要な通信の要因となり、それがクラッカーのためのシステムへの経路になる恐れさえあります。 ポートの閉じ方と未使用サービスのオフについては、第5章を参照してください。
デフォルトのインストールに含まれているほとんどのサーバーアプリケーションは ソフトウェアの細部までテストされているので強固な作りになっています。 長年に渡り実稼働環境で使用されていくに従い、コードが入念に改良されて、多くのバグが発見され修正されてきました。
しかし、完璧なソフトウェアというのはあり得ません。 常に、改良点と言うのはあるものです。さらに、新しいソフトウェアほど期待するほどには厳格にテストされないことがよくあります。 なぜなら、実稼働環境に対して最近現われたばかりのソフトウェアであったり、 その他サーバーソフトウェアほど一般的ではないかもしれないからです。
開発者とシステム管理者はサーバーアプリケーションによく不正アクセスのバグを発見し、 Bugtraq メーリングリスト( http://www.securityfocus.com)やコンピュータ緊急対応チーム(CERT)のウェブサイト (http://www.cert.org)などの バグ追跡とセキュリティ関連のウェブサイトに情報を公表します。 これらの仕組みはセキュリティの脆弱性に対してコミュニティに警告する効果的な方法ですが、 早急にシステムにパッチをあてるかどうかはシステム管理者次第です。 なぜなら、クラッカーも同様にこれら脆弱性追跡サービスにアクセスしており、 その情報を使用してパッチしていないシステムがあればいつでもクラッキングを行なうためです。 有能なシステム管理者は警戒心を怠らず、絶えずバグ追跡を行ない、 より安全なコンピュータ環境を確保するために適切なシステムメンテナンスを行ないます。
システムを最新の状態に維持するための詳細は、第3章 を参照してください。
システムにパッチをあてることを怠る管理者は、サーバーセキュリティへの最も 脅威となるもののひとつです。 System Administration Network and Security Institute (SANS)によれば、コンピュータのセキュリティ脆弱性の主要因は "訓練を受けていない人にセキュリティの保守を任せて、その仕事ができるようにするための 時間もトレーニングも与えていないこと"です。[1] これは不慣れな管理者によく見受けられるのと同様、 自信過剰な管理者や積極性のない管理者にも見られます。
サーバーやワークステーションにパッチをあてることを怠る管理者もいれば、 システムのカーネルやネットワーク通信からのログメッセージの監視を怠る管理者もいます。 もうひとつ一般的な誤りは、サービスのデフォルトパスワードまたはデフォルト鍵を 変更しないまま放置することです。 例えば、デフォルトの管理者用パスワードを持っているデーターベースがありますが、 これは、インストール後すぐにシステム管理者がパスワードを変更するだろうと開発者が 仮定しているためです。データベース管理者がこのパスワード変更を怠ると、 経験の浅いクラッカーであっても広く知られているデフォルトパスワードを使って データベースへの管理用特権を獲得することができてしまいます。これらは怠慢な管理者が 糸口となってサーバーの感染につながるほんの2、3の例にすぎません。
選択したネットワークサービスが本質的に不安定であれば、 どんなに用心深い企業や組織であっても攻撃を受けやすい犠牲者となるかもしません。 例えば、信頼できるネットワークで使用されることを仮定して開発された多くの サービスがあります。しかし、そのサービスがインターネット上で 利用可能になると、この仮定条件は該当しなくなってしまいます — つまり、インターネット自身が本質的に信頼できないからです。
あるタイプの不安定なネットワークサービスは認証に暗号化されていないユーザー名と パスワードを要求します。Telnet と FTP がこの種のサービスになります。 パケットスニフィングソフトウェアがリモートユーザーとこのようなサービス間の通信を 監視している場合、ユーザー名やパスワードは簡単に傍受されてしまいます。
また、このようなサービスは本質的にセキュリティ業界用語で言うところのman-in-the-middle 攻撃の餌食になりやすいのです。このタイプの攻撃では、 ネットワーク上でクラッキングされたネームサーバーをだましてネットワーク通信を リダイレクトし、意図されたサーバーの代わりにクラッカーのマシンにポイントします。誰かがそのサーバーにリモートセッションを開くと、攻撃者のマシンが目に見えないパイプの 役割を果たし、リモートサービスと何も知らないユーザー間に静かに存在しながら、 情報を捕えます。このようにして、クラッカーはサーバーにもユーザーにもそれと気づかれずに管理用パスワードと 生データを収集することができます。
もうひとつの不安定なサービスには、NFS、NISなどのネットワークファイルシステムと ネットワーク情報サービスがあります。 これは LAN 使用専用に開発されていますが、残念ながら WAN (リモートユーザー用) も含めるよう拡張されています。デフォルトでは NFS は、クラッカーが共有NFSをマウントしてそこに格納されているものすべてにアクセスしてしまうことを防止するため構成される認証や セキュリティの仕組みがありません。同様に、NIS は、ネットワーク上のすべてのコンピュータが知らなければならない、プレーンテキストの ACSII または DBM (ASCIIから派生) データベース内のパスワードやファイルのアクセス権など、重要な情報を格納しています。 クラッカーがこのデータベースにアクセス権を得ると、管理者用アカウントを含む ネットワーク上のすべてのユーザーアカウントにアクセスすることができるようになります。
デフォルトでは、Red Hat はこのようなサービスをオフにしています。 しかし、管理者はこれらのサービスを使う必要にせまられることがよくありますので、 設定には十分注意を払うことが重要となります。 安全なサービスを設定する方法については、 第5章を参照してください。
[1] |