access.conf의 사용자 그룹을 통해 로그인을 제한합니다.

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를 실행하고 있습니다. 감사해요

답변1

에서 man access.conf:

로그인 액세스 제어 테이블의 각 행에는 ":" 문자(콜론)로 구분된 세 개의 필드가 있습니다. 권한: 사용자/그룹: 소스

첫 번째 필드(권한 필드)는 "+" 문자(더하기 기호)로 액세스 권한을 부여하거나 "-" 문자(빼기 기호)로 액세스를 거부할 수 있습니다.

두 번째 필드(사용자/그룹 필드)는 하나 이상의 로그인 이름, 그룹 이름 또는 ALL(항상 일치)의 목록이어야 합니다.사용자 항목과 그룹 항목을 구별하려면 그룹 항목을 (group)과 같이 괄호 안에 작성해야 합니다.

그래서 당신의 /etc/security/access.conf모습은 다음과 같아야합니다 :

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

답변2

mrc02_kr이 맞는 것 같아요.

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

그러나 이는 중요한 단계를 놓치고 있습니다. 즉, PAM 액세스 제어를 시행하고 싶다고 authconfig에 알려야 합니다. access.conf 파일은 이 작업을 수행할 때까지 아무 작업도 수행하지 않습니다.

* 지침:* 내가 설명하려는 것은 내 시스템에서 작동하지만매우위험합니다. 올바르게 수행하지 않거나 설정이 다를 경우 시스템이 잠길 수 있습니다. 문제를 해결하려면 콘솔 세션을 열 때 주의하시기 바랍니다. 가상 머신인 경우 스냅샷을 찍습니다. 백업을 하세요. 관심 있는 작업을 수행하기 전에 테스트 상자를 사용해 보세요. 문제 발생 시 재부팅하지 마세요. 저는 FreeIPA에 대한 경험이 없기 때문에 설정이 어려울 수 있습니다. 당신은 경고를 받았습니다. 좋아요, 답변으로 돌아가서:

먼저 authconfig를 백업했습니다.

authconfig --savebackup authconfig_working_outofbox01

다음으로 ssh 인증 계정에 대한 로컬 그룹을 추가했습니다(그러나 이것이 FreeIPA의 그룹에서 작동한다고 확신하지만... 100% 확실하지는 않습니다. LDAP 그룹을 사용하는 구성을 사용했습니다... 이미 마침표가 있습니다. 시간이.)

다음으로 access.conf 파일을 업데이트하여 다음을 추가했습니다.

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

다음으로 /etc/sysconfig/authconfig 파일을 편집합니다.

USEPAMACCESS=no

도착하다

USEPAMACCESS=yes

마지막으로 authconfig에 다음을 업데이트하도록 지시합니다.

authconfig --updateall

이제 각 사용자 유형을 테스트하여 원하는 결과를 얻었는지 확인하세요. 이것은 인터넷에 제대로 문서화되어 있지 않은 것 같아서 그것을 사용하는 상점이 거의 없다고 생각합니다. 나는 이것이 시스템 강화를 향한 확실한 조치라고 생각합니다.

답변3

openSSH를 실행 중이고 사용자에 대해 SSH 제한을 사용할 수 있는 경우 /etc/ssh/sshd_config파일을 편집하고 다음 줄을 추가 할 수 있습니다.

DenyUsers
AllowUsers
DenyGroups
AllowGroups

하지만 이것들을 사용할 때는 매우 조심하세요. 지시문을 사용하면 AllowUsers해당 줄에 없는 사람은 자동으로 거부되며, 편집하는 동안 오타가 발생하면 자신의 액세스가 차단될 수도 있습니다. 따라서 이러한 설정을 수정하기 전에 항상 콘솔 및 루트 비밀번호와 같은 백도어를 그대로 두십시오.

sshd 구성 파일의 이러한 키워드/지시문이 수행하는 작업이 분명하다고 확신합니다. 의심스러운 경우 sshd 매뉴얼 페이지를 확인하거나 Google에서 다음 단어를 검색하세요. 수많은 문서가 존재합니다.

마지막으로 구성 파일 편집이 끝나면 sshd를 다시 시작하는 것을 잊지 마세요.

답변4

RHEL 6.5는 SSSD를 지원합니다. 도메인/LDAP 정의 아래의 /etc/sssd/sssd.conf에서 액세스 필터를 설정할 수 있습니다.

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

그런 다음 sssd를 다시 시작하십시오.

service sssd restart

관련 정보