[UNIX] cron 권한 설정 (cron.allow & cron.deny)

.·2022년 5월 4일
0

기본적으로 사용자 cron 은 시스템을 설치하면 모든 일반 사용자가 사용자 크론을 사용할 수 있도록 기본값은 열려있지만 보안상 사용자 크론을 막는다면 아래 /etc/cron.allow, /etc/cron.deny 파일을 생성해서 조작해야 한다.

우선순위 : cron.allow >> cron.deny

" [SRV-133] cron 파일 내 계정 미존재 " 항목의 기준을 판단해보자



1. cron.allow(O) == 양호

(cron.allow 파일이 존재할 때)

: allow 에서 허용한 계정만 허용하게 되므로, deny 파일이 있든없든 모든 일반 사용자에게 허용된 것이 아니라 최소한의 일부 사용자에게 열어둔 것이므로 양호하다.

ex1-1. allow O (계정 O) + deny O (계정 O)

① cron.allow 파일 확인
(/etc/cron.allow)
USER1
USER2

② cron.deny 파일 확인
(/etc/cron.deny)
USER3
USER4

: USER1과 USER2는 허용. USER3과 USER4는 비허용.


ex1-2.allow O (계정 X) + deny O (계정 O)

① cron.allow 파일 확인
(/etc/cron.allow)
계정이 없습니다.

② cron.deny 파일 확인
(/etc/cron.deny)
USER3
USER4
: 모든 사용자 비허용.


2. cron.allow(X) & cron.deny(O) + 계정 X == 취약

(cron.allow 파일이 존재하지않으며 cron.deny 파일이 존재하나 파일 내 계정이 존재하지않을 경우)
: 모든 사용자에게 허용이며, deny 파일에서 비허용한 계정도 없으므로 결과적으로 모든 사용자에게 허용인 상황. 고로 취약이다.

ex2-1. allow X + deny O (계정 O) == 양호

① cron.allow 파일 확인

(/etc/cron.allow)
파일이 없습니다.

② cron.deny 파일 확인

(/etc/cron.deny)
USER3
USER4

: 이 경우에는 USER3, USER4 제외 모든 사용자 허용. IP 처럼 모든 대역대를 다 하나하나 알수 없는 경우에는 이와같은 경우에 취약을 주겠지만, 보통 사용자 계정은 관리자가 파악할 수 있는 정도인 경우가 많기 때문에, 몇개의 계정만 비허용해두고 나머지를 허용하는 이 경우에는 양호라고 판단한다.


3. cron.allow(X) & cron.deny(X) == 양호

(cron.allow 파일이 존재하지않으며 cron.deny 파일 또한 존재하지않음)
: 이 경우에는 root만 접근이 가능하므로 양호.

0개의 댓글