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

3.4. crond 파일 소유자 및 권한 설정 [U-22] (상) - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

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

가. 취약점 개요

    내용 : cron 관련 파일의 권한 적절성 점검

    목적 : 관리자외 cron 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함

    보안 위협

-      root 외 일반사용자에게도 crontab 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음

    참고 :

※ Cron 시스템: 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기 위한 데몬 및 설정

※ cron.allow: 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 가능함

※ cron.deny: 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 불가능함

 

나. 점검방법

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

    판단기준

-      양호 : crontab 명령어 일반사용자 금지 및 cron 관련 파일 640 이하인 경우

-      취약 : crontab 명령어 일반사용자 사용가능하거나, crond 관련 파일 640 이상인 경우

    점검 명령어

OS 점검 명령어
SOLARIS, LINUX, AIX, HP-UX cron 관련 파일 권한 확인
#ls -al /usr/bin/crontab
rw-r       root <cron 접근제어 파일>

 

OS 별 점검 파일 위치
SOLARIS /etc/cron.d/ crontab        <- 예약작업을 등록하는 파일
cron.hourly   <- 시간단위 실행 스크립트 등록
cron.daily      <- 일단위 실행 스크립트 등록
cron.weekly   <- 주단위 실행 스크립트 등록
cron.monthly <- 단위 실행 스크립트 등록
 cron.allow     <- crontab 명령어 허용 사용자
cron.deny   <- crontab 명령어 차단 사용자
LINUX /etc/
 
AIX, HP-UX
 
/var/adm/cron/
공통 /var/spool/cron/ 또는
/var/spool/cron/crontabs/
사용자별 설정된 cron 작업 목록
"cron" 접근제어 설정이 적절하지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함

 

다. 조치방법

    조치방법 : crontab 명령어 750 이하, cron 관련 파일 소유자 및 권한 변경(소유자 root, 권한 640 이하)

    공통설정

    Step 1) crontab 명령어 일반사용자 권한 삭제 (crontab 명령어 위치는 OS별 다를수 있음)

        ※ crontab 명령어는 SUID가 설정되어 있으므로 SUID 설정 제거

        # ls -l /usr/bin/crontab

        # chmod 750 /usr/bin/crontab

    Step 2) cron 관련 설정파일 소유자 및 권한 설정

        # chown root <cron 관련 파일>

        # chmod 640 <cron 관련 파일>

설정파일 설명
<cron 디렉터리>/crontab <- 예약작업을 등록하는 파일
/etc/cron.hourly, /etc/cron.daily, etc/cron.weekly, /etc/cron.monthly <- 시간,, , 단위 실행스크립트 등록
/var/spool/cron/ 또는
/var/spool/cron/crontabs/
<- 사용자별 설정된 cron 작업 목록
cron.allow, cron.deny <- crontab 명령어 허용(차단) 사용자 등록
운영체제 관련 설정파일 위치
SOLARIS /etc/cron.d/
LINUX /etc/
AIX, HP-UX /var/adm/cron/

     crontab 명령어를 일반사용자에게 허용하는 경우

    Step 1) /etc/cron.d/cron.allow” 및 “/etc/cron.d/cron.deny” 파일의 소유자 및 권한 변경

        #chown root /etc/cron.d/cron.allow

        #chmod 640 /etc/cron.d/cron.allow

        #chown root /etc/cron.d/cron.deny

        #chmod 640 /etc/cron.d/cron.deny

    Step 2) /etc/cron.d/cron.allow” 및 “/etc/cron.d/cron.deny” 파일에 사용자 등록

        # cat /etc/cron.allow   (crontab 명령어 사용을 허용하는 사용자 등록)

        # cat /etc/cron.deny (crontabl 명령어 사용을 차단하는 사용자 등록)

 

라. 조치시 영향

 ■    일반적인 경우 영향 없음