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つだと言えます。侵入者が NIS ドメインにアクセスを得てネットワーク通信をかぎ回ると、ユーザー名とパスワードハッシュを密かに収集することができます。十分な時間があるとパスワードクラッキングプログラムは、貧弱なパスワードを想像できて攻撃者はネットワークの大切なアカウントにアクセス出来てしまいます。

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