オペレーティングシステムのセキュリティは、常に重大な問題点です。 Linuxシステムにはさまざまなセキュリティ対策が組み込まれており、オプションで利用できますが、真に安全なオペレーティングシステム(OS)はありません。 OSを安全に保つために必要な方法はいくつかありますが、この記事ではコアセキュリティについては説明しません。この記事では、Pluggable Authentication Module(PAM)と、PAMがセキュリティの強化にどのように役立つかについて説明します。
PAMは、一元化された認証メカニズムを提供し、アプリケーションが認証のサポートを実装するための一般的な方法を提供します。これにより、アプリケーションはPAMライブラリ libpamを呼び出すことができます。 、それに代わってすべての認証タスクを実行し、アプリケーションに合格または不合格の応答を返します。
[次のこともお楽しみいただけます:Linuxシステムでの多要素認証の設定]
システム管理者は、PAMを使用してユーザーからアプリケーションへの動的認証を行うことができます。低レベルの認証を高レベルのAPIに統合します。 PAMはプラグイン可能です Kerberos、SSSD、NIS、ローカルファイルシステムなど、さまざまな種類の認証ソース用のPAMモジュールがあるためです。 PAMにはいくつかの使用例がありますが、ここでは、システム管理者にとってのPAMの利点と使用法について説明します。
- PAMは、さまざまなアプリケーションで使用できる一般的な認証スキーマに依存しています。
- PAMは、システム管理のための認証に対する大きな柔軟性と制御を提供します。
- PAMは、システム管理者が認証ポリシーを設定できるようにするための最も一般的な方法の1つです。
PAMでは、/etc/pam.d
ディレクトリには、サービスに関連するすべてのファイルが保持されます。ログインプログラムの一例を見てみましょう。 /etc/pam.d
内 ディレクトリの場合、ログインプログラムを保持するファイルの名前はlogin
です。 。このように、すべてのファイルに名前の構成があります。 PAMでは、すべてのファイルにそのルールの標準形式があります。認証ルールを作成するには、同じ形式に従う必要があります。すべての構文規則が十分に説明されているpam.dのマニュアルページを参照できます。
パスワード管理の例
この記事の例は、PAMでのユーザーパスワード認証に関連しています。最初に、強力なパスワード品質のPAMルールを設定しました。これにより、ユーザーに弱いパスワードを設定しようとすると、システムはそれを受け入れません。パスワードポリシーを設定できます。パスワードの長さは7を超え、小文字、大文字、特殊文字を含める必要があります 。パスワードの桁数の要件を設定することもできます。これらのパラメータを使用して、ユーザーが認証を強化するための強力なパスワードを作成できます。
パスワードの品質に関する情報を保持するファイルは、/etc/security
内にあります。 ディレクトリ。このディレクトリで、pwquality.conf
パスワードの品質制限の構成ファイルです。
高品質のパスワードに使用できる値がいくつかあります。それらは次のとおりです。
- difok :古いパスワードに存在してはならない新しいパスワードの文字数を示します。
- ミンレン :新しいパスワードの最小の長さを設定します。
- dcredit :新しいパスワードに最大桁と最小桁を設定します。
-ve
を設定した場合 このパラメータの値を指定すると、その値がパスワードの最小桁数として使用されます。 - クレジット :パスワードの最大大文字を設定します。
-ve
を使用する場合 値の場合、その値を大文字の最小制限として使用します。 - lcredit :パスワードに小文字の制限を設定します。値が0より大きい場合は最大値を示しますが、
-ve
とともに使用されている場合 または0未満の場合、新しいパスワードに最小小文字を設定します。 - ocredit :他の文字の要件を設定します。 0より大きい値を割り当てることにより、他の最大文字を設定できます。値が0より小さい場合、それは最小のクレジット値と見なされます。
- dictcheck :パスワードの単語が cracklibからのものかどうかを確認します 辞書。値がゼロ以外に設定されている場合、このオプションは有効になります。
- ユーザーチェック :パスワードに何らかの形式のユーザー名が含まれているかどうかを確認するのに役立ちます。値がゼロでない場合、このオプションが有効になります。
したがって、これらは強力なパスワードを設定するために使用できるいくつかのパラメーターです。パスワードの割り当て中に要件が一致しない場合は、明確なエラーメッセージが表示されます。
私の例では、パスワードのパラメーターを設定する必要があります。パスワードの長さなどの要件は7である必要があり、最小の数字と大文字は1である必要があります。他の文字値は、新しいパスワードで少なくとも1つにする必要があります。したがって、値は次のようになります。
minlen=7
dcredit=-1
ucredit=-1
ocredit=-1
ここでは、ほとんどの値が最小値に設定されています。最小の1つ は要件であるため、新しいパスワードでこれらのパラメータを使用する必要があります。最大値に制限はありません。パスワードの最小の長さは7文字で、これらの7文字には数字と英数字以外の文字が含まれます。これらの値はすべて、/etc/security/pwquality.conf
内で設定できます。 ファイル。これらの値をファイルの最後に直接置くことができます。設定したルールが機能しているかどうかをクロスチェックするには、アカウントにさまざまな異なるパスワードを設定してみてください。
ここでは、最小長 は7であるため、7文字未満のパスワードを入力すると、エラーが表示されます。少なくとも1桁、大文字、および @などの他の文字を入力しなかった場合 または# 、特定のエラーも表示されます。
エラーは次のようになります:
これは、パスワードの制限を作成してパスワードを強化する方法の例です。これらのPAMモジュールを使用すると、パスワードの品質をカスタマイズして、ユーザーアカウントをより安全にすることができます。 PAMを使用して、任意のマシン上の任意のユーザーへのアクセスを拒否することもできます。 PAMで実行できる操作にはさまざまな種類があります。
Authconfig
管理者はauthconfig
を使用できます PAMを構成するため。 authconfig-gtk
を介して、コマンドラインツールとグラフィカルインターフェイスを提供します。 指図。このコマンドは2つのモードで機能します:
- 更新 :指定したオプションでPAM構成ファイルを更新します。
- テスト :実際に適用せずに構成を印刷します。
このコマンドがマシンにインストールされていない場合は、次を使用してインストールしてください:
$ dnf install authconfig
authconfig
を使用して、PAM構成ファイルのバックアップを取ることもできます。 指図。次のコマンドを使用してバックアップを作成します。
$ authconfig --savebackup=/root/pambackupfile
このコマンドは、PAMのバックアップを生成します。 pambackup
を作成します バックアップファイルを含むディレクトリ。 --restorebackup
を使用してバックアップから復元することもできます オプション。
[セキュリティについてもっと知りたいですか? ITセキュリティとコンプライアンスのチェックリストを確認してください。 ]
まとめ
この記事では、認証プロセスを保護するのに役立つPAMについて学習しました。例では、パスワードの品質を向上させる方法を示しました。強力なユーザーパスワードはユーザーアカウントの安全性を高めるのに役立つため、システム管理者は認証のセキュリティに多大な労力を費やしています。この記事では、authconfig
についても説明しました。 PAMのコマンドラインユーティリティ。 Linuxのセキュリティに対処する際に、これらがお役に立てば幸いです。