콘텐츠로 이동

U-01: root 계정 원격 접속 제한

분류: 01_unix

중요도: 상


UNIX > 1. 계정 관리

개요

점검 내용

시스템 정책에 root 계정의 원격터미널 접속 차단 설정이 적용 여부 점검

점검 목적

관리자 계정 탈취로 인한 시스템 장악을 방지하기 위해 외부 비인가자의 root 계정 접근 시도를 원천적으로 차단하기 위함

보안 위협

root 계정은 운영체제의 모든 기능을 설정 및 변경이 가능하여(프로세스, 커널 변경 등) root 계정을 탈취하여 외부에서 원격을 이용한 시스템 장악 및 각종 공격으로(무차별 대입 공격, 사전 대입 공격 등) 인한 root 계정 사용 불가 위험이 존재함

참고

root 계정

여러 사용자가 사용하는 컴퓨터에서 모든 기능을 관리할 수 있는 총괄 권한을 가진 유일한 특별 계정. 유닉스 시스템의 루트(root)는 시스템 관리자인 운용 관리자(Super User)로서 윈도우의 Administrator보다 높은 System 계정에 해당하며, 사용자 계정을 생성하거나 소프트웨어를 설치하고, 환경 및 설정을 변경하거나 시스템의 동작을 감시 및 제어할 수 있음

무차별 대입 공격(Brute Force Attack)

특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 공격 방법

사전 대입 공격(Dictionary Attack)

사전에 있는 단어를 입력하여 암호를 알아내거나 암호를 해독하는 데 사용되는 컴퓨터 공격 방법

tty(terminal-teletype)

서버와 연결된 모니터, 키보드 등을 통해 사용자가 콘솔로 직접 로그인함

pts(pseudo-terminal)

가상터미널을 뜻하며, Telnet, SSH 등을 이용하여 접속함

점검 대상 및 판단 기준

대상

SOLARIS, LINUX, AIX, HP-UX 등

판단 기준

✅ 양호: 원격터미널 서비스를 사용하지 않거나, 사용 시 root 직접 접속을 차단한 경우

❌ 취약: 원격터미널 서비스 사용 시 root 직접 접속을 허용한 경우

조치 방법

원격 접속 시 root 계정으로 접속할 수 없도록 파일 내용 설정

조치 시 영향

일반적인 경우 영향 없음

점검 및 조치 사례

SOLARIS

Telnet

  1. /etc/default/login 파일 내에 CONSOLE 설정값 수정
    CONSOLE=/dev/console
    

SSH

  1. /etc/ssh/sshd_config 파일 내의 PermitRootLogin 설정값 수정
    PermitRootLogin No
    

LINUX

Telnet

  1. /etc/pam.d/login 파일내에 다음 항목 입력
    auth required /lib/security/pam_securetty.so
    
  2. /etc/securetty 파일 내에 pts/ 설정값 주석 처리 및 제거

    #pts/0 #pts/1 #pts/2
    

  3. /etc/pam.d/login 파일 내에 모듈 추가

    auth required /lib/security/pam_securetty.so
    

/etc/securetty 파일 내 pts/x 관련 설정이 존재하는 경우 PAM 모듈 설정과 관계없이 root 계정 접속을 허용하므로 반드시 제거 필요

CentOS 8, Ubuntu 20.04 이상부터 /etc/securetty 파일이 존재하지 않으며 기본적으로 Telnet 서비스가 비활성 화됨

SSH

  1. /etc/ssh/sshd_config 파일에 PermitRootLogin 값 수정
    PermitRootLogin No
    

AIX

Telnet

  1. /etc/security/user 파일에 rlogin 설정값 수정
    rlogin = false
    

SSH

  1. /etc/ssh/sshd_config 파일에 PermitRootLogin 값 수정
    PermitRootLogin No
    

HP-UX

Telnet

  1. /etc/securetty 파일 내에 console 값 수정
    console
    

/etc/securetty 파일은 기본적으로 존재하지 않으므로 해당 파일이 존재하지 않는 경우 생성 후 설정할 것

SSH

  1. /opt/ssh/etc/sshd_config 파일 내에 PermitRootLogin 값 수정
PermitRootLogin No