パスワードポリシーの適用
Linuxには、パスワードポリシーを適用するためのいくつかのツールが用意されています。これらのツールは、ユーザーが強力なパスワードを選択することを保証することで、システムのセキュリティを維持するのに役立ちます。このステップでは、基本的なパスワードポリシーを実装する方法を学びます。
パスワードの有効期限の設定
chage
コマンドを使用すると、管理者はパスワードの有効期限ポリシーを設定できます。プロジェクトディレクトリに移動します。
cd ~/project
cyberuser
アカウントのパスワードの最大有効期限を90日に設定しましょう。
sudo chage -M 90 cyberuser
このコマンドは、ユーザーがパスワードを変更する必要があるまでの最大日数を設定します。
また、パスワードの最小有効期限を設定することもできます。これにより、ユーザーがパスワードを頻繁に変更することを防ぎます。
sudo chage -m 7 cyberuser
このコマンドは、ユーザーが再度パスワードを変更する前に少なくとも7日間待つことを要求します。
行った変更を確認します。
sudo chage -l cyberuser
更新されたパスワードポリシー情報が表示されるはずです。
Last password change : Jul 15, 2023
Password expires : Oct 13, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
パスワードポリシースクリプトの作成
次に、より高度なパスワードポリシーを実装するスクリプトを作成しましょう。cyberpolicy.sh
という名前の新しいファイルを作成します。
nano ~/project/cyberpolicy.sh
ファイルに以下の内容を追加します。
#!/bin/bash
## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password
## Set password expiration policy for all new users
echo "PASS_MAX_DAYS 90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS 7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE 7" | sudo tee -a /etc/login.defs
echo "Password policy has been updated successfully."
Ctrl+O
を押してから Enter
を押してファイルを保存し、Ctrl+X
でnanoを終了します。
スクリプトを実行可能にします。
chmod +x ~/project/cyberpolicy.sh
このスクリプトは以下のパスワードポリシーを設定します。
- パスワードの複雑性: 最小8文字、前のパスワードと少なくとも3文字異なり、3回の再試行が許可される
- パスワードの有効期限: 最大90日
- パスワード変更制限: 最小7日
- パスワード警告: パスワードの有効期限が切れる7日前
本番環境では、このスクリプトを実行してこれらのポリシーを適用します。ただし、この実験では、パスワードポリシーがどのように実装されるかを理解するために、内容を確認するだけにします。