[Linux] 리눅스 유휴 사용자 계정 정리

[1] Background & Purpose

1-1. Background

– 인프라 취약점 진단을 대비하는 그룹 보안팀으로 부터 Linux에서 운용되는 유휴 사용자 및 그룹에 관한 정리 요청을 받음

– 중요한 것은 관리자가 알 수 없는 사용자 계정(Unknown Username)들을 정리해야함(서비스 개발 및 운영자도 모르는 상태)

– N년 이상 방치된 서비스의 사용자들에 관한 정보가 없는 상태에서 계정 정리가 필요함

1-2. Purpose

아래와 같은 목적을 두고 있음

1. 보안 강화
불필요한 계정은 미사용 계정이 되기 쉽고, 이는 잠재적인 보안 위협이 될 수 있습니다. 해커나 악의적인 사용자가 미사용 계정을 이용해 시스템에 침입하는 경우가 있기 때문입니다.
불필요한 계정이 시스템에 존재하면, 해당 계정의 패스워드 관리 또는 보안 업데이트가 미흡할 수 있어 보안 취약점이 될 수 있습니다.

2. 자원 최적화
계정에 할당된 디스크 공간, 메모리, 프로세스 등의 시스템 자원을 활용하지 않게 되므로 시스템 자원의 낭비를 줄일 수 있습니다.

3. 관리 효율성 향상
불필요한 계정을 제거함으로써 관리자는 시스템 내의 활성 계정만을 주시하게 되므로, 계정 관리의 효율성이 향상됩니다.
정확한 계정 목록을 갖게 되므로, 누가 언제 어떤 계정으로 접속했는지에 대한 감사 및 모니터링이 더욱 정확하게 이루어질 수 있습니다.

4. 규정 준수
특정 기업이나 조직에서는 규정 준수(CSO, ISO 27001, GDPR 등)를 위해 정기적으로 사용자 계정을 검토하고 정리하는 작업을 수행해야 합니다.
불필요한 또는 미확인 계정이 존재하는 것은 규정 위반으로 간주될 수 있으므로, 이를 통해 규정 준수 상태를 유지할 수 있습니다.

5. 서비스 안정성 유지
불필요하거나 알 수 없는 계정으로 인해 예기치 않은 서비스 중단 또는 장애가 발생할 위험을 줄일 수 있습니다.
시스템에 대한 깊은 이해 없이 생성된 계정이 서비스에 영향을 미칠 가능성이 있기 때문입니다.

** 따라서 상기 목적으로 사용자 계정 정리 작업을 수행하면, 시스템의 안정성과 보안, 그리고 관리 효율성을 동시에 향상시킬 수 있음

[2] Task Details

사용자 계정을 정리할 때 가장 안전한 방법 중 하나는 해당 계정을 먼저 비활성화하고 문제가 없는지 관찰한 후 제거하는 것입니다. 
계정을 갑자기 제거하면 의도하지 않은 서비스 중단 또는 다른 문제가 발생할 수 있으므로 (고전적이지만) 비활성화 후 관찰하는 방법은 좋은 접근 방식입니다.

1. 전체 사용자 계정 확인

# /etc/passwd 파일을 확인하여 모든 계정의 목록을 확인합니다.
 
 
cat /etc/passwd
 

2. 백업

# 반드시 /etc/passwd, /etc/shadow, /etc/group 파일을 백업합니다. 이는 문제가 발생했을 때 복구하기 위함으로 로컬에 텍스트라도 저장해놓는 것이 필요합니다.
 
 
sudo cp /etc/passwd /etc/passwd.bak
sudo cp /etc/shadow /etc/shadow.bak
sudo cp /etc/group /etc/group.bak

3. 비활성화

# 해당 계정의 로그인 쉘을 /sbin/nologin 또는 /bin/false로 변경하여 로그인을 비활성화합니다.
 
sudo usermod -s /sbin/nologin <사용자명>
 

4. 서비스 관찰 기간 설정

# 계정을 비활성화 한 후, 몇 일 동안 서비스의 동작을 주시하여 이상 유무를 확인합니다. 
# 운영팀과 해당 작업 협의 후 관찰기간을 설정하며, 이후 아래와 같이 제거하며, 문제가 발생한다면 즉시 백업에서 복구하는 것을 고려할 수 있습니다.
 
 
sudo userdel <사용자명>
 

5. 홈 디렉토리 및 관련 리소스 제거

– 필요한 경우, 계정의 홈 디렉토리나 관련된 파일 및 리소스도 제거합니다.

– 위에서 백업해놓은 것은 히스토리 보존을 위해 저장합니다.

[3] Learnings & Results

– 조직에서 담당자는 수시로 변경됩니다. 따라서 구축/운영 조직에서는 표준 매뉴얼을 반드시 템플릿화해서 관리할 필요가 있습니다.

– 무엇보다 보안이 중요시되고 있는 시점에서 시스템의 계정관리는 매우 중요합니다.

– 조직의 IT 전략 및 안정적인 서비스 운영을 위해서 꼭 필요한 작업이며, 보안팀에서는 이를 강제화하여 반드시 운영 조직과 스케쥴을 잡고 차근 차근 진행해야 합니다.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x