Security Practice Archive

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

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

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

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

약 1분

[인프라진단] #U-17 시스템 시작 파일 소유자 및 권한 설정

반응형

1. 항목 설명

부팅이나 서비스 시작 시 root 권한으로 실행되는 스크립트를 일반 사용자가 수정할 수 있으면 악성 명령을 삽입해 재부팅 시 관리자 권한을 획득할 수 있습니다.

판단 기준: 시스템 시작 스크립트의 소유자가 root이고 일반 사용자 쓰기 권한이 제거되면 양호, 그렇지 않으면 취약입니다.

2026 가이드 근거

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

2. 점검 목적

부팅·서비스 시작 경로의 파일을 비인가자가 변조하지 못하게 하여 지속성 확보와 root 명령 실행을 방지하는 것이 목적입니다.

3. 실습 환경

  • 운영체제: Ubuntu Server 24.04.2 LTS
  • 커널: Linux 6.8.0-53-generic
  • 가상화 환경: VMware Workstation
  • 호스트 이름: u-lab
  • 수집 방식: VMware Ubuntu VM 콘솔에서 진단 명령 실행 및 화면 캡처
  • 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
  • 실행 ID: 20260904-104904

취약 상태와 조치 상태의 반복 구성에는 격리된 Host-only 관리 연결을 보조적으로 사용했습니다. 단, 판단 명령과 결과는 Ubuntu VM 콘솔에서 직접 확인하고 VMware 콘솔 원본 화면으로 캡처했으며 외부 네트워크 경로는 두지 않았습니다.

4. 취약 상태 구성

실습 시작 스크립트 /etc/init.d/u17-lab을 만들고 소유자를 codex:codex, 권한을 777로 설정했습니다. 실제 서비스에는 등록하지 않았습니다.

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

구성 방법

sudo tee /etc/init.d/u17-lab <<'EOF'
#!/bin/sh
exit 0
EOF
sudo chown codex:codex /etc/init.d/u17-lab
sudo chmod 0777 /etc/init.d/u17-lab

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

stat -c '%n owner=%U group=%G mode=%a' /etc/init.d/u17-lab

5. 최초진단 결과

  • 판정: 취약
  • VM 콘솔 판정 근거: 실습 시작 파일이 codex:codex, 모드 777로 모든 사용자가 수정할 수 있었습니다.

U-17 최초진단 현황 증적

6. 조치 방법

소유자를 root:root, 권한을 755로 바꿔 일반 사용자 쓰기 권한을 제거했습니다. 이행 증적 수집 후 실습 파일은 삭제했습니다.

sudo chown root:root /etc/init.d/u17-lab
sudo chmod 0755 /etc/init.d/u17-lab
stat -c '%n owner=%U group=%G mode=%a' /etc/init.d/u17-lab

Linux 설정 확인 위치: /etc/init.d, systemd unit·drop-in·generator와 관련 상위 디렉터리

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

7. 이행진단 결과

  • 판정: 양호
  • VM 콘솔 판정 근거: 실습 시작 파일이 root:root, 모드 755로 변경되어 비-root 쓰기 권한이 제거되었습니다.

U-17 이행진단 현황 증적

8. 실무 주의사항

현대 Linux는 /etc/init.d 외에도 systemd unit, drop-in, generator와 환경 파일을 실행 경로로 사용합니다. 한 디렉터리만 점검하면 누락됩니다.

컨설턴트 조언

  • systemd unit과 drop-in, init 스크립트, rc 파일, generator, EnvironmentFile까지 범위를 확장합니다.
  • 파일뿐 아니라 상위 디렉터리와 심볼릭 링크 대상의 소유자·쓰기 권한도 확인합니다.
  • 패키지 관리 DB의 소유 파일과 해시를 대조해 비인가 변경 여부를 조사합니다.
  • 조치 후 서비스 재기동과 다음 유지보수 재부팅을 시험하고 실패 시 롤백 절차를 준비합니다.

9. 마무리

시스템 시작 경로는 root 소유와 비-root 쓰기 차단을 유지하고 systemd 전체 경로까지 점검해야 합니다.

반응형