通常、HP-UXおよびほとんどのLinuxディストリビューションでは、OpenSSHが最初からインストールされていますが、Windowsベースのオペレーティング
システムでは、インストールされていません。HP Systems Insight Managerでは、Windowsシステム上でDTFと連携して使用されるOpenSSHのバージョンが提供されます。このOpenSSHは、中央管理サーバがインストールされる際に、他のCMSソフトウェアとともにインストールされます。管理対象システムでは、OpenSSHは、Management
CDからインストールできます。
HP Systems Insight Managerに付属のOpenSSHバージョンは、HPのインストール プロセスとシームレスに連携するように、再パッケージングされました。また、普及している他のディストリビューションよりも安全なものにするための、修正も行われました。OpenSSHは、OpenBSDの一部であるため、当初、UNIXベースのオペレーティング
システム用に組み込まれました。OpenSSHをWindowsに簡単に移植するために、Cygwinと呼ばれるエミュレーション レイヤが使用されます。
Cygwinは、UNIXエミュレーション レイヤを提供し、UNIXソフトウェアをWindowsに簡単に移植できるようにします。また、Cygwinには、よく知られたいくつかのセキュリティ上の問題があります。つまり、Cygwinは、UNIXプロセスをエミュレートするために、あらゆるユーザが読み出すことのできるデータ構造を作成します。OpenSSHのセキュリティを向上させるために、HP
Systems Insight Managerに付属のバージョンには、修正されたCygwin互換レイヤが含まれており、これにより、これらのデータ構造へのアクセスをAdministratorグループのメンバに限定することができます。このため、HP
Systems Insight Managerパッケージを使用すると、SSHを介してWindowsシステムにログインできるユーザは、Administratorグループのメンバだけになります。
Cygwinマウント
OpenSSHが特定のファイルを検索する位置を見つけるには、最初に、これらのファイルの保存位置を確認する必要があります。ここで問題となるファイルは、/etc/passwd、/etc/group、および/home
/hpsimuserです。
Cygwinは、UNIX環境をエミュレートします。Cygwinは、/etc/passwd、/etc/groupなどのファイルや、ユーザのホーム ディレクトリ(例:/home/hpsimuser)を見つけるために、マウント
ポイントをセットアップします。
レジストリで、次に移動します。
| HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 |
このレジストリ キーの下に、次の3つのマウント ポイントが定義されているのを確認できます。
これら各ディレクトリの下のネイティブ キーが、対応するWindowsディレクトリに設定されます。つまり、/homeがどの位置にマッピングされているかを確認するには、次を調べます。
| HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home/native |
このマウント ポイントは、デフォルトで、C:\Documents and Settingsに設定されます。
同様に、ルート ディレクトリ(/)は、デフォルトでC:\Program Files\OpenSSHに設定されます。このため、/etc/passwdは、C:\Program Files\OpenSSH\etc\passwdにあります。
パスワードとグループ
パスワード ファイルには、SSHの使用を許可されている各ユーザのエントリが記述されていなければなりません。パスワード ファイルのリストに記述されていないユーザがログインを試みると、不正ユーザ
エラーが生成され接続が中止されます。
HP Systems Insight ManagerのOpenSSHパッケージをインストールすると、インストールを実行しているユーザ、およびAdministratorのパスワード
エントリがセットアップされます。Administratorがセットアップされるのは、あらかじめ含まれているすべてのWindowsコマンド ライン ツールがAdministratorの権限で実行されるためです。インストール時には、/etc/groupファイルも作成されますが、以降にユーザを追加する場合に、このファイルを更新する必要はありません。
他のユーザを認証するには、そのユーザのパスワード ファイル エントリを作成する必要があります(実際には、エントリは、SIDを含みます。パスワードは、Windowsに対して内部的なもののままです)。エントリは、mkpasswdコマンドを使用して作成します。たとえば、hpsimuserが許可されたSSHユーザかどうかを確認する場合、まず、/etc/passwd(C:\Program
Files\OpenSSH\etc\passwd)で、hpsimuserエントリを調べます。新しいユーザのエントリがないことが確認されたら、以下の手順に従ってユーザを追加します。
- DOSウィンドウを開いて、C:\Program Files\OpenSSH\etcに移動します。
- mkpasswd −l −u hpsimuser >> passwdコマンドを実行します。
- mkpasswd −d −u hpsimuser domain >> passwdコマンドを実行します。
これらのコマンドのいずれかがエラーを返す場合があります。エラーは画面に出力され、ファイルにリダイレクトされるわけではないので、問題はありません。mkpasswdコマンドが見つからない場合は、OpenSSHをインストールしたディレクトリの下のbinディレクトリにあります(通常、C:\Program Files
\OpenSSH\bin\mkpasswd)。
パスワード エントリを作成したら、そのユーザはログインできるようになるはずです。ユーザのトラブルシューティングを行う際には、別に、ホーム ディレクトリの大文字/小文字の区別をチェックする必要もあります。OpenSSHは、ディレクトリ名の大文字と小文字を区別するため、/home/HPsimUserと/home/hpsimuserは、同じではありません。パスワード ファイル内のエントリの大文字/小文字の組み合わせが、参照先のディレクトリのものと同じかどうかを調べてください。
次に、パスワード エントリの例を示します(注:このエントリは、単一行で記述されます。改行は行われません)。後ろから2番目のフィールドは、ホーム ディレクトリを指定しています。
| Administrator:unused_by_nt/2000/xp:500:513:U-PCDLONG2\Administrator,S-1-5-21-3769691966-4004114397-3833753107-500:/home/Administrator:/bin/switch |
インストールされている他のCygwinとの共存の問題
1台のシステムに、同時に複数のCygwinベースのプログラムをインストールすることはできません。
Cygwinが機能するには、特定のレジストリ設定が存在する必要があります。つまり、ここまでで説明したマウント ポイントの設定が必要です。インストーラは、Cygwinのレジストリ
キーをチェックして、存在する場合はインストールを拒否します。また、Cygwinの完全なディストリビューションや、Cygwinを使用する別のソフトウェア(例:WinCVSのPythonディストリビューション)がインストールされている場合も、インストールは失敗します。これは、残念なことですが、複数のCygwinをインストールして共存させることはできないため発生します。
Cygwinを使用する製品はHP Systems Insight ManagerのOpenSSH以外にも広範囲に存在し、HP Systems Insight ManagerのOpenSSHディストリビューションは、それらの製品と互換性がありません。これには、自由に入手できる他のOpenSSHディストリビューションも含まれます。OpenSSHの別のバージョンをすでに使用しており、HP
Systems Insight Managerのバージョンをインストールしない場合は、問題ありません。ただし、HP Systems Insight Managerのバージョンが、Cygwinのデータ構造へのアクセスを制限する唯一のバージョンであることは忘れないでください。
Windows用のOpenSSHの汎用ディストリビューションをすでにインストールし、CMSで機能するようにキーをセットアップしている場合、HP Systems Insight
Managerが使用されるようになる前に存在したセキュリティ ホールがそのまま存在します。このセキュリティ ホールは、他の管理対象システムやCMSには影響を及ぼしませんが、管理対象ノードの管理者以外のユーザが、そのノードで実行されるDTFタスクを妨害する可能性はあります。ただし、他の管理対象システムでは、このサイトでHP
Systems Insight Managerが使用される以前にも、セキュリティ ホールの問題は存在しました。
HP Systems Insight ManagerのOpenSSHパッケージをインストールする際に問題が発生する場合は、システムのCygwinのレジストリ キーと、cygwin1.dllファイルを調べてください。このファイルの位置は、インストールされOpenSSHと競合しているソフトウェアを確認するためのヒントになる場合があります。
Documents and Settingsディレクトリ
SSHがそのファイルを配置する位置を確保するには、ユーザのプロファイル ディレクトリ(通常、C:\Documents and Settings\user)が存在する必要があります。SSHは、ユーザのプロファイル
ディレクトリにディレクトリを作成して、そのディレクトリに、既知のホストのファイル(例:C:\Documents and Settings\user\.ssh\known_hosts)や認証済みのキー
ファイルを配置します。
このディレクトリは、存在しない場合は、ユーザが最初にログインする際に作成されます。そのため、あるドメイン ユーザがDTFタスクを実行する予定の管理対象システムに最初にログインする際は、必ず、そのドメイン
ユーザの権限でログインしてください。そうでない場合は、そのユーザの権限で、当該の管理対象システムに対してmxagentconfigを実行しても、認証済みのキー ファイルを作成できないため、mxagentconfigは失敗します。 |