본문 바로가기
취약점 진단/UNIX 취약점 진단

[UNIX] U-22 crond 파일 소유자 및 권한 설정

by 게으른 피글렛 2025. 1. 10.
반응형

U-22 crond 파일 소유자 및 권한 설정

항목중요도 : 상

1. 취약점 개요

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

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

 보안위협

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

 참고

※ Cron 시스템: 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기 위한 데몬 및 설정
※ cron.allow: 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 가능함
※ cron.deny: 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 불가능함

 

<<at 명령어와 차이점>>

at 명령어는 한 번만 실행되는 작업을 예약하는 데 사용

cron 명령어는 정기적으로 반복되는 작업을 예약하는 데 사용. 정해진 시간, 날짜, 요일 등 반복적  실행에 좋음

 

2. 점검대상 및 판단 기준

  대상 :  SOLARIS, Linux, AIX, HP-UX 등

  판단기준

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

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

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

 

3. LINUX 초기 설정값

※ 테스트한 LINUX의 버전은 VMWare에 구성한 Ubuntu 24.04.1 LTS 버전 입니다.

 

확인방법

1) Cron 관련 파일 권한 확인합니다.

$ ls -al /usr/bin/crontab

 

 

 현재 설정은 SUID 설정이 되어있고, 755로 되어있는 것을 확인 할 수 있습니다.

일반사용자 사용가능, 640 이상으로 설정 되어 있으므로 취약입니다.

 

그 외에도 cron으로 시작하는 파일이 있는지 확인 후 권한이 640 이상으로 설정되어있는지 확인합니다.

crontab <- 예약작업을 등록하는 파일
cron.hourly <- 시간단위 실행 스크립트 등록
cron.daily <- 일단위 실행 스크립트 등록
cron.weekly <- 주단위 실행 스크립트 등록
cron.monthly <- 월 단위 실행 스크립트 등록
cron.allow <- crontab 명령어 허용 사용자
cron.deny <- crontab 명령어 차단 사용자

 

 crontab -> 750 이하 설정

그외 cron 관련 파일은 640 이하 설정

 

4. 조치

조치를 해보겠습니다.

 

1) 755 -> 750 변경 (crontab은 750 이하, 그외 cron 파일은 640 이하)

2) SUID 설정 제거

ubuntu@ubuntu:~$ sudo chmod 750 /usr/bin/crontab
ubuntu@ubuntu:~$ ls -al /usr/bin/crontab
-rwxr-x--- 1 root crontab 39664 Mar 31  2024 /usr/bin/crontab

 

 750으로 권한을 변경했습니다.

 

 

 

5. 결과

변경하셨다면 양호입니다!

 

 

Linux를 마스터하는 그날까지

화이팅!

 

반응형