はじめに
このチュートリアルでは、Linux のパスワードポリシーの主要な側面について説明します。これには、パスワードの複雑性要件の理解、パスワードの有効期限設定の構成、パスワードポリシーの監視と監査が含まれます。これらの技術を習得することは、Linux システム上のユーザーアカウントのセキュリティと整合性を維持するために、システム管理者やセキュリティ専門家にとって不可欠です。
Linux パスワードポリシーの理解
Linux のパスワードポリシーは、Linux システム上のユーザーパスワードの動作を管理する一連のルールと設定です。これらのポリシーは、ユーザーアカウントのセキュリティと整合性を維持し、不正アクセスを防止し、組織のセキュリティ基準に準拠するために重要です。
Linux パスワードポリシーの基本概念を理解することは、システム管理者やセキュリティ専門家にとって不可欠です。このセクションでは、パスワードの複雑性要件、パスワードの有効期限、パスワード履歴など、パスワードポリシーの主要な側面を探ります。
パスワードの複雑性要件
Linux のパスワードポリシーには通常、パスワードの複雑性に関するルールが含まれています。例えば、最小文字数、文字構成(大文字、小文字、数字、特殊文字の組み合わせを要求するなど)、一般的なまたは推測しやすいパスワードの使用制限などです。これらの要件により、ユーザーのパスワードが強固でブルートフォース攻撃に耐えられるようになります。
Ubuntu 22.04 でパスワードの複雑性要件を構成するには、pwquality パッケージを使用できます。以下は、パスワードの最小文字数を 8 文字に設定し、少なくとも 1 つの大文字、1 つの小文字、1 つの数字を要求する方法の例です。
sudo apt update
sudo apt-get install libpam-pwquality
sudo sed -i 's/minlen = 8/minlen = 8/g' /etc/security/pwquality.conf
sudo sed -i 's/dcredit = -1/dcredit = -1/g' /etc/security/pwquality.conf
sudo sed -i 's/ucredit = -1/ucredit = -1/g' /etc/security/pwquality.conf
sudo sed -i 's/lcredit = -1/lcredit = -1/g' /etc/security/pwquality.conf
これらの変更を加えた後、新しいパスワードの複雑性要件がすべてのユーザーアカウントに適用されます。
パスワードの有効期限
Linux のパスワードポリシーには、多くの場合、パスワードの有効期限に関する設定が含まれています。これにより、ユーザーは指定された期間が経過した後にパスワードを変更する必要があります。これにより、パスワードが侵害されるリスクを軽減し、ユーザーの資格情報が最新の状態に保たれます。
Ubuntu 22.04 でパスワードの有効期限を設定するには、chage コマンドを使用できます。例えば、ユーザー名が "john" のユーザーのパスワード有効期限を 90 日に設定するには、次のコマンドを実行します。
sudo chage -M 90 john
これにより、ユーザー "john" のパスワードの最大有効期限が 90 日に設定され、期限が切れるとユーザーにパスワードの変更を求められます。
パスワード履歴
Linux のパスワード履歴ポリシーは、ユーザーが以前に使用したパスワードを追跡し、指定された期間内に同じパスワードを再利用できないようにします。これにより、ユーザーが古い、潜在的に侵害されたパスワードを再利用しないようになります。
Ubuntu 22.04 でパスワード履歴を設定するには、libpam-pwhistory パッケージを使用できます。以下は、最後の 5 つのパスワードを記憶し、365 日間再利用できないようにパスワード履歴を設定する方法の例です。
sudo apt update
sudo apt-get install libpam-pwhistory
sudo sed -i 's/remember=5/remember=5/g' /etc/security/pwhistory.conf
sudo sed -i 's/enforce_for_root/enforce_for_root/g' /etc/security/pwhistory.conf
sudo sed -i 's/expire=365/expire=365/g' /etc/security/pwhistory.conf
これらの変更を加えた後、新しいパスワード履歴ポリシーがすべてのユーザーアカウントに適用されます。
パスワード有効期限の設定
パスワード有効期限の設定は、ユーザーアカウントの管理と Linux システムのセキュリティ維持において重要な側面です。パスワード有効期限ポリシーを適用することで、ユーザーの資格情報が定期的に更新され、パスワードの侵害や不正アクセスのリスクを減らすことができます。
このセクションでは、chage コマンドを使用して Ubuntu 22.04 でパスワード有効期限を設定する手順を説明します。
パスワード有効期限の設定
chage コマンドを使用すると、ユーザーアカウントのパスワードの最大有効期限を設定できます。期限が切れると、ユーザーにパスワードの変更を求められます。ユーザー名が "john" のユーザーのパスワード有効期限を 90 日に設定するには、次のコマンドを実行します。
sudo chage -M 90 john
このコマンドにより、ユーザー "john" のパスワードの最大有効期限が 90 日に設定されます。この期間が経過すると、ユーザーはパスワードを変更する必要があります。
パスワード有効期限の強制
システム全体でパスワード有効期限ポリシーを適用するには、すべての新しいユーザーアカウントのデフォルトのパスワード有効期限を設定できます。これは、ユーザーアカウントのシステム全体の設定が記載されている /etc/login.defs ファイルを変更することで行えます。
以下は、デフォルトのパスワード有効期限を 90 日に設定する方法の例です。
sudo sed -i 's/PASS_MAX_DAYS\s*99999/PASS_MAX_DAYS 90/g' /etc/login.defs
この変更により、システム上で作成されるすべての新しいユーザーアカウントに 90 日のパスワード有効期限ポリシーが適用されます。
パスワード有効期限の監視
ユーザーアカウントのパスワード有効期限の状況を監視するには、chage コマンドに -l オプションを付けて使用します。これにより、特定のユーザーアカウントの現在のパスワード有効期限の設定が表示されます。
例えば、ユーザー "john" のパスワード有効期限の詳細を確認するには、次のコマンドを実行します。
sudo chage -l john
これにより、ユーザーのパスワードの有効期限、パスワードが切れるまでの日数、その他関連する詳細が表示されます。
パスワード有効期限を設定し、監視することで、ユーザーアカウントのセキュリティを効果的に管理し、ユーザーの資格情報が定期的に更新されるようにすることができます。これにより、不正アクセスやデータ漏洩のリスクを減らすことができます。
パスワードポリシーの監視と監査
パスワードポリシーの監視と監査は、Linux システムの継続的なセキュリティとコンプライアンスを確保するために不可欠です。定期的にパスワード関連のデータをレビューし分析することで、潜在的な脆弱性を特定し、ポリシー違反を検出し、ユーザーアカウントの整合性を維持するための適切な措置を講じることができます。
パスワード有効期限の監視
ユーザーアカウントのパスワード有効期限の状況を監視するには、chage コマンドに -l オプションを付けて使用します。これにより、特定のユーザーアカウントの現在のパスワード有効期限の設定が表示されます。
例えば、ユーザー "john" のパスワード有効期限の詳細を確認するには、次のコマンドを実行します。
sudo chage -l john
これにより、ユーザーのパスワードの有効期限、パスワードが切れるまでの日数、その他関連する詳細が表示されます。
また、次のスクリプトを使用して、すべてのユーザーアカウントとそのパスワード有効期限の状況のレポートを生成することもできます。
#!/bin/bash
echo "Username,Password Expiration Date,Days Until Expiration"
for user in $(awk -F: '$3 >= 1000 {print $1}' /etc/passwd); do
expiration_date=$(chage -l "$user" | grep "Password expires" | awk -F": " '{print $2}')
days_until_expiration=$(chage -l "$user" | grep "days)" | awk -F")" '{print $1}')
echo "$user,$expiration_date,$days_until_expiration"
done
このスクリプトは、各ユーザーアカウントのユーザー名、パスワード有効期限、パスワードが切れるまでの日数を含む CSV 形式のレポートを出力します。
パスワードポリシーの監査
Ubuntu 22.04 システムで設定されているパスワードポリシーを監査するには、パスワード関連のルールを管理する設定ファイルと設定をレビューします。
パスワードポリシーの主な設定ファイルは /etc/security/pwquality.conf です。このファイルの設定をレビューして、パスワードの複雑性要件が組織のセキュリティ基準に沿っていることを確認できます。
さらに、pwck コマンドを使用して、パスワード関連のファイルと設定の整合性をチェックすることができます。このコマンドは、パスワードポリシーの設定における不整合やエラーを報告します。
sudo pwck
このコマンドの出力には、システムのパスワードポリシーに関連する問題や潜在的なセキュリティリスクに関する情報が含まれます。
定期的にパスワードポリシーを監視し監査することで、Linux システムのセキュリティとコンプライアンスを維持し、ユーザーアカウントが適切に保護され、ポリシー違反が迅速に対処されることを確保できます。
まとめ
Linux のパスワードポリシーは、ユーザーアカウントのセキュリティと整合性を確保するために重要です。パスワードの複雑性要件を理解し、パスワードの有効期限を設定し、定期的にパスワードポリシーを監視および監査することで、不正アクセスのリスクを効果的に軽減し、組織のセキュリティ基準に準拠することができます。このチュートリアルでは、Linux システム上で強固なパスワードポリシーを実装および管理するために必要な知識と実践的な手順を提供しました。



