GNU/Linux >> Linux の 問題 >  >> Linux

chageコマンドを使用してLinuxシステムのパスワードを強制的に変更する

医療、政府、政府との契約、食品および飲料など、規制の厳しい業界で働く人もいます。パスワードのエージング、定期的なパスワードの変更、最小の長さ、複雑さ、およびパスワードの変更間の最小の時間制限について、おそらく厳格なガイドラインがあります。他の人は、それが良い習慣であるという理由だけで、同様に厳格なガイドラインを使用するかもしれません。この記事では、ユーザーアカウントを監査し、パスワードの有効期限と変更頻度に関するガイドラインを設定する方法について説明します。例として、chageを使用します コマンド。

[読むこともお楽しみいただけます:Linuxのセキュリティと使いやすさのバランスをとる]

chage コマンドは、「ユーザーパスワードの有効期限情報の変更」ユーティリティとして自己記述されています。 chageによると マニュアルページ:

chageコマンドは、パスワードが変更されてから最後にパスワードが変更された日付までの日数を変更します。この情報は、ユーザーがいつパスワードを変更する必要があるかを判断するためにシステムによって使用されます。

ユーザーアカウントの監査

定期的なアカウント監査は良い考えであるだけでなく、業界のコンプライアンス規制によっては、要件になる可能性があります。 chageを使用すると、パスワード変更の要件を簡単に確認できます。 指図。次に例を示します:

# chage -l jdoe
Last password change					: Apr 20, 2021
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

ご覧のとおり、 jdoeの監査 ユーザーアカウントは監査に失敗します。重要な指標は、ユーザーのパスワードが期限切れになることはなく、パスワードの変更の間隔に最小日数または最大日数がないことです。一部の業界規制では、パスワードを45日ごとに変更する必要がありますが、他の規制では90日ごとに変更する必要があります。また、一部の企業や規制では30日の変更間隔が必要な場合があります。

ユーザーのパスワードの有効期限が切れています

私がこれまでサポートしてきたすべてのクライアントは、90日間のパスワードの有効期限を使用し、パスワードの変更間の最小日数を1に設定しています。パスワード変更の最小日数を設定すると、システムセキュリティをバイパスして、ユーザーがパスワードを前のパスワードにリセットできるようになるまで、パスワードを繰り返し変更することを防ぐことができます。この数は1より大きい値に設定できます。一部の企業は、最小日数を7日に設定しています。

# chage -m 1 -M 90 jdoe

# chage -l jdoe

Last password change					: Apr 20, 2021
Password expires					: Jul 19, 2021
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 1
Maximum number of days between password change		: 90
Number of days of warning before password expires	: 7

chage コマンドは、最後にパスワードを変更してから90日後にユーザーのパスワードの有効期限が切れます。そのため、2019年1月15日に最後にパスワードを変更した場合、2019年4月15日でパスワードの有効期限が切れます。つまり、有効期限が過ぎている場合は、次回にパスワードを変更するよう求められます。ログイン。

$ ssh [email protected]
[email protected]'s password: 
You are required to change your password immediately (password expired)
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Jun 19 10:46:27 2021
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user jdoe.
Current password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
Connection to 192.168.0.99 closed.

パスワードの変更後、リモートシステムはユーザーを切断することに注意してください。ユーザーは、リモートシステムへの接続を再開し、新しいパスワードでログインする必要があります。

警告と治療法

パスワードを変更するまでの最小日数を設定することに対して、自動化されたスクリプトを中断させるというユーザーやシステム管理者の議論をたくさん耳にしました。私の答えはいつも「自動化されたスクリプトにパスワードを使用しないでください」でした。その理由は、一部のユーザーとシステム管理者がこれらの自動化されたスクリプトにプレーンテキストでパスワードを書き込むためです。スクリプトのアクセス許可を、スクリプトを実行するユーザーアカウントに制限している場合でも、それは悪いことです。

解決策は、システム間の自動タスクにSSHキーペアを使用することです。

[セキュリティについて考えていますか?ハイブリッドクラウドのセキュリティを強化し、ビジネスを保護するためのこの無料ガイドをご覧ください。 ]

まとめ

この記事では、chageの使用の概要を簡単に説明します。 管理するシステムのパスワードを監査して期限切れにするコマンド。すべてのアカウントを個別に監査したくない場合は、ユーザーのアカウントを定期的にチェックし、セキュリティポリシーと規制要件に準拠していないアカウントを期限切れにするスクリプトを作成することをお勧めします。


Linux
  1. Linuxcronコマンドを使用したタスクのスケジューリング

  2. Linuxのpingコマンドで接続の問題を診断する

  3. Linuxのwatchコマンドでコマンドとタスクを監視する

  1. スマートクォートをLinuxsedコマンドに置き換えます

  2. Linuxtacコマンドの使用を開始する

  3. Linuxcatコマンドの使用を開始する

  1. statコマンドを使用してLinuxのファイルステータスを確認します

  2. Linuxatコマンドでタスクをスケジュールする

  3. Linuxの「トップ」コマンドのガイド