작업 환경

  • VMware Workstation Pro (17.6.2 ver)
  • Server 
    • Rocky_Linux(8.10 ver) : NAT
U-65 (중) 3. 서비스 관리 > 3.29 at 서비스 권한 설정
취약점 개요
점검 내용관리자(root)만 at.allow파일과 at.deny 파일을 제어할 수 있는지 점검
점검 목적관리자외 at 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함
 보안 위협root 외 일반사용자에게도 at 명령어를 사용할 수 있도록 할 경우,
고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음
판단 기준

양호 : at 명령어 일반사용자 금지 및 at 관련 파일 640 이하인 경우
취약 : at 명령어 일반사용자 사용가능하거나, at 관련 파일 640 이상인 경우
참고at 데몬 (일회성 작업 예약): 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능을 제공함.
/etc/at.allow 파일에 등록된 사용자만이 at 명령을 사용할 수 있음
기반시설 시스템에서 at 데몬의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우
소유자 및 권한 설정 등의 보안 조치를 반드시 적용하여야 함

 

 

서비스 확인법

# at 명령어 허용 사용자
cat /etc/at.allow
# at 명령어 차단 사용자
cat /etc/at.deny

 

/etc/at 파일 확인

 
존재하지 않는 이유는 <참고> 확인
 

LINUX

1. 공통 설정

  • Step 1) at 명령어 일반사용자 권한 삭제( at 명령어는 SUID가 설정되어 있으므로 SUID 설정 제거)
    • ls -l /usr/bin/at
    • chmod 4750 /usr/bin/at
  • Step 2) cron 관련 설정파일 소유자 및 권한 설정
    • chown root <at 관련 파일>
    • chmod 640 <at 관련 파일>

 

2. 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 명령어 사용을 차단하는 사용자 등록)

 
 


참고

📌 at 이란?

  • 지정된 시점에 한 번만 명령을 실행하는 예약 시스템
  • 반복 X, 단발성 O
  • atd 데몬이 백그라운드에서 예약된 작업을 실행
  • 로그는 /var/log/at 또는 /var/log/maillog에서 확인 가능

 

사용법

at [시간]
at 17:00
  • 입력 후 명령어 입력 → Ctrl + D 로 저장

 

언제 사용할까?

  • 지금은 재부팅이 안 되지만, 1시간 후에 자동으로 재부팅해야 할 때
echo "reboot" | at now + 1 hour

 
 

왜 기본으로 없을까?

  • /etc/at.allow 나 /etc/at.deny 가 없으면 일반 사용자도 at 사용 가능
  • 파일이 존재할 대만 접근 제어 기능이 활성화 됨

 

작동 우선 순위

  1. /etc/at.allow → 존재하면 여기에 명시된 사용자만 사용 가능
  2. /etc/at.deny →  allow가 없고, deny 가 있으면 여기에 없는 사용자는 사용 가능
  3. 둘다 없음 → 모든 사용자가 at 명령 사용 가능