본문 바로가기
카테고리 없음

주요정보통신기반시설 기술적 취약점 분석 및 평가 상세가이드(Unix 서버) - 1. 계정관리(1.4 패스워드 파일 보호)

by shoory 2023. 12. 8.

1. 계정관리

1.4 패스워드 파일 보호

1.4.1 취약점 개요

  • 점검 내용 : 시스템의 사용자 계정(root, 일반계정) 정보가 저장된 파일(예 /etc/passwd, /etc/shadow)에 사용자 계정 패스워드가 암호화되어 저장되어 있는지 점검

 

  • 점검 목적 :일부 오래된 시스템의 경우 패스워드 정책이 적용되지 않아 /etc/passwd 파일에 평문으로 저장되므로 사용자 계정 패스워드가 암호화되어 저장되어 있는지 점검하여 비인가자의 패스워드 파일 접근 시에도 사용자 계정 패스워드가 안전하게 관리되고 있는지 확인하기 위함

 

  • 보안위협 :비인가자에 의해 사용자 계정 패스워드가 평문으로 저장된 파일이 유출될 경우 시스템 사용자 계정 패스워드가 노출될 수 있음

  

1.4.2 점검대상 및 판단기준

 

  • 대상 : Solaris, Linux, AIX, HP-UX 등

 

  • 판단기준(양호) : 쉐도우 패스워드를 사용하거나, 패스워드를 암호화하여 저장하는 경우

 

  • 판단기준(취약) : 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우

 

  • 조치방법 : 패스워드 암호화 저장, 관리 설정 적용

 

1.4.3 OS별 점검 파일 위치 및 점검 방법

 

  • Solaris

                  /shadow 파일 존재 확인 (일반적으로 /etc 디렉터리 내 존재)

                   # ls /etc

 

  • Linux

                  /shadow 파일 존재 확인 (일반적으로 /etc 디렉터리 내 존재)

                   # ls /etc

 

  • AIX

                   AIX 서버는 기본적으로 패스워드를 암호화하여 저장, 관리

  • HP-UX

                   /etc/security/passwd 파일 내 설정된 패스워드 점검

 

** 위에 제시한 설정이 해당 파일에 적용되지 않을 경우 아래의 보안 설정방법에 따라 설정을 변경함

 

1.4.4 조치 방법

 

  • Solaris

                 Step 1) /shadow 파일 존재 확인 (일반적으로 /etc 디렉터리 내 존재)

                   # ls /etc

                 Step 2) /etc/passwd 파일 내 두 번째 필드가 "x" 표시되는지 확인

                   # cat /etc/passwd

                   root : x : 0 : 0 : root : /root : /bin/bash

                 Step 3) #pwconv  --> 쉐도우 패스워드 정책 적용 방법

                 Step 4) #pwunconv  --> 일반 패스워드 정책 적용 방법

   

  • Linux

 

                 Step 1) /shadow 파일 존재 확인 (일반적으로 /etc 디렉터리 내 존재)

                   # ls /etc

                 Step 2) /etc/passwd 파일 내 두 번째 필드가 "x" 표시되는지 확인

                   # cat /etc/passwd

                 Step 3) #pwconv  --> 쉐도우 패스워드 정책 적용 방법

                 Step 4) #pwunconv  --> 일반 패스워드 정책 적용 방법

 

  • AIX

                 AIX 서버는 기본적으로 "/etc/security/passwd" 파일에 패스워드를 암호화하여 저장, 관리

 

 

  • HP-UX

               HP-UX 서버는 Trusted Mode 로 전환할 경우 패스워드를 암호화하여 "/tcb/files/auth" 디렉터리에 계정 이니셜과 계정 이름에 따라 파일로 저장, 관리할 수 있으므로 Trusted Mode인지 확인 후 UnTrusted Mode인 경우 모드를 전환함

                 Step 1) Trusted Mode 전환 방법 : root 계정으로 로그인한 후 아래 명령 수행

                   # /etc/tsconvert

                 Step 2) UnTrusted Mode 전환 방법 : root 계정으로 로그인한 후 아래 명령 수행

                   # /etc/tsconvert -r2

 

 

1.4.5 조치 시 영향

 

  • HP-UX 경우 Trusted Mode로 전환 시 파일시스템 구조가 변경되어 운영 중이 ㄴ서비스에 문제가 발생할 수 있으므로 충분한 테스트를 거친 후 Trusted Mode로의 전환이 필요함

1.4.6 기타

  •  root : x : 0 : 0 : root : /root : /bin/bash

root : 사용자명

x : 패스워드 (/etc/shadow 파일에 암호화되어 있음)

0 : 사용자 계정 uid (user id, 100번까지는 시스템 사용)

0 : 사용자 계정 gid (group id, 499번까지는 시스템 사용)

root :  사용자 계정 이름 (정보)

/root : 사용자 계정 홈 디렉터리

/bin/bash : 사용자 계정 로그인 쉘

 

  • bash : 리눅스에서는 Bourne shell(/bin/sh), bash shell(/bin/bash)을 사용하는데 bash를 더 많이 사용함, 참고로 bash쉘은 Bourne shell의 기능을 향상시킨 버전으로 bash는 Brourne Again Shell)의 줄임말로 /bin/sh와 /bin/bash는 거의 비슷하지만 bash에 기능이 몇가지 더 추가된 형태이고 맥북에서는 zsh을 많이 사용

 

  • shell(쉘) : shell은 프로그램(program)으로 프로그램에는 사용 목적, 기능이 있음, shell은 운영 체제 속 내용물에 접근할 수 있는 기능을 제공하는 프로그램 즉, shell을 이용하면 운영체제와 상호작용할 수 있다는 의미함, shell에는 크게 두가지 종류가 있는데 CLI와 GUI로 나눌 수 있음, CLI(Command Line Interface)는 bash와 같이 검은색 창에서 명령어를 입력하는 방식을 통해 운영체제와 상호작용할 수 있고 GUI(Graphical User Interface)는 윈도우나 맥과 같이 예쁜 화면에 아이콘을 클릭하는 방식으로 운영체제와 상호작용하는 방식을 의미함