[Unix 서버] root 계정 원격접속 제한

 

 

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

 

■ 항목 중요도 :

 

■ 점검내용

 

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

 

■ 점검목적

 

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

 

■ 보안위협

 

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

 

■ 참고

 

※ root 계정

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


※ 무작위 대입 공격(Brute Force Attack)

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


※ 사전 대입 공격(Dictionary Attack)

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

 

 

점검대상 및 판단기준

 

■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등

 

양호

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

 

취약

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

 

■ 조치방법

 

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

 

 

점검 방법

 

■ OS별 점검 파일 위치 및 점검 방법

 

SOLARIS

[Telnet]
#cat /etc/default/login
CONSOLE=/dev/console

[SSH]
#cat /etc/ssh/sshd_config
PermitRootLogin no

 

LINUX

[Telnet]
#cat /etc/pam.d/login
auth required /lib/security/pam_securetty.so
#cat /etc/securetty
pts/0 ~ pts/x 관련 설정이 존재하지 않음

[SSH]
#cat /etc/sshd_config
PermitRootLogin no

 

AIX

[Telnet]
#cat /etc/security/user
rlogin = false

[SSH]
#cat /etc/sshd_config
PermitRootLogin no

 

HP-UX

[Telnet]
#cat /etc/securetty
console

[SSH]
#cat /etc/sshd_config
PermitRootLogin no

위에 제시한 내용으로 설정되어 있을 경우 root 원격 접속이 차단됨

내용 설정에 대해서는 아래의 보안설정방법을 참고함

 

■ SOLARIS


[Telnet 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/default/login” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입
(수정 전) #CONSOLE=/dev/console
(수정 후) CONSOLE=/dev/console


[SSH 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/ssh/sshd_config” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입
(수정 전) #PermitRootLogin Yes
(수정 후) PermitRootLogin No

 

■ LINUX


[Telnet 서비스 사용시]
Step 1) “/etc/securetty” 파일에서 pts/0 ~ pts/x 설정 제거 또는, 주석 처리
Step 2) “/etc/pam.d/login” 파일 수정 또는, 신규 삽입

(수정 전) #auth required /lib/security/pam_securetty.so
(수정 후) auth required /lib/security/pam_securetty.so

 

※ /etc/securetty : Telnet 접속 시 root 접근 제한 설정 파일
“/etc/securetty” 파일 내 *pts/x 관련 설정이 존재하는 경우 PAM 모듈 설정과 관계없이 root계정 접속을 허용하므로 

반드시 "securetty" 파일에서 pts/x 관련 설정 제거 필요

 

tty(terminal-teletype) : 서버와 연결된 모니터, 키보드 등을 통해 사용자가 콘솔로 직접 로그인함
pts(pseudo-terminal, 가상터미널) : Telnet, SSH, 터미널 등을 이용하여 접속함


[SSH 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/ssh/sshd_config” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입
(수정 전) #PermitRootLogin Yes
(수정 후) PermitRootLogin No

 

■ AIX


[Telnet 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/security/user” 파일 열기
Step 2) rlogin 설정을 아래와 같이 수정 또는, 신규 삽입 (root 설정에 해당되는 부분 수정)
(수정 전) rlogin = true
(수정 후) rlogin = false


rlogin(remote-login): 자주 접속하는 호스트에 대해 자동으로 원격 접속을 할 수 있도록 사용하는 명령어


[SSH 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/ssh/sshd_config” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입
(수정 전) #PermitRootLogin Yes
(수정 후) PermitRootLogin No


■ HP-UX


[Telnet 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/securetty” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입

(수정 전) #console
(수정 후) console


※ “/etc/securetty” 파일은 디폴트로 존재하지 않으므로

/etc 디렉터리 내에 "securetty" 파일이 존재하지 않는 경우 새로 생성한 후 적용함
#vi /etc/securetty


[SSH 서비스 사용시]
Step 1) vi 편집기를 이용하여 “/etc/ssh/sshd_config” 파일 열기
Step 2) 아래와 같이 주석 제거 또는, 신규 삽입
(수정 전) #PermitRootLogin Yes
(수정 후) PermitRootLogin No

 

조치 시 영향 : 일반적인 경우 영향 없음

 

댓글

Designed by JB FACTORY