주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/UNIX 서버 진단

3.3. r 계열 서비스 비활성화 [U-21] (상) - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 3. 16:03

가. 취약점 개요

    내용 : r-command 서비스 비활성화 여부 점검

    목적 : r-command 사용을 통한 원격 접속은 NET Backup 또는 클러스터링 등 용 도로 사용되기도 하나, 인증 없이 관리자 원격접속이 가능하여 이에 대한 보 안위협을 방지하고자 함

    보안 위협

-      rsh, rlogin, rexec 등의 r command를 이용하여 원격에서 인증절차 없이 터 미널 접속, 쉘 명령어를 실행이 가능함

    참고

※ Finger(사용자 정보 확인 서비스): who 명령어가 현재 사용 중인 사용자들에 대한 간단한 정보만을 보여주는 데 반해 finger 명령은 옵션에 따른 시스템에 등록된 사용자뿐 만 아니라 네트워크를 통하여 연결되어 있는 다른 시스템에 등록된 사용자들에 대한 자세한 정보를 보여줌

 

나. 점검방법

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

    판단기준

-      양호 : 불필요한 r 계열 서비스가 비활성화 되어 있는 경우

-      취약 : 불필요한 r 계열 서비스가 활성화 되어 있는 경우

    점검 명령어

OS 점검 파일
-      SOLARIS 5.9
이하 버전
r-command 서비스 활성화 여부 확인
#vi /etc/inetd.conf
 
AIX
#cat /etc/inetd.conf | grep rlogin  (# 처리되어 있으면 비활성화)
#cat /etc/inetd.conf | grep rsh    (# 처리되어 있으면 비활성화)
-      HP-UX #vi /etc/inetd.conf
r 시작하는 필드 존재 취약
SOLARIS 5.10
-      이상 버전
#inetadm | egrep "shell|rlogin|rexec"
r command 관련 데몬 확인
LINUX
(xinetd 일 경우)
rsh, rlogin, rexec (shell, login, exec) 서비스 구동 확인
#ls -alL /etc/xinetd.d/* | egrep "rsh|rlogin|rexec" | egrep -v "grep|klogin|kshell|kexec"
위에 제시된 파일 "r-command 계열서비스가 활성화 경우 아래의 보안설정 방법에
따라 서비스 중지

 

다. 조치방법

    조치방법 : NET Backup등 특별한 용도로 사용하지 않는다면 아래의 서비스 중지

    shell(514), login(513), exec(512)

    SOLARIS 5.9 이하, HP-UX

    Step 1) r 계열 서비스 활성화 여부 확인

        # vi /etc/inetd.conf

    Step 2) r로 시작하는 필드 주석처리 후 재가동

        (수정 전)

        shell        stream    tcp         nowait    root        /usr/sbin/in.rshd     in.rshd

        shell        stream    tcp6        nowait    root        /usr/sbin/in.rshd     in.rshd

        login        stream    tcp         nowait    root        /usr/sbin/in.rlogin.d in.rlogind

        exec        stream    tcp         nowait    root        /usr/sbin/in.rexecd  in.rexecd

        exec        stream    tcp6        nowait    root        /usr/sbin/in.rexecd  in.rexecd

 

        (수정 후)

        #shell       stream    tcp         nowait    root        /usr/sbin/in.rshd     in.rshd

        #shell       stream    tcp         nowait    root        /usr/sbin/in.rshd     in.rshd

        #shell       stream    tcp6        nowait    root        /usr/sbin/in.rshd     in.rshd

        #login      stream    tcp6        nowait    root        /usr/sbin/in.rlogind in.rlogind

        #exec       stream    tcp         nowait    root        /usr/sbin/in.rexecd  in.rexecd

        #exec       stream    tcp6     nowait   root     /usr/sbin/in.rexecd    in.rexecd

 

    SOLARIS) # kill -HUP [inetd PID]

    HP-UX) # inetd -c

 

 

    AIX

    Step 1) r 계열 서비스 활성화 여부 확인

        #cat /etc/inetd.conf |grep rlogin (# 처리 되어 있으면 비활성화)

        #cat /etc/inetd.conf |grep rsh (# 처리 되어 있으면 비활성화)

        #cat /etc/inetd.conf |grep exec (# 처리 되어 있으면 비활성화)

    Step 2) /etc/hosts.equiv 파일은 TRUSTED 시스템을 등록

    Step 3) .rhosts 파일은 사용자 별로 'r'command를 통해 접근이 가능하도록 설정할 수 있음 ($HOME/.rhosts)

 

    SOLARIS 5.10 이상 버전

    Step 1) r’command 관련 데몬 확인    

svc:/network/login:rlogin
svc:/network/rexec:default
svc:/network/shell:kshell

    Step 2) inetadm –d “중지하고자 하는 데몬명령으로 데몬 중지

        #inetadm -d svc:/network/login:rlogin

        #inetadm -d svc:/network/rexec:default

        #inetadm -d svc:/network/shell:kshell

 

    LINUX (xinetd일 경우)

    Step 1) vi 편집기를 이용하여 “/etc/xinetd.d/” 디렉터리 내 rlogin, rsh, rexec 파일 열기

    Step 2) 아래와 같이 설정 (Disable = yes 설정)

/etc/xinetd.d/rlogin 파일
/etc/xinetd.d/rsh 파일
/etc/xinetd.d/rexec 파일
 
service          rlogin
{
socket_type             = stream
wait                  = no
user                  = nobody
log_on_success        += USERID
log_on_failure          += USERID
server                = /usr/sdin/in.fingerd
disable               = yes
}

 

    Step 3) xinetd 서비스 재시작

        #service xinetd restart

    r-command 사용시 보안설정(U-17 점검항목 참고)

    Step 1) r command 사용을 허용하는 호스트 및 계정 설정

        .rhosts, hosts.equiv 파일에 접근을 허용하는 hostname(IP) 명시

    ※ IP 등록시 공인 IP 설정은 금지

    .rhosts, hosts.equiv 파일의 퍼미션을 600 이하로 설정

    필요시 TCP_Wrapper를 이용하여 접근을 허용하는 IP를 등록하여 추가 보안 설정

 

라. 조치시 영향

    rlogin, rshell, rexec 서비스는 backup, 클러스터링 등의 용도로 종종 사용되고 있으므로 해당 서비스 사용 유무를 확인하여 미사용시 서비스 중지

(/etc/hosts.equiv 또는 디렉터리 밑에 있는 .rhosts 파일에 설정 유무를 확인하여 해당 서비스 사용여부 확인 - 파일이 존재하지 않거나 해당파일 내에 설정이 없다면 사용하지 않는 것으로 파악)