작업 환경

  • VMware Workstation Pro (17.6.2 ver)
  • Server 
    • Rocky_Linux(8.10 ver) : NAT
U-51 (하) 1. 계정관리 > 1.12 계정이 존재하지 않는 GID 금지
취약점 개요
점검 내용그룹(예 /etc/group) 설정 파일에 불필요한 그룹(계정이 존재하지 않고 시스템 관리나 운용에 사용되지 않는 그룹,
계정이 존재하고 시스템 관리나 운용에 사용되지 않는 그룹 등)이 존재하는지 점검
점검 목적시스템에 불필요한 그룹이 존재하는지 점검하여 불필요한 그룹의 소유권으로 설정되어 있는 파일의
노출에 의해 발생할 수 있는 위험에 대한 대비가 되어 있는지 확인하기 위함
 보안 위협계정이 존재하지 않는 그룹은 현재 사용되고 있는 그룹이 아닌 불필요한 그룹으로 삭제 조치가 필요함.
판단 기준

양호 : 시스템 관리나 운용에 불필요한 그룹이 삭제 되어있는 경우
취약 : 시스템 관리나 운용에 불필요한 그룹이 존재할 경우
참고GID(Group Identification): 다수의 사용자가 특정 개체를 공유할 수 있게 연계시키는 특정 그룹의 이름으로
주로 계정처리 목적으로 사용되며, 한 사용자는 여러 개의 GID 를 가질 수 있음.

 

 
서비스 확인법

cat /etc/group
cat /etc/passwd
cat /etc/gshadow

 
 

LINUX

  • Step 1) 불필요한 그룹 계정 삭제
    • groupdel <group_name>

※ 해당 그룹 삭제시 그룹권한으로 존재하는 파일이 존재하는지 확인이 필요하며 사용자가 없 는 그룹이라 하더라도 추후 권한 할당을 위해 그룹을 먼저 생성하였을 가능성도 존재하므로 무분별한 삭제는 권장하지 않으며 신규 생성된 그룹(GID 500 이상)을 중점적으로 점검 권고
 
 


참고

📌 /etc/group 파일

  • 리눅스에서 그룹 정보를 저장하는 기본 시스템 파일
  • 사용자 계정은 하나 이상의 그룹에 속하며, 이 파일 을 통해 그룹 이름, GID, 그룹 구성원 등을 관리

 

/etc/group 파일 구조

wheel:x:10:root,sun

그룹명:패스워드:GID:구성원
  • 그룹명 : 그룹의 이름 (예: wheel, root, users)
  • 패스워드 : 거의 항상 x (/etc/gshadow 에 저장)
  • GID : 그룹의 고유 ID 번호
  • 구성원 : 이 그룹에 추가된 사용자들 (쉼표로 구분)

 

그룹 확인 명령어

1. 특정 사용자 그룹 확인

groups 사용자명

 

2. 현재 로그인 사용자의 그룹 확인

id

 

3. /etc/group 직접 보기

cat /etc/group | wheel

 


 

📌 /etc/gshadow 파일

  • /etc/gshadow 에 저장된 그룹 비밀번호는 해당 그룹에 "일시적으로 소속" 되기 위해 사용할 수 있는 비밀번호
  • 그룹 비밀번호와 그룹 관리자 정보를 저장
  • 접근 권한 : root 만 읽을 수 있음
  • 실무에서는 거의 사용하지 않는다

 

/etc/gshadow 파일 구조

devteam:!:admin:alice,bob

그룹명:패스워드:그룹관리자:구성원
  • 그룹명 : 그룹의 이름 (/etc/group 의 그룹명과 동일)
  • 패스워드 : 그룹 비밀번호(  시 사용 안 함 - 기본값)
  • 그룹관리자 : 이 그룹을 관리할 수 있는 사용자
  • 구성원 : 이 그룹에 소속된 사용자 리스트

 

사용 예시: newgrp 명령

 

newgrp 그룹명
  • 이 명령은 지정한 그룹으로 현재 세션의 그룹을 전환

∴ 그룹에 속하지 않았지만 비밀번호를 알고 있다면, 그 그룹 권한으로 명령을 실행할 수 있게 된다
 

 

거의 사용되지 않음

  1. usermod -aG 로 그룹에 직접 추가함 : 비밀번호 입력보다 명시적 그룹 추가 선호
  2. newgrp 자체가 거의 안 쓰임 : 일반 유저들이 거의 사용하지 않음
  3. 그룹 비밀번호 관리 어려움 : 여러 사용자가 알면 보안상 무의미해짐
  4. 대부분  로 잠김 상태 : 기본 설정 시 비밀번호 사용 불가 처리됨