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

Linuxでn回失敗したログイン試行後にユーザーアカウントをロックする

Linuxサーバーの強化は、実稼働サーバーに関しては、システム管理者にとって重要なタスクの1つです。ログインまたはssh試行ポリシーを有効にすることをお勧めします。つまり、ログインまたはssh試行がn回失敗した(または正しくない)と、ユーザーのアカウントが自動的にロックされます。

CentOS、RHEL、FedoraなどのLinuxディストリビューションでは、これはpamモジュール「 pam_faillock」を使用して実現されます。 」およびDebianのようなディストリビューションの場合、これは「 pam_tally2」を使用して実現できます。 ”pamモジュール。

このチュートリアルでは、CentOS、RHEL、Fedora、Debian、Ubuntuでのログイン試行がn回失敗した後にユーザーアカウントをロックする方法を学習します

CentOS / RHEL/Fedoraの場合

次の行を2つのファイル/etc/pam.d/password-authと/etc/pam.d/system-authに追加します

auth     required       pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth     [default=die]  pam_faillock.so authfail audit deny=3 unlock_time=600
account  required       pam_faillock.so

どこで、

  • 監査–>安全なログファイルでのユーザーログイン試行の監査ログを有効にします
  • Deny =3 –>ログインに3回失敗するとユーザーがロックされます。この数は、要件に応じて変更できます
  • unlock_time =600 –>これは、ユーザーのアカウントが10分(600秒)ロックされたままになることを意味します。ユーザーアカウントを永久にロックする場合は、このパラメーターを「unlock_time=never」に設定します。

:n回の不正なログイン後にもrootアカウントをロックするには、「even_deny_root」を追加します authセクション行の「」パラメータ。例を以下に示します

auth    required       pam_faillock.so preauth silent audit even_deny_root deny=3 unlock_time=600
auth    [default=die]  pam_faillock.so authfail audit even_deny_root deny=3 unlock_time=600

上記のように、認証セクションに2行、アカウントセクションに1行あります。これらの行をファイルに追加するときは、順序が非常に重要です。これらの行を追加する必要がある例を以下に示します

[[email protected] ~]# vi /etc/pam.d/password-auth

[[email protected] ~]# vi /etc/pam.d/system-auth

両方のファイルに変更を加えた後、以下のsystemctlコマンドを使用してsshサービスを再起動します。

[[email protected] ~]# systemctl restart sshd

ログインに3回失敗した後、ユーザーアカウントがロックされるかどうかをテストしてみましょう。

「pkumar」という名前のローカルアカウントを持っていると仮定します。このアカウントを使用して、間違ったパスワードでLinuxシステムをSSH接続しようとします。

$ ssh [email protected]
[email protected]'s password:
[email protected]'s password:
[email protected]'s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

次に、tailコマンドを使用して安全なログを表示します

[[email protected] ~]# tail /var/log/secure

上記のログは、3回の誤ったログイン試行の後にアカウントがロックされたことを確認します。また、faillockコマンドからも確認しましょう。

[[email protected] ~]# faillock --user pkumar
pkumar:
When                Type  Source                     Valid
2019-12-15 01:50:39 RHOST 192.168.29.157             V
2019-12-15 01:50:43 RHOST 192.168.29.157             V
2019-12-15 01:50:47 RHOST 192.168.29.157             V
[[email protected] ~]#

これらの失敗したログイン試行をフラッシュまたはクリアするには、次のフェイルロックコマンドを実行します。

[[email protected] ~]# faillock --user pkumar --reset
[[email protected] ~]# faillock --user pkumar
pkumar:
When         Type  Source         Valid
[[email protected] ~]#

ディストリビューションのようなDebian(Ubuntu、Linux Mint、Debian)に移りましょう

Debian、Ubuntu、LinuxMintの場合

ファイル「/etc/pam.d/common-auth」に次の行を追加します

auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit

3回の誤ったログイン後にもrootアカウントをロックしたい場合は、次の行を追加してください。

auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit even_deny_root root_unlock_time=600

場所:

  • Onerr =fail –>エラーが発生した場合は失敗します
  • deny =3 –>ログインに3回失敗すると、アカウントがロックされます
  • unlock_time =600 –>これは、アカウントが10分または600秒間ロックされたままになることを意味します
  • audit –>audit.logファイルのログを監査することを意味します
  • Even_deny_root –>3回の誤ったログイン後にrootアカウントをロックします
  • root_unlock_time =600 –>ログインが3回失敗した後、rootアカウントは10分または600秒間ロックされたままになります

上記のディスカッション行をファイル「/etc/pam.d/common-auth」に追加しましょう 」viエディタを使用して

[email protected]:~$ sudo vi /etc/pam.d/common-auth

上記の変更を行った後、ファイルを保存して終了し、次のコマンドを使用してsshサービスを再起動します。

[email protected]:~$ sudo systemctl restart sshd

3回の誤ったsshログイン後にアカウントがロックされているかどうかをテストしてみましょう。

ローカルの「devops」ユーザーがいると仮定して、間違ったパスワードでUbuntuシステムをsshしようとします

$ ssh [email protected] 
[email protected]'s password: 
[email protected]'s password: d
[email protected]'s password: 
Permission denied (publickey,password).

次に、認証ログファイルを表示して、誤ったログイン試行がキャプチャされたかどうかを確認します。

[email protected]:~$ tail /var/log/auth.log

上記のログは、アカウントがロックされていることを確認します。pam_tally2コマンドから確認しましょう。

[email protected]:~$ sudo pam_tally2 -u devops
Login       Failures Latest failure     From
devops      6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$

これらの失敗したログイン試行をクリアするには、次のpam_tally2コマンドを使用します。

[email protected]:~$ sudo pam_tally2 -u devops --reset
Login        Failures Latest failure     From
devops       6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$
[email protected]:~$ sudo pam_tally2 -u devops
Login        Failures Latest failure     From
devops       0
[email protected]:~$

これで記事は終わりです。フィードバックやコメントをお気軽に共有してください。


Linux
  1. Linuxユーザーアカウント監視の概要

  2. CentOS / RHEL 6 :N 回の不正なログイン試行後にユーザー アカウントをロックする

  3. Linux で失敗または不正なログイン試行を確認する方法

  1. Linuxでユーザーアカウント情報とログインの詳細を見つける11の方法

  2. Linuxでrootアカウントを無効にする4つの方法

  3. Linux での login コマンドの例

  1. LinuxMint12「Lisa」でゲストログインの自動化を有効にする

  2. LinuxMint12のログイン画面でユーザー名を非表示にする

  3. UNIX / Linux :ユーザー アカウントをロックまたは無効にする方法