본문 바로가기
인프라/운영체제

리눅스(LINUX) crontab 사용법 및 cron.allow & cron.deny 접근제어 설정

by 보안의신 2023. 4. 21.
반응형

cron

 

CRON

리눅스에서 CRON은 정기적인 스케줄 관리 기법이다.

CROND 데몬이 정해진 작업을 지정 시간에 주기적으로 실행시켜 준다.

 

이러한 설정은 CRONTAB 명령어로 제어가 가능하다.

 

crontab [option]

옵션 값

- r : crontab에 등록 된 작업을 모두 삭제

-l : crontab에 등록 된 작업 리스트 출력

-e : crontab에 새로운 작업을 추가

 

 

crontab -e

cron

 

6개 필드 설명

구분 의미 사용법
필드1 분은 0~59 까지의 숫자로 작성
필드2 시간 시는 0~23 까지의 숫자로 작성
필드3 일은 1~31 까지의 숫자로 작성
필드4 월은 1~12 까지의 숫자로 작성
필드5 요일 요일은 0~6까지의 숫자로 작성
0 : 일요일, 1 : 월요일, 2 : 화요일,
 3 : 수요일, 4 : 목요일 5 : 금요일,
 6 : 토요일
필드6 명령어 명령어는 "절대 경로" 로 작성하고
인수 및 옵션도 함께 작성 가능

 

/ 간격 값

- 범위 지정

, 값 구분

원하는 시간을 더 세부적으로 작성 할 수 있다.

 

예시)

0 2-4 * * * 명령어 // 새벽 2,3,4시에 명령어 실행
0 1,3,5 * * * 명령어 // 새벽 1시 3시 5시에 명령어 실행
*/5 * * * * 명령어 // 매 5분마다 명령어 실행

 

 

보안적인 관점으로

crontab 명령어를 통해 공격자가

악의적인 프로그램을 실행할 수 있으므로 주기적인 crontab 점검은 필요하다.

 

주기적인 작업 목록 검토 및 접근제어 설정이 중요하다.

 

 

crontab 접근제어 설정 파일

1) cron.allow

2) cron.deny
  

권고하는 파일 접근 권한은 '640'이다.

 

 

 

<cron.allow & cron.deny 파일이 둘다 없는 경우>

- root 계정만 crontab 명령어 사용 가능 (일반계정 사용 불가)

 

<cron.allow 파일만 존재하는 경우>

- cron.allow에 등록 된 계정만 사용 가능

 

<cron.deny 파일만 존재하는 경우>

- cron.deny에 등록된 계정을 제외하고 모든 계정 사용 가능

 

<cron.allow & cron.deny 파일 둘다 존재하는 경우>

- cron.allow 파일이 우선순위가 높으므로 cron.allow파일만 존재하는 경우와 같다.

 

 

**

root 계정은 위의 파일과 무관하게 crontab 명령어 사용 가능.
테스트 시 cron.deny 파일에 root 계정을 등록해도 사용이 가능하다.

반응형

댓글