Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #U-37 crontab 설정파일 권한 설정 미흡

반응형

1. 항목 설명

cron과 at은 지정된 시간에 명령을 자동 실행합니다. 일반 사용자가 관리 명령이나 설정을 변경할 수 있으면 지속성 확보와 권한 상승에 악용될 수 있습니다.

판단 기준: 예약 작업 명령·설정 파일이 root 소유와 최소 권한으로 보호되고 허용 계정이 제한되면 양호입니다.

2026 가이드 근거

출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-37, pp.80-82. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.
출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-37, pp.80-82. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.
출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-37, pp.80-82. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

비인가 예약 작업 등록과 시스템 권한 명령 실행을 제한하는 것이 목적입니다.

3. 실습 환경

  • 원본 진단 환경: Ubuntu Server 24.04.2 LTS, Linux 6.8.0-53-generic
  • 설정 화면 확인 환경: Ubuntu Server 24.04.4 LTS, Linux 6.8.0-138-generic
  • 가상화 환경: VMware Workstation
  • 호스트 이름: u-lab
  • 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
  • 원본 진단 실행 ID: 20260903-094131
  • 증적 화면 캡처일: 2026-09-07
  • 화면 수집 방식: VMware Ubuntu VM 콘솔 직접 캡처

최초진단과 이행진단 이미지는 2026-09-03에 실제로 수집한 원본 결과를 VM 콘솔에서 열어 캡처했습니다. 화면의 원본 수집 날짜와 캡처 날짜를 구분했으며, 과거 결과를 현재 재진단 결과로 표시하지 않았습니다. 취약 상태 구성과 조치에는 격리된 관리 연결을 보조적으로 사용했습니다.

설정 확인 이미지는 캡처일의 VM에서 명령을 실행한 화면입니다. 실습 종료 후 임시 계정·공유를 제거하거나 서비스를 중지한 항목은 이행진단 당시 상태와 현재 정리 상태가 다를 수 있습니다.

4. 취약 상태 구성

crontab·at 명령을 일반 사용자가 실행할 수 있게 두고 cron.allow, at.allow 없이 기본 거부 파일만 존재하는 상태를 구성했습니다.

이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.

구성 방법

sudo chmod 2755 /usr/bin/crontab
sudo chmod 6755 /usr/bin/at
sudo rm -f /etc/cron.allow /etc/at.allow
sudo chmod 0644 /etc/crontab

구성 후 다음 명령으로 실제 상태를 확인했습니다.

sudo stat -c '%n owner=%U group=%G mode=%a' /usr/bin/crontab /usr/bin/at /etc/crontab /etc/cron.allow /etc/at.allow 2>/dev/null

5. 최초진단 결과

  • 판정: 취약
  • 원본 진단 판정 근거: 예약 명령의 타 사용자 실행 권한이 있고 root 전용 allow 목록이 없었습니다.

U-37 최초진단 현황 증적

6. 조치 방법

예약 명령을 root 소유 750으로 제한하고 root만 포함한 허용 목록과 관련 설정을 640으로 보호했습니다.

sudo chown root:root /usr/bin/crontab /usr/bin/at /etc/crontab
sudo chmod 0750 /usr/bin/crontab /usr/bin/at
printf 'root\n' | sudo tee /etc/cron.allow /etc/at.allow
sudo chown root:root /etc/cron.allow /etc/at.allow
sudo chmod 0640 /etc/crontab /etc/cron.allow /etc/at.allow

Linux 설정 확인 위치: cron·at 실행 파일, /etc/crontab, cron.allow와 at.allow

U-37 Linux 설정 확인 화면 증적

7. 이행진단 결과

  • 판정: 양호
  • 원본 진단 판정 근거: 실행 파일은 root:root 750, 설정과 allow 목록은 root:root 640이며 허용 계정은 root뿐이었습니다.

U-37 이행진단 현황 증적

8. 실무 주의사항

배포판 패키지 업데이트가 실행 파일 권한을 원래 값으로 되돌릴 수 있고, 과도한 제한은 정상 사용자 예약 작업을 중단시킬 수 있습니다.

컨설턴트 조언

  • 기존 사용자 crontab과 /etc/cron.*, systemd timer를 함께 목록화한 뒤 허용 계정을 결정합니다.
  • 심볼릭 링크와 ACL까지 확인해 단순한 ls -l 결과만으로 판정하지 않습니다.
  • 패키지 또는 서비스가 요구하는 소유자·권한 예외는 담당자와 근거, 종료일을 남깁니다.
  • 변경 전 원본을 보관하고 조치 후 관련 서비스의 문법 검사와 기능 시험을 수행합니다.

9. 마무리

이번 실습에서는 실제 최초·이행진단 기록과 VM 콘솔 캡처를 비교했습니다. 운영 환경에서도 변경 후 기능 시험과 정기 재점검을 함께 수행해야 합니다.

반응형