가. 취약점 개요
■ 내용 : 관리자(root)만 at.allow파일과 at.deny 파일을 제어할 수 있는지 점검
■ 목적 : 관리자외 at 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함
■ 보안 위협
- root 외 일반사용자에게도 at 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음
■ 참고
※ at 데몬 (일회성 작업 예약): 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능을 제공함. /etc/at.allow 파일에 등록된 사용자만이 at 명령을 사용할 수 있음
※ 기반시설 시스템에서 at 데몬의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해 야 하는 경우 소유자 및 권한 설정 등의 보안 조치를 반드시 적용하여야 함
나. 점검방법
■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
■ 판단기준
- 양호 : at 명령어 일반사용자 금지 및 at 관련 파일 640 이하인 경우
- 취약 : at 명령어 일반사용자 사용가능하거나, at 관련 파일 640 이상인 경우
■ 점검 명령어
OS 벌 점검 파일 위치 | ||
SOLARIS | /etc/cron.d/ | at.allow <- at 명령어 허용 사용자 at.deny <- at 명령어 차단 사용자 |
LINUX | /etc/ | |
AIX, HP-UX | /var/adm/cron/ | |
"cron" 접근제어 설정이 적절하지 않은 경우 아래의 보안 설정 방법에 따라 설정을 변경함 |
다. 조치방법
■ 조치방법 : crontab 명령어 750 이하, cron 관련 파일 소유자 및 권한 변경(소유자 root, 권한 640 이하)
■ 공통설정
Step 1) at 명령어 일반사용자 권한 삭제 (at 명령어 위치는 OS별 다를수 있음)
※ at 명령어는 SUID가 설정되어 있으므로 SUID 설정 제거
# ls -l /usr/bin/at
# chmod 4750 /usr/bin/at
Step 2) cron 관련 설정파일 소유자 및 권한 설정
# chown root <at 관련 파일>
# chmod 640 <at 관련 파일>
운영체제 | 관련 설정파일 위치 |
SOLARIS | /etc/cron.d/at.deny |
LINUX | /etc/at.deny |
AIX, HP-UX | /var/adm/cron/at.deny |
■ at 명령어를 일반사용자에게 허용하는 경우
Step 1) “/etc/cron.d/at.allow” 및 “/etc/cron.d/at.deny” 파일의 소유자 및 권한 변경
#chown root /etc/cron.d/at.allow
#chmod 640 /etc/cron.d/at.allow
#chown root /etc/cron.d/at.deny
#chmod 640 /etc/cron.d/at.deny
Step 2) “/etc/cron.d/at.allow” 및 “/etc/cron.d/at.deny” 파일에 사용자 등록
# cat /etc/at.allow (at 명령어 사용을 허용하는 사용자 등록)
# cat /etc/at.deny (at 명령어 사용을 차단하는 사용자 등록)
라. 조치시 영향
■ 일반적인 경우 영향 없음