본문 바로가기

Infra/리눅스 서버

[리눅스 보안] 서버 관리 - r 계열 서비스 비활성화

[리눅스 보안] 서버 관리 - r 계열 서비스 비활성화



■ 대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - *'r' command 사용을 통한 원격 접속은 *NET Backup이나 다른 용도로 사용되기도 하나, 보안상 매우 취약하여 서비스 포트가 열려있는 경우 중요 정보 유출 및 시스템 장애 발생 등 침해사고의 위험이 있음

    * 'r' command : 인증 없이 관리자의 원격접속을 가능하게 하는 명령어들로 rsh(remsh), rlogin, rexec 등이 있음

    * NET Backup : 이기종 운영체제 간 백업을 지원하는 Symantec 사의 백업 및 복구 툴을 말함


■ 보안대책

    - 양호 : r 계열 서비스가 비활성화 되어 잇는 경우

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


■ 조치방법

    - NET Backup등 특별한 용도로 사용하지 않는다면 아래의 서비스 중지


■ 보안설정 방법

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

        - SunOS

          r' command 서비스 활성화 여부 확인

          #svcs -a | grep rlogin

        - AIX

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

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

        - HP-UX

          #vi /etc/inetd.conf

          r로 시작하는 필드 존재 시 취약

        - SunOs 5.10 이상 버전

          #inetadm | egrep "shell | rlogin| rexec"

          'rcommand 관련 데몬 확인

        - Linux (xinetd일 경우)

          rsh, rlogin, rexec (shell, login, exec) 서비스 구동 확인

          #ls -alL /etc/xinetd.d/* | egrep "rsh | rlogin | rexec" | grep -v "grep | klogin | kshell | kexec"


    ※ 위에 제시된 파일 내 "r 계열" 서비스가 활성화된 경우 아래의 보안설정 방법에 따라 서비스 중지


■ SunOS

    1. r 계열 서비스 활성화 여부 확인 후 비활성화 조치

       #svcs -a | grep rlogin

       #svcadm disable svc:/network/login:rlogin


■ AIX

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

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

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

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

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


■ HP-UX

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

       #vi /etc/inetd.conf

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

       #inetd -c


■ SunOS 5.10 이상 버전

    1. r'command 관련 데몬 확인

       - svc:/network/login:rlogin

       - svc:/network/rexec:default

       - svc:/network/shell:kshell

    2. inetadm -d "중지하고자 하는 데몬" 명령으로 데몬 중지

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

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

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


■ Linux (xinetd 경우)

    1. vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉토리 내 rlogin, rsh, rexec 파일을 연 후

    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/sbin/in.fingerd

disable               = yes

}


    3. xinetd 서비스 재시작

       #service xinetd restart


■ 조치 시 영향

    - rlogin, rshell, rexec 서비스는 backup 등의 용도로 종종 사용되며 /etc/hosts.equiv 또는, 각 홈 디렉토리 밑에 있는 .hosts 파일에 설정 유무를 확인하여 해당 파일이 존재하지 않거나 해당 파일 내에 설정이 없다면 사용하지 않는 것으로 파악




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기