본문 바로가기

Hacking/[Infra] 인프라 취약점 점검

[UNIX] U-01 / root 원격 접속 제한

시스템 정책에 root 계정의 원격 터미널 접속 차단 설정이 되어있는지 점검한다.

 

판단 기준은 원격터미널 서비스를 사용하지 않거나 사용 시 root 직접 접속이 차단되어 있을 경우 양호로 판단한다.

 

솔라리스

점검 위치 : /etc/default/login

기본적으로 콘솔 장치는 /dev/console로 설정되어 있습니다. 이 설정을 사용하여 root가 콘솔에 로그인할 수 있습니다. root는 원격으로 로그인할 수 없습니다. 관련링크

 

리눅스

점검 위치 : /etc/pam.d/login, /etc/securetty

각각 pam_securetty.so나 pts 설정이 되어 있는지 확인한다.

 

AIX

점검 위치 : /etc/security/user

rlogin 값이 false로 되어 있는지 확인한다.

https://www.ibm.com/docs/en/aix/7.1?topic=files-user-file

HP-UX

점검 위치 : /etc/securetty

console 설정이 되어있는지 확인한다.

 

 

[ISSUE]

1. 우분투 20.04 LTS의 경우 /etc/securetty가 존재하지 않고 /etc/pam.d/login에도 관련 설정이 보이지 않는 경우가 있는데 

https://askubuntu.com/questions/1239503/ubuntu-20-04-and-20-10-etc-securetty-no-such-file-or-directory

 

Ubuntu 20.04 and 20.10, /etc/securetty: No such file or directory

Just updated to 20.04 final release, and I'm seeing these messages in /var/log/auth.log... May 14 06:29:52 Satellite-E55 gdm-password]: pam_unix(gdm-password:auth): Couldn't open /etc/securetty: No...

askubuntu.com

위 링크를 보면 샘플로 지정되어 있는 securetty를 /etc로 옮겨주면 된다고 한다.

 

2. 일반적으로 리눅스의 /etc/pam.d/login에서 auth required /lib/security/pam_securetty.so 설정으로 하라고 되어있으나

간혹 auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so 설정으로 되어 있는 경우가 있다. 이것은 고급 문법이 사용된 경우로, 단순히 required를 사용했을때와는 다른것이 하나 있는데 바로 user_unknown이다.

위 설정처럼 user_unknown을 사용했을 때 등록되지 않은 사용자는 ignore로 무시된다.

  • user_unknown: 유저가 인증모듈에 등록되지 않은 경우
  • success: 성공
  • ignore: 이 리턴값은 무시됨
  • default: 정확한 리턴값들이 없을 경우

또한, required는 [success=ok new_authtok_reqd=ok ignore=ignore default=bad] 와 동일한 문법이다.

* new_authtok_reqd: 인증 토큰이 유효하지 않은 경우

 

출처: https://itknowledge.tistory.com/32 [IT 지식노트]