この方法では、ローカルシステムにアクセスしようとするスーパーユーザーをただちに検出できます。
/etc/default/login ファイルの CONSOLE エントリを確認します。
CONSOLE=/dev/console |
デフォルトのコンソールデバイスは /dev/console に設定されています。このように設定されていると、root はコンソールにログインできます。root は遠隔ログインを行うことはできません。
root が遠隔ログインできないことを検証します。
遠隔システムから、スーパーユーザーとしてログインを試みます。
mach2 % rlogin -l root mach1 Password: <Type root password of mach1> Not on system console Connection closed. |
スーパーユーザーになろうとする試みを監視します。
デフォルトでは、スーパーユーザーになろうとすると、その試行が SYSLOG ユーティリティーによってコンソールに表示されます。
この例では、スーパーユーザーになろうとする試みは SYSLOG によってログされていません。そのため、管理者は、/etc/default/su ファイルの #CONSOLE=/dev/console エントリのコメントを解除して、試行のログを作成します。
# CONSOLE determines whether attempts to su to root should be logged # to the named device # CONSOLE=/dev/console |
ユーザーがスーパーユーザーになろうとすると、その試行が端末コンソールに表示されます。
SU 09/07 16:38 + pts/8 jdoe-root |
/etc/default/login ファイルにデフォルトの CONSOLE エントリが含まれている場合、遠隔システムからスーパーユーザーになるには、ユーザーはまず自分のユーザー名でログインする必要があります。自分のユーザー名でログインしたあとに、su コマンドを使ってスーパーユーザーになることができます。
コンソールに Mar 16 16:20:36 mach1 login: ROOT LOGIN /dev/pts/14 FROM mach2.Example.COM のようなエントリが表示されたら、システムは遠隔 root ログインを認めていることになります。遠隔システムからのスーパーユーザーアクセスを禁止するには、/etc/default/login ファイルの #CONSOLE=/dev/console エントリを CONSOLE=/dev/console に変更します。