5.3. NIS の保護

NIS はネットワークインフォメーションサービスの略です。NIS はypservと呼ばれるRPCサービスで、ユーザー名やパスワードなどの 機密情報のマップをドメイン内のコンピューターに配信するため、portmapなど の関連サービスと併せて使用されます。

NIS サーバーは下記を含むいくつかのアプリケーションによって構成されます。:

今日の標準を考慮すると、NISの安全性は不十分と言えます。ホスト認証のメカニズムもありませんし、 パスワードハッシュなどの情報が暗号化されないままネットワークに送られます。 そのため、NISを使用するネットワークの設定には細心の注意を払わなければなりません。 更に悪いことに、NIS のデフォルト設定自体が安全性に欠けています。

NIS サーバーの導入を予定している場合、項5.2の説明通り、初めにportmap サービスの 安全性を確認して下さい。 その後、次にあげる問題に対応して下さい。

5.3.1. ネットワーク計画は慎重に

NIS は機密情報を暗号化しないままネットワーク上に配信するため、 安全で、セグメント化されたネットワーク上のファイヤウォールの裏でサービスを 実行する必要があります。NIS の情報が安全でないネットワーク上で配信されるたび、 妨害を受けるリスクにさらされます。このような問題を考慮した慎重なネットワーク設計をすることは重大なセキュリティー違反の回避につながります。

5.3.2. パスワードのようなNISドメイン名やホスト名を使用する。

NISサーバーのDNSホスト名とNISドメイン名を知っているユーザーは、NISドメイン内 のコンピューターなら認証なしでコマンドを使ってサーバーから情報を引き出すことができます。

例えば、誰かがノート型PCをネットワークに接続するか、外部からネットワークに侵入し うまく内部IPアドレスをごまかした場合、下記コマンドにて /etc/passwdマップ を確認することができます。

ypcat -d <NIS_domain> -h <DNS_hostname> passwd

この攻撃者がルートユーザである場合、次のコマンドを入力すると/etc/shadowファイルを入手することができます。

ypcat -d <NIS_domain> -h <DNS_hostname> shadow

注意注記
 

Kerberos が使用された場合、/etc/shadowファイルにはNISマップには保存されません。

攻撃者によるNISマップへのアクセスを困難にするため、 o7hfawtgmhwg.domain.comのように無作為なDNSホスト名を設定して下さい。 同様に、 異なる 無作為なNISドメイン名を設定して下さい。 これにより、攻撃者によるNISサーバーへのアクセスは一層困難になります。

5.3.3. /var/yp/securenets ファイルの編集

/var/yp/securenetsが空か存在しない場合 (デフォルトインストールの場合は該当します)、NIS はすべてのネットワークをリッスンします。 最初に、ypservが正当なネットワークからの要求のみに応答するよう、 ネットマスクとネットワークの組をファイルに格納します。

/var/yp/securenets ファイルからエントリー例は下記の通りです:

255.255.255.0     192.168.0.0

警告警告
 

必ず/var/yp/securenets を作成してからNISサーバーを初めて起動して下さい。

このテクニックではIPになりすました攻撃から保護することはできませんが、 少なくともNISサーバーがサービス提供するネットワークを制限することができます。

5.3.4. 静的ポートの割り当てとIPTables ルールの使用

rpc.yppasswdd — ユーザーにログインパスワードの変更を許可するデーモン— 以外のNIS関連サーバーに特定ポートの割り当てが可能です。 他のNISサーバーデーモンである rpc.ypxfrdypservは、ファイアウォールルールを作成し、 更にNIS サーバーデーモンを侵入者から守ります。

実行するには、次のラインを/etc/sysconfig/networkに追加して下さい。:

YPSERV_ARGS="-p 834"
YPXFRD_ARGS="-p 835"

次のIPTablesルールを実行することにより、 ポートに対してサーバーがリッスンする ネットワークを特定することができます。

iptables -A INPUT -p ALL -s! 192.168.0.0/24  --dport 834 -j DROP
iptables -A INPUT -p ALL -s! 192.168.0.0/24  --dport 835 -j DROP

ティップヒント
 

IPTablesコマンドでファイヤボールを導入する場合の詳細は第7章 をご参照下さい。

5.3.5. Kerberos 認証の使用

ユーザーがコンピューターへログインする時に /etc/shadow マップからのパスワードハッシュがネットワーク上に配信 される問題が、NISが認証に使用された場合に起こる主な欠点の1つだと言えます。

Kerberosは機密鍵暗号法を使用するので、 パスワードハッシュはネットワーク上に配信されないため、システムセキュリティーが 向上されます。Kerberosについての詳細はRed Hat Enterprise Linux リファレンスガイドの章、Kerberosをご参照下さい。