Security Practice Archive

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

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

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

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

약 1분

[인프라진단] #U-63 sudo 명령어 접근 관리

반응형

1. 항목 설명

sudo 정책은 일반 계정이 어떤 관리자 명령을 실행할지 결정합니다. 설정 파일을 일반 사용자가 수정할 수 있으면 임의로 root 권한을 획득할 수 있습니다.

판단 기준: 가이드는 /etc/sudoers 파일의 root 소유와 640 권한을 양호 기준으로 제시합니다. 드롭인 파일 권한과 문법 검사는 정책 우회를 놓치지 않기 위한 추가 점검입니다. 운영체제 기본값인 더 엄격한 권한을 불필요하게 완화하지 않습니다.

2026 가이드 근거

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

2. 점검 목적

권한 상승 정책의 무단 변경을 막고 승인된 관리자만 sudo 권한을 관리하게 하는 것이 목적입니다.

3. 실습 환경

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

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

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

4. 취약 상태 구성

별도로 확보한 root 세션 안에서 /etc/sudoers를 일반 계정 소유 666으로 바꿨다가 복구했습니다. 파일 소유자가 바뀌는 즉시 일반 계정의 sudo가 거부될 수 있으므로 명령마다 sudo를 다시 붙여 실행하면 복구 단계에 도달하지 못할 수 있습니다.

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

구성 방법

# 격리 실습 VM의 정상 상태에서 먼저 root 세션 확보
sudo -i
# 이후 명령은 이 root 세션 안에서만 실행
chown codex:codex /etc/sudoers
chmod 0666 /etc/sudoers

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

# 앞에서 확보한 root 세션 유지
stat -c 'owner=%U group=%G mode=%a path=%n' /etc/sudoers

5. 최초진단 결과

  • 원본 진단 판정: 취약
  • 원본 진단 판정 근거: /etc/sudoers가 codex:codex 666으로 확인됐습니다.

U-63 최초진단 현황 증적

6. 조치 방법

유지 중인 root 세션에서 파일을 root:root 640으로 복구하고 visudo -cf 문법 검사를 수행했습니다. 아래 마지막 두 명령은 운영 반영 시 별도 일반 계정 세션에서 추가 수행할 확인 절차이며, 첨부 원본은 소유자·권한과 문법 검사까지 증명합니다.

# 유지 중인 root 세션에서 복구
chown root:root /etc/sudoers
chmod 0640 /etc/sudoers
visudo -cf /etc/sudoers
# 복구 성공 후 별도 일반 계정 세션에서 확인
sudo -k
sudo -v

Linux 설정 확인 위치: /etc/sudoers와 /etc/sudoers.d의 소유자·권한·문법

현재 화면은 sudoers와 드롭인 파일의 소유자·권한 및 문법을 읽기 전용으로 확인합니다. visudo -cf /etc/sudoers의 문법 검사와 달리, 파일을 지정하지 않은 visudo -c는 기본 소유자·권한도 검사합니다. 이 Ubuntu VM에서는 가이드 실습값 640에 대해 기대값 0440 경고가 실제 표시되며 이를 숨기지 않았습니다. 운영에서는 배포판의 더 엄격한 0440을 유지하고 문법 검사뿐 아니라 기본 권한 검사와 실제 sudo 동작까지 확인해야 합니다. Sudo 공식 visudo 설명

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

7. 이행진단 결과

  • 원본 진단 판정: 양호
  • 원본 진단 판정 근거: root:root 640과 visudo 문법 검사 통과를 확인했습니다.

이 양호는 원본의 가이드 기준 비교 결과입니다. 현재 visudo -c의 0440 기대값 경고까지 해소한 결과가 아닙니다. Ubuntu 운영 적용 시에는 승인된 root 세션에서 chmod 0440 /etc/sudoers 후 visudo -c로 배포판 권한 검사를 통과시키는 절차를 추가합니다. 이번 화면 수집에서는 과거 실습 상태를 바꾸지 않았습니다.

U-63 이행진단 현황 증적

8. 실무 주의사항

원격에서 sudoers를 잘못 수정하면 관리 권한을 잃을 수 있습니다. 항상 visudo를 사용하고 별도 root 콘솔 또는 기존 sudo 세션을 유지해야 합니다.

컨설턴트 조언

  • NOPASSWD, 와일드카드 명령, 편집기·셸 실행 가능 명령을 검토해 최소 명령과 개인별 관리 계정만 허용합니다.
  • 심볼릭 링크와 ACL까지 확인해 단순한 ls -l 결과만으로 판정하지 않습니다.
  • 패키지 또는 서비스가 요구하는 소유자·권한 예외는 담당자와 근거, 종료일을 남깁니다.
  • 변경 전 원본을 보관하고 조치 후 관련 서비스의 문법 검사와 기능 시험을 수행합니다.

9. 마무리

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

반응형