web-dev-qa-db-ja.com

access.confのユーザーグループを介してログインを制限する

私は/etc/security/access.confが期待どおりに機能するように取り組んでおり、これまでのところすべてのユーザーがログインできます。詳細は以下の通りです。

/etc/pam.d/loginに次の行を追加しました

account required pam_access.so

/etc/security/access.confに次の行も追加しました

+ : root : ALL
+ : group_name : ALL
- : ALL : ALL

group_nameは、LDAPサーバー(FreeIPA)内のグループです。 $ {group_name}に属しているかどうかに関係なく、どのユーザーもログインできます。どのユーザーからの問題もなく、サーバーにSSH接続できます。誰かが私が間違っている場所を指摘するのを手伝ってくれる? RHEL 6.5を実行しています。ありがとう

2
Azifor

man access.confから:

ログインアクセス制御テーブルの各行には、「:」文字(コロン)で区切られた3つのフィールドがあります:permission:users/groups:origins

最初のフィールドである許可フィールドは、アクセスが許可された場合は「+」文字(プラス)、アクセスが拒否された場合は「-」文字(マイナス)になります。

2番目のフィールドであるusers/groupフィールドは、1つ以上のログイン名、グループ名、またはALL(常に一致)のリストである必要があります。 ユーザーエントリとグループエントリを区別するには、グループエントリを角かっこで記述します。 (グループ)。

したがって、/etc/security/access.confは次のようになります。

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL
3
mrc02_kr

mrc02_krは正しいと思います。

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL

しかし、これは重要なステップを省きます:PAMアクセス制御を強制したいことをauthconfigに伝えなければなりません。これを行う前は、access.confファイルは何もしません。

*注意:*私が説明しようとしていることは私のシステムで動作しますが、very危険です。誤って行うか、設定が異なる場合、システムからロックアウトされたままになる可能性があります。コンソールセッションを開いて問題を修復するように注意してください。これがVMの場合、スナップショットを取得します。バックアップを作成します。気になることをする前に、テストボックスを使用してください。問題が発生している間は再起動しないでください。私はFreeIPAの経験がないので、セットアップに障害が発生する可能性があります。あなたは警告されました。さて、答えに戻ります:

まず、authconfigのバックアップを作成しました。

authconfig --savebackup authconfig_working_outofbox01

次に、sshが許可されたアカウントのローカルグループを追加しました(ただし、これはFreeIPAのグループで機能することはかなり確実ですが、100%確実ではありません。LDAPグループを使用した構成を使用しています...しばらくの間。)

次に、acces.confファイルを更新して、以下を追加します。

+ : (ssh_auth) : ALL
- : ALL        : ALL EXCEPT LOCAL

次に、ファイル/ etc/sysconfig/authconfigを編集して、

USEPAMACCESS=no

USEPAMACCESS=yes

最後に、authconfigに更新を指示します。

authconfig --updateall

次に、すべてのユーザータイプをテストして、必要な結果が得られることを確認します。これはインターネット上ではあまり文書化されていないようで、これを使用しているショップはほとんどないと思います。システムを強化するための堅実な一歩として気に入っています。

2
Art Hill

RHEL 6.5はSSSDをサポートしています。 /etc/sssd/sssd.confのドメイン/ LDAP定義でアクセスフィルターを設定できます。

domains = LDAP
...
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
...   
ldap_access_filter = memberOf=cn=MyGroupOfUsers,ou=MyOU,o=MyOrg
...

次に、必ずsssdを再起動してください

service sssd restart
1
Jong

OpenSSHを実行していて、ユーザーのssh制限を利用できる場合は、/etc/ssh/sshd_configファイルを編集して、次の行を1つ以上追加できます

DenyUsers
AllowUsers
DenyGroups
AllowGroups

ただし、これらの使用中は十分注意してください。 AllowUsersディレクティブを使用すると、その行にない人は自動的に拒否され、編集中にタイプミスをすると、自分のアクセスもブロックされる可能性があります。したがって、これらの設定を変更する前に、コンソールとrootパスワードのようなバックドアを常に用意してください。

Sshd構成ファイル内のこれらのキーワード/ディレクティブが何をするのかは明らかです。疑問がある場合は、sshdのmanページを確認するか、googleを使用してこれらの単語を検索してください。無数のドキュメントが存在します。

最後になりましたが、設定ファイルの編集が完了したら、sshdを再起動することを忘れないでください

1
MelBurslan