1.4. セキュリティーへの脅威

1.4.1. ネットワークセキュリティーへの脅威

ネットワークの以下の要素を設定する際に不適当なプラクティスが行われると、攻撃のリスクが増大します。

セキュリティーが十分ではないアーキテクチャー

間違った構成のネットワークは、未承認ユーザーの主要のエントリーポイントになります。信頼ベースのオープンなローカルネットワークを安全性の非常に低いインターネットに対して無防備な状態にしておくことは、犯罪の多発地区でドアを半開きにしておくようなものです。すぐに何かが起きることはないかもしれませんが、いずれ誰かがこの機会を悪用するでしょう。

ブロードキャストネットワーク

システム管理者は、セキュリティー計画においてネットワーキングハードウェアの重要性を見落としがちです。ハブやルーターなどの単純なハードウェアは、ブロードキャストやノンスイッチの仕組みに基づいています。つまり、あるノードがネットワークを介して受信ノードにデータを送信するときは常に、受信ノードが受信してデータを処理するまで、ハブやルーターはデータパケットのブロードキャストを送信します。この方式は、外部侵入者やローカルホスト上の認証されていないユーザーが仕掛けるアドレス解決プロトコル (ARP) およびメディアアクセスコントロール (MAC) アドレスの偽装に対して最も脆弱です。

集中化サーバー

ネットワーキングのもうひとつの落とし穴は、集中化されたコンピューティングの使用にあります。多くの企業では、一般的なコスト削減手段として、すべてのサービスを 1 台の強力なマシンに統合しています。集中化は、複数サーバーの設定よりも管理がより簡単な上、コストを大幅に削減できるので便利な手段と言えます。しかし、集中化されたサーバーはネットワークにおける単一障害点となるため、集中化サーバーが攻撃されると、ネットワークは完全に使えなくなるか、またはデータの不正操作や盗難が起きやすくなる可能性があります。こうした状況では、1 つの集中化サーバーが侵入口となり、ネットワーク全体へのアクセスを許してしまうことになります。

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

サーバーには組織の重要情報が数多く含まれることが多いため、サーバーのセキュリティーはネットワークのセキュリティーと同様に重要です。サーバーが攻撃されると、クラッカーがすべてのコンテンツを意のままに盗んだり、不正に操作したりできるようになることがあります。以下のセクションでは、主要な問題のいくつかを詳述します。

未使用のサービスと開かれたポート

Red Hat Enterprise Linux 7 を完全にインストールすると、1000 以上のアプリケーションとライブラリのパッケージが含まれます。しかし、ほとんどのサーバー管理者はディストリビューションに含まれるすべての個別パッケージをインストールすることはありません。その代わりに、複数のサーバーアプリケーションを含むパッケージのベースインストールを行います。インストールするパッケージ数を制限する理由および追加するリソースについての詳細は、「必要なパッケージの最小限のインストール」を参照してください。
システム管理者は、どのアプリケーションがインストールに含まれるかを気にせずにオペレーティングシステムをインストールしてしまうことがよくあります。必要のないパッケージがインストールされ、デフォルト設定でオンにしてしまうと、これが問題になる場合があります。これにより、管理者の気付かないところで、Telnet や DHCP、または DNS などの不要なサービスがサーバーやワークステーションで実行され、その結果、サーバーへの不要なトラフィックが発生したり、クラッカーにシステムへのパスが提供される可能性があります。ポートを閉じる方法や未使用のサービスを無効にする方法についての詳細は、「サービスのセキュア化」を参照してください。

パッチが適用されないサービス

デフォルトのインストールに含まれるほとんどのサーバーアプリケーションは、ソフトウェアの細部まで徹底的にテストされており、堅牢な作りになっています。何年も実稼働環境で使用される中で、それらのコードは入念に改良され、数多くのバグの発見や修正が行われるものです。
しかし、完璧なソフトウェアというものはなく、常に改良の余地があるものです。さらに、比較的に新しいソフトウェアは実稼働環境に最近導入されたか、または他のサーバーソフトウェアほど普及していない場合が多くあり、厳密なテストが期待通りに行われていない状況も多く見受けられます。
開発者やシステム管理者は、サーバーアプリケーションで悪用される可能性のあるバグを発見することが多くあり、関連する情報を Bugtraq メーリングリスト (http://www.securityfocus.com) や Computer Emergency Response Team (CERT) Web サイト (http://www.cert.org) などの、バグ追跡やセキュリティー関連の Web サイトに公開します。これらはセキュリティーの脆弱性についてコミュニティに警告する効果的な方法ではありますが、システムに速やかにパッチを当てるかどうかは個々のシステム管理者次第となります。クラッカーも同じ脆弱性トラッキングサービスにアクセスし、可能な場合にはいつでもパッチが適用されていないシステムをクラッキングするために関連情報を利用できることを考慮すると、速やかな対応がとりわけ重要になります。優れたシステム管理には、よりセキュアなコンピューティング環境を確保するために、警戒を怠らず、バグ追跡を絶えず行い、適切なシステム保守を実行することが求められます。
システムを最新状態に維持する方法についての詳細は、3章システムを最新の状態に保つ を参照してください。

管理における不注意

システムにパッチを当てようとしない管理者は、サーバーセキュリティーへの最大の脅威の 1 つとなります。SysAdmin, Audit, Network, Security Institute (SANS) によると、コンピューターのセキュリティー脆弱性の主な原因は、「訓練を受けていない人にセキュリティーの保守を任せ、保守を行うために必要な訓練や時間を与えないこと」にあります。これは、自信過剰な管理者やモチベーションの高い管理者だけではなく、経験の少ない管理者にも起こり得ます。
サーバーやワークステーションにパッチを当てない管理者のほかに、システムのカーネルやネットワーク通信からのログメッセージを見落とす管理者もいます。またよく起こるエラーとして、サービスのデフォルトパスワードやキーを変更しないまま放置しておくことがあります。例えば、データベースにはデフォルトの管理パスワードが設定されているものがありますが、この設定では、システム管理者がインストール後すぐにデフォルトパスワードを変更することをデータベース開発者が想定しています。しかし、データベース管理者がこのパスワードの変更を忘れると、経験の浅いクラッカーでさえ、周知のデフォルトパスワードを使ってデータベースの管理者権限を得ることができます。これらは、管理者の不注意がサーバーを危険にさらすことになる数例に過ぎません。

本質的に安全ではないサービス

どんなに注意深い組織であっても、選択するネットワークサービスが本質的に安全でない限り、攻撃を受けやすくなります。例えば、多くのサービスは、信頼できるネットワークで使用されるとの仮定に基づいて開発されますが、これらのサービスが (本質的に信頼できない) インターネット上で利用可能になる時点で、この仮定は成立しなくなります。
安全ではないネットワークサービスのカテゴリの 1 つに、暗号化されていないユーザー名とパスワードを認証時に要求するサービスがあります。Telnet や FTP がこの種のサービスです。パケット盗聴ソフトウェアがリモートユーザーとこのようなサービス間のトラフィックをモニタリングしていれば、ユーザー名とパスワードは簡単に傍受される可能性があります。
また、基本的にこのようなサービスはセキュリティー業界で中間者攻撃と呼ばれる攻撃の餌食になりやすくなります。この種の攻撃では、クラッカーは、ネットワーク上のクラッキングされたネームサーバーをだまし、目標のサービスではなくクラッカーのマシンにポイントすることで、ネットワークトラフィックをリダイレクトします。誰かがサーバーへリモートセッションを開くと、攻撃者のマシンがリモートサービスと無防備なユーザー間に静かに存在する目に見えないパイプとして機能し、この間を流れる情報を取り込みます。このようにして、クラッカーはサーバーやユーザーに気付かれることなく、管理パスワードや生データを収集できるようになってしまいます。
安全ではないサービスの別のカテゴリは、NFS または NIS などのネットワークファイルシステムと情報サービスです。これらは、LAN 利用を目的として開発されましたが、残念なことに (リモートユーザー用の) WAN も対象に含まれるように拡張されました。NFS では、クラッカーによる NFS 共有のマウントやそこに格納されているものへのアクセスを防ぐ認証やセキュリティーの仕組みがデフォルトで設定されていません。NIS も、プレーンテキスト ASCII または DBM (ASCII から派生) データベースの中に、パスワードやファイルパーミッションなどの、ネットワーク上のすべてのコンピューターに知らせる必要のある重要な情報を保持しています。クラッカーがこのデータベースのアクセス権を取得すると、管理者のアカウントを含む、ネットワーク上のすべてのユーザーアカウントにアクセスできるようになってしまいます。
Red Hat Enterprise Linux 7 は、上記のサービスをデフォルト時にすべて無効にしてリリースされます。しかし、管理者はこれらのサービスの使用を迫られる場合も多くあるため、注意して設定することが重要になります。安全な方法でサービスをセットアップする詳細情報は、「サービスのセキュア化」を参照してください。

1.4.3. ワークステーションおよび家庭用 PC のセキュリティーに対する脅威

ワークステーションや家庭用 PC はネットワークやサーバーほど攻撃にさらされることはないかもしれませんが、クレジットカード情報のような機密データが含まれるのでシステムクラッカーの標的になります。ワークステーションは知らぬ間に攻撃者によって「スレーブ」マシンとして引き入れられ、一連の攻撃で攻撃者に使用される可能性もあります。このため、ユーザーはワークステーションの脆弱性を理解しておくと、オペレーティングシステムの再インストールや、深刻な場合はデータ盗難からの回復といった問題から免れることができます。

不適切なパスワード

不適切なパスワードを設定すると、システムにアクセスする最も簡単な方法を攻撃者に提供してしまいます。パスワードを作成する際のよくある落とし穴を避ける方法については、「パスワードのセキュリティー」を参照してください。

脆弱なクライアントアプリケーション

管理者がサーバーに十分な安全対策を施し、パッチを当てている場合でも、リモートユーザーによるアクセスが安全であるわけではありません。例えば、サーバーが公開ネットワーク上で Telnet や FTP サービスを提供している場合、攻撃者はネットワークを通過するプレーンテキストのユーザー名とパスワードを取り込み、アカウント情報を使用してリモートユーザーのワークステーションにアクセスすることが可能です。
SSH などのセキュアなプロトコルを使用している場合であっても、クライアントアプリケーションを定期的に更新していないと、リモートユーザーは特定の攻撃を受けやすくなる可能性があります。例えば、v.1 SSH クライアントは、悪意のある SSH サーバーからの X 転送攻撃に対して脆弱です。クライアントがサーバーに接続すると、攻撃者はネットワーク上でクライアントによるキー入力やマウス操作をひそかに収集できます。この問題は v.2 SSH プロトコルで修正されましたが、ユーザーはどのアプリケーションにこのような脆弱性があるかを追跡し、必要に応じてアプリケーションを更新する必要があります。
「デスクトップのセキュリティー」では、管理者とホームユーザーがコンピューターのワークステーションの脆弱性を限定するために取るべき手順をより詳細に説明しています。