macOS での認証チェック
このドキュメントの手順に従って、ローカルセキュリティチェックを実行できるよう macOS システムを設定します。SSH 秘密/公開鍵のペア、またはユーザー認証情報と sudo か su アクセスを使用して、ローカルセキュリティチェックを有効にできます。
このドキュメントでは、サンプルの SSH デーモンとして OpenSSH が使用されています。SSH の商用版を使用している場合、手順が若干異なる場合があります。
前提条件
特定のタイプの暗号を受け入れるように SSH サーバーを設定することができます。ただし、一部の商用 SSH バリアントは、blowfish-cbc をサポートしていません。お持ちの SSH サーバーが、使用するアルゴリズムをサポートしていることを確認してください。
Tenable Nessus は、blowfish-cbc、aesXXX-cbc (aes128、aes192、aes256)、3des-cbc、aes-ctr のアルゴリズムをサポートしています。
ユーザー権限の最大の効果を生み出すには、SSH ユーザーはあらゆるコマンドをシステムで実行できる必要があります。macOS システムでは、SSH ユーザーは Administrator グループのメンバーであり、フルディスクアクセス権を持っている必要があります。特権アクセスでなくても実行できるパッチレベルなどのチェックもありますが、システム設定とファイルアクセス許可を監査する完全なコンプライアンスチェックにはフルディスクアクセス権が必要です。このため、Tenable は、できれば認証情報ではなく SSH 鍵を使用することをお勧めします。
Kerberos を使用している場合、 Kerberos をサポートして KDC でチケットを検証できるように sshd を設定する必要があります。これを機能させるには、逆引き DNS ルックアップを適切に設定する必要があります。Kerberos のインタラクション方法は、gssapi-with-mic
である必要があります。
SSH の公開鍵と秘密鍵の生成
Tenable Nessus スキャナーの秘密鍵/公開鍵ペアを生成します。この鍵ペアは Tenable Nessus スキャナーから生成できます。このドキュメントでは、スキャナーが Linux で実行されていることを前提としていますが、任意のユーザーアカウントを使用して、どの macOS システムでも同じ手順を実行することができます。
注意: 定義済みの Tenable Nessus のユーザーは、この生成された鍵を所有している必要があります。
鍵ペアを生成するには、ssh-keygen を使用し、鍵を安全な場所に保存します。次の例をご覧ください。
# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter the file in which to save the key (/Users/test/.ssh/id_dsa):
/home/test/Nessus/ssh_key
Enter the passphrase (empty for no passphrase):
Enter the same passphrase again:
Your identification has been saved in
/home/test/Nessus/ssh_key.
Your public key has been saved in
/home/test/Nessus/ssh_key.pub.
The key fingerprint is:
06:4a:fd:76:ee:0f:d4:e6:4b:74:84:9a:99:e6:12:ea
#
Tenable Nessus を実行しているシステムサーバー以外のシステムに秘密鍵を移動しないでください。ssh-keygen からパスフレーズの入力を求められたときには、強力なパスフレーズを入力するか、Return キーを 2 回押します (つまり、パスフレーズを設定しません)。パスフレーズを指定する場合は、[Policies] (ポリシー) > [Credentials] (認証情報) > [SSH settings] (SSH 設定) で指定し、お使いの Tenable Nessus スキャン設定で鍵ベースの認証を使用できるようにする必要があります。
ユーザーアカウントの作成
ローカルセキュリティチェックを使用してスキャンするすべてのターゲットシステムで、Tenable Nessus 専用の新しいユーザーアカウントを作成します。このユーザーアカウントの名前は、すべてのシステムで同じ名前にする必要があります。Tenable Nessus がリモート認証スキャンを実行できるよう、このアカウントに Administrator 権限と Remote Login 権限を付与する必要があります。
macOS のリモートログインの設定
ホストの macOS システムで、[Remote Login] (リモートログイン) システム設定の [Allow full disk access for the remote users] (リモートユーザーのフルディスクアクセス権を許可する) を有効にします。これにより、以降の手順で必要になる sshd-keygen-wrapper へのフルディスクアクセス権が有効になります。
次に、[Privacy and Security] (プライバシーとセキュリティ) で、関連するシステムサービスにフルディスクアクセス権を付与し、プラグインがファイルシステム全体を検索できるようにします。次のサービスが含まれていることを確認してください。
-
/Library/NessusAgent/run/sbin/nessus-service
-
/usr/libexec/sshd-keygen-wrapper
SSH 鍵の設定
次の例に示すように、公開鍵を、鍵が保存されているシステムから、ホストチェックのためにスキャンするシステムに安全にコピーします。このドキュメントでは、このユーザーを nessus としますが、任意の名前を使用できます。
# scp ssh_key.pub [email protected]:/home/nessus/.ssh/authorized_keys
#
安全な ftp コマンド sftp
を使用して、Tenable Nessus をインストールしたシステムからこのファイルをコピーすることもできます。その場合は、ターゲットシステムでこのファイル名を authorized_keys にする必要があります。
公開鍵システムに戻る
/home/nessus/.ssh ディレクトリと authorized_keys ファイルの両方に対するアクセス許可を設定します。
# chown -R nessus:nessus ~nessus/.ssh/
# chmod 0600 ~nessus/.ssh/authorized_keys
# chmod 0700 ~nessus/.ssh/
#
SSH チェックのテストをするすべてのシステムでこのプロセスを繰り返します (ユーザーアカウントの作成 ステップから開始します)。
SSH 鍵のテスト
次に、アカウントとネットワークが正しく設定されていることを確認するためにテストします。Tenable Nessus スキャナーからシンプルなコマンド id を使用して、次のコマンドを実行します。
# ssh -i /home/test/nessus/ssh_key [email protected] id
uid=252(nessus) gid=250(tns) groups=250(tns)
#
Tenable Nessus スキャナーから Tenable Nessus ユーザーに関する情報が正常に返された場合、設定が成功したことになります。
次の手順
-
macOS ログインできるように Tenable Nessus を設定します。