SSH 액세스를 허용하지만 특정 IP 세트에 대한 루트 액세스를 제한합니다.

SSH 액세스를 허용하지만 특정 IP 세트에 대한 루트 액세스를 제한합니다.

모든 사용자가 SSH를 정상적으로 사용하도록 허용하고 싶습니다.와는 별개로IP 주소 집합을 기반으로 루트 액세스를 제한하고 싶습니다. 따라서 사용자 은 peter( 는 paul) lary어디에서나 로그인할 수 있지만 root호스트 a.b.c.d및 에서만 로그인할 수 있습니다 q.r.s.t.

  • sshd_configAllowUsers이 작업에는 작동하지 않습니다. 무엇이든 지정하려면 모든 사용자를 지정해야 합니다.
  • 매뉴얼 페이지에서 제안하는 방식과 달리 AllowGroups사용자가 화이트리스트에 등록되어 있어도 무조건 확인됩니다 AllowUsers. 따라서 루트가 아닌 사용자를 그룹에 추가한 다음 해당 그룹을 화이트리스트에 추가하려고 하면 AllowGroups인증이 여전히 실패합니다. 루트가 유효한 허용 그룹에 속하지 않기 때문입니다.
  • sshd_configDenyUsers거부될 루트 IP 주소 집합을 화이트리스트에 추가할 수 있다면 이 방법이 효과가 있을 수 있습니다. IP가 하나만 있다면 아마도 !통신사와 작동할 것입니다.
  • optionsauthenticated_keys 파일의 키 섹션을 사용하여 이 작업을 수행할 수 있습니다.그리고루트 비밀번호를 완전히 비활성화합니다. 문제는 파일이 시스템 정책이 아니며 다른(루트 액세스) 사용자가 덮어쓸 수 있다는 것입니다. 현재로서는 이것이 내가 가진 최선의 선택이지만 마음에 들지 않습니다. 또한, 내가 루트 비밀번호를 어기면 내 그룹의 누군가가 나에게 정말 화를 낼 것입니다. (내가 루트 비밀번호를 변경하지 않으면 다른 사람이 임의의 IP 비밀번호를 사용하여 루트를 통해 로그인할 수 있습니다.)
  • 나는 PAM을 사용하여, 특히 를 통해 이 작업을 시도했지만 pam_listfile내 접근 방식이 전혀 작동하지 않는 것 같습니다.

    auth       required     pam_sepermit.so
    auth       required     pam_listfile.so file=/etc/root-whitelist.txt sense=allow item=rhost apply=root
    auth       include      password-auth
    

    허용된 IP 주소는 파일 내에 root-whitelist.txt한 줄씩 표시됩니다 . 규칙을 알 수가 없어요부정적인목록에 없는 IP 액세스.

pam_listfile방법을 사용할 수 있습니까? 제가 착각한 것인가요? 더 좋은 방법이 있나요?

답변1

내 동료는 나에게 /u/meuh와 같은 방향을 지시했지만 약간 다른 방식으로 지시했습니다.

Match Address "172.24.*.33"
  PermitRootLogin yes
Match Address "192.168.1.18,192.168.1.20"
  PermitRootLogin yes

답변2

SSH 버전에 따라 AllowUsers에 대한 일치 기준을 설정할 수 있습니다. man sshd_config"일치"에서 허용되는 명령을 나열합니다. AllowUsers가 있으면 다음을 시도해 볼 수 있습니다. 파일 끝에 있는지 확인하세요.

Match User root
 AllowUsers root@ a.b.c.d [email protected]

예를 들어 OpenSSH_6.0p1 Debian에서는 작동하지 않지만 OpenSSH_6.6.1p1 Ubuntu에서는 작동합니다.

답변3

다른 동료가 나에게 방향을 가리켰다.pam_access기준 치수. 이는 일반적으로 에 있는 형식을 사용 /etc/security/access.conf하지만 모든 파일을 전체 시스템 또는 sshd 프로세스에 대해 활성화할 수 있습니다. 아직 시도하지는 않았지만 아마도 pam_access를 에 추가하면 파일 auth이 다음과 같이 보일 것입니다./etc/pam.d/sshdaccess.conf

+ : root : hosta hostb hostx
- : root : ALL

관련 정보