Solaris のシステム管理 (セキュリティサービス)

ログインとパスワードのセキュリティー

遠隔ログインを制限し、ユーザーにパスワードを要求するようにできます。失敗したアクセス操作を監視し、ログインを一時的に無効にすることもできます。

Procedureユーザーのログイン状態を表示する方法

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. logins コマンドを使用してユーザーのログイン状態を表示します。


    # logins -x -l username
    
    -x

    ログイン状態情報の拡張セットを表示します。

    -l username

    指定するユーザーのログイン状態を表示します。変数 username はユーザーのログイン名です。複数のログイン名は、コンマで区切って指定します。

    logins コマンドは、適切なパスワードデータベースを使ってユーザーのログイン状態を表示します。このデータベースは、ローカルの /etc/passwd ファイルか、ネームサービスのパスワードデータベースです。詳細は、logins(1M) のマニュアルページを参照してください。


例 3–1 ユーザーのログイン状態を表示する

次の例では、ユーザー rimmer のログイン状態が表示されます。


# logins -x -l rimmer
rimmer       500     staff           10   Annalee J. Rimmer
                     /export/home/rimmer
                     /bin/sh
                     PS 010103 10 7 -1
rimmer

ユーザーのログイン名を示します。

500

ユーザー ID (UID) を示します。

staff

ユーザーの一次グループを示します。

10

グループ ID (GID) を示します。

Annalee J. Rimmer

コメントを示します。

/export/home/rimmer

ユーザーのホームディレクトリを示します。

/bin/sh

ログインシェルを示します。

PS 010170 10 7 -1

次のパスワード有効期限情報を示します。

  • パスワードの最終変更日

  • 次に変更するまでに必要な日数

  • 変更しないで使用できる日数

  • 警告期間


Procedureパスワードを持たないユーザーを表示する方法

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. loginsコマンドを使用して、パスワードを持っていないユーザーをすべて表示します。


    # logins -p

    -p オプションを指定すると、パスワードを持たないユーザーが一覧表示されます。logins コマンドは、ネームサービスが有効になっていない限り、ローカルシステムのパスワードデータベースを使用します。


例 3–2 パスワードを持たないユーザーを表示する

次の例では、ユーザー pmorph はパスワードを持っていません。


# logins -p
pmorph          501     other           1       Polly Morph
# 

Procedureユーザーのログインを一時的に無効にする方法

システムシャットダウンや定常的な保守の際にユーザーのログインを一時的に無効にします。スーパーユーザーのログインは影響を受けません。詳細は、nologin(4) のマニュアルページを参照してください。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. テキストエディタで、/etc/nologin ファイルを作成します。


    # vi /etc/nologin
    
  3. システムの利用に関するメッセージを入力します。

  4. ファイルを閉じて、保存します。


例 3–3 ユーザーログインを無効にする

この例では、システムを使用できないことがユーザーに通知されます。


# vi /etc/nologin
(Add system message here)
 
# cat /etc/nologin 
***No logins permitted.***

***The system will be unavailable until 12 noon.***

システムを実行レベル 0、つまりシングルユーザーモードにしてログインを無効にすることもできます。システムをシングルユーザーモードにする方法については、『Solaris のシステム管理 (基本編)』の第 10 章「システムのシャットダウン (手順)」を参照してください。


Procedureログイン失敗操作を監視する方法

この作業は、端末ウィンドウで行われたログイン操作の失敗を記録します。CDE ログインと GNOME ログインの操作失敗は記録しません。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /var/adm ディレクトリに loginlog ファイルを作成します。


    # touch /var/adm/loginlog
    
  3. loginlog ファイルに root ユーザーの読み取り権と書き込み権を設定します。


    # chmod 600 /var/adm/loginlog
    
  4. loginlog ファイルのグループのメンバーシップを sys に変更します。


    # chgrp sys /var/adm/loginlog
    
  5. ログが正常に記録されるか検証します。

    たとえば、間違ったパスワードを使用してシステムに 5 回ログインします。次に、/var/adm/loginlog ファイルを表示します。


    # more /var/adm/loginlog
    jdoe:/dev/pts/2:Tue Nov  4 10:21:10 2003
    jdoe:/dev/pts/2:Tue Nov  4 10:21:21 2003
    jdoe:/dev/pts/2:Tue Nov  4 10:21:30 2003
    jdoe:/dev/pts/2:Tue Nov  4 10:21:40 2003
    jdoe:/dev/pts/2:Tue Nov  4 10:21:49 2003
    #

    loginlog ファイルには、失敗操作ごとに 1 つずつエントリが入っています。各エントリには、ユーザーのログイン名、tty デバイス、操作の失敗回数が入っています。4 回以下の失敗であれば、ログに記録されません。

    loginlog ファイルのサイズが大きくなる場合は、コンピュータシステムへの侵入が試みられている可能性があります。このため、このファイルの内容を定期的にチェックして空にしてください。詳細は、loginlog(4) のマニュアルページを参照してください。

Procedureすべてのログイン失敗操作を監視する方法

この作業は、失敗したログイン操作をすべて syslog ファイルに記録します。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. SYSLOGSYSLOG_FAILED_LOGINS に希望する値を指定して、/etc/default/login ファイルを設定します。

    /etc/default/login ファイルを編集して、エントリを変更します。SYSLOG=YES のコメントを解除していることを確認してください。


    # grep SYSLOG /etc/default/login
    # SYSLOG determines whether the syslog(3) LOG_AUTH facility 
    # should be used
    SYSLOG=YESSYSLOG_FAILED_LOGINS=0
    #
  3. ログ操作の情報を記録できる適切なアクセス権でファイルを作成します。

    1. /var/adm ディレクトリに authlog ファイルを作成します。


      # touch /var/adm/authlog
      
    2. authlog ファイルに、root ユーザーの読み取り権と書き込み権を設定します。


      # chmod 600 /var/adm/authlog
      
    3. authlog ファイルのグループのメンバーシップを sys に変更します。


      # chgrp sys /var/adm/authlog
      
  4. 失敗したパスワード操作を記録するように、syslog.conf ファイルを編集します。

    失敗は、authlog ファイルに送る必要があります。

    1. syslog.conf ファイルに次のエントリを入力します。

      syslog.conf 内の同じ行にあるフィールドは、タブで区切ります。


      auth.notice <Press Tab>  /var/adm/authlog
    2. syslog デーモンの構成情報を再表示します。


      # svcadm refresh system/system-log
      
  5. ログが正常に記録されるか検証します。

    たとえば、間違ったパスワードを使用し、通常のユーザーとしてシステムにログインします。続いて、Primary Administrator 役割かスーパーユーザーとして、/var/adm/authlog ファイルを表示します。


    # more /var/adm/authlog
    Nov  4 14:46:11 example1 login: [ID 143248 auth.notice] 
     Login failure on /dev/pts/8 from example2, stacey
    #
  6. 定期的に /var/adm/authlog ファイルを監視します。


例 3–4 ログインが 3 回失敗したあとのアクセス操作を記録する

/etc/default/login ファイルの SYSLOG_FAILED_LOGINS の値を 3 に設定する点以外は、前述の作業と同じです。



例 3–5 ログイン操作が 3 回失敗したあとで接続を遮断する

/etc/default/login ファイルの RETRIES エントリのコメントを解除し、RETRIES の値を 3 に設定します。この編集結果はただちに適用されます。1 つのセッションでログインが 3 回試されたあと、システムは接続を遮断します。


Procedureダイヤルアップパスワードを作成する方法


注意 – 注意 –

最初にダイヤルアップパスワードを設定するときには、少なくとも 1 つのポートにログインしたまま別のポートでパスワードをテストしてください。ログアウトして新しいパスワードをテストすると、元どおりログインできなくなることがあります。まだ別のポートにログインしていれば、元に戻ってミスを訂正できます。


  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. シリアルデバイスの一覧が入った /etc/dialups ファイルを作成します。

    このファイルには、ダイヤルアップパスワードで保護されているすべてのポートを含めてください。/etc/dialups ファイルは次のようになります。


    /dev/term/a
    /dev/term/b
    /dev/term/c
  3. ダイヤルアップパスワードを要求するログインプログラムが入った /etc/d_passwd ファイルを作成します。

    uucicoshkshcsh など、ユーザーがログイン時に実行できるシェルプログラムを含めます。/etc/d_passwd ファイルは次のようになります。


    /usr/lib/uucp/uucico:encrypted-password:
    /usr/bin/csh:encrypted-password:
    /usr/bin/ksh:encrypted-password:
    /usr/bin/sh:encrypted-password:

    この手順の後半で、各ログインプログラムに暗号化されたパスワードを追加することになります。

  4. 2 つのファイルの所有権を root に設定します。


    # chown root /etc/dialups /etc/d_passwd
  5. 2 つのファイルのグループの所有権を root に設定します。


    # chgrp root /etc/dialups /etc/d_passwd
  6. 2 つのファイルに root の読み取り権と書き込み権を設定します。


    # chmod 600 /etc/dialups /etc/d_passwd
  7. 暗号化パスワードを作成します。

    1. 一時的なユーザーを作成します。


      # useradd username
      
    2. 一時的なユーザーのパスワードを作成します。


      # passwd username
      New Password:  <Type password>
      Re-enter new Password:   <Retype password>
      passwd: password successfully changed for username
      
    3. 暗号化パスワードを取り出します。


      # grep username /etc/shadow > username.temp
    4. username.temp ファイルを編集します。

      暗号化パスワードを除くすべてのフィールドを削除します。2 つ目のフィールドに、暗号化パスワードが入っています。

      たとえば、次の行では、暗号化パスワードは U9gp9SyA/JlSk です。


      temp:U9gp9SyA/JlSk:7967:::::7988:
    5. 一時的なユーザーを削除します。


      # userdel username
      
  8. username.temp ファイルから /etc/d_passwd ファイルに暗号化パスワードをコピーします。

    ログインシェルごとに別のパスワードを作成することも、共通のパスワードを使用することもできます。

  9. パスワードをダイヤルアップユーザーに知らせます。

    盗聴のおそれがない方法でパスワードを知らせる必要があります。

Procedureダイヤルアップログインを一時的に無効にする方法

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/d_passwd ファイルのエントリを次の 1 行だけにします。


    /usr/bin/sh:*: