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

주요정보통신기반시설 기술적 취약점 분석 및 평가 상세가이드(Unix 서버) - 2. 파일 및 디렉터리 관리 (2.2 파일 및 디렉터리 소유자 설정)

by shoory 2023. 12. 9.

2. 파일 및 디렉터리 관리

2.2 파일 및 디렉터리 소유자 설정

2.2.1 취약점 개요

  • 점검 내용 : 소유자 불분명한 파일이나 디렉터리가 존재하는지 여부를 점검

 

  • 점검 목적 :소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리하여 임의의 사용자에 의한 불법적 행위를 서전에 차단하기 위함

 

  • 보안위협 : 삭제된 소유자의 UID와 동일한 사용자가 해당 파일, 디렉터리에 접근 가능하여 사용자 정보 등 중요 정보가 노출될 위험이 있음

     ** 소유자가 존재하지 않는 파일 및 디렉터리는 최직자의 자료이거나 관리 소흘로 인해 생긴 파일인 경우 또는 해킹으로 인한 공격자가 만들어 놓은 악의적이 파일인 경우가 있음

 

2.2.2 점검대상 및 판단기준

 

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

 

  • 판단기준(양호) : 소유자가 존재하지 않는 파일 및 디렉터리가 존재하지 않는 경우
  • 판단기준(취약) :  소유자가 존재하지 않는 파일 및 디렉터리가 존재하는 경우

 

  • 조치방법 : 소유자가 존재하지 않는 파일 및 디렉터리 삭제 또는 소유자 변경

 

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

 

  • Solaris

                  소유자가 nouser, nogroup인 파일이나 디렉터리 검색

                  # fine / -nouser -o -nogroup -xdev -ls 2 > /dev/null

  • Linux

                  # find / -nouser -print

                  # fine / -nogroup -print

  • AIX

                  소유자가 nouser, nogroup인 파일이나 디렉터리 검색

                  # fine / -nouser -o -nogroup -xdev -ls 2 > /dev/null

  • HP-UX

                  # find / \ (-nouser -o -nogroup \) -xdev -exec ls -al { } \;

                  2> /dev/null

                  

**  소유자가 nouser, nogroup인 파일이나 디렉터리 존재하는 경우 아래의 보안설정방법에 따라 디렉터리 및 파일 삭제 또는 소유자 및 그룹을 변경함

 

2.2.4 조치 방법

 

  • Solaris

                 Step 1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제

                   # rm <file_name>

                   # rm <directory_name>

                  ** 삭제할 파일명 또는 디렉터리명 입력

                 Step 2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경

                   # chown <user_name> <file_name>

                  

  • Linux

 

                 Step 1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제

                   # rm <file_name>

                   # rm <directory_name>

                  ** 삭제할 파일명 또는 디렉터리명 입력

                 Step 2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경

                   # chown <user_name> <file_name>

 

  • AIX

 

                 Step 1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제

                   # rm <file_name>

                   # rm <directory_name>

                  ** 삭제할 파일명 또는 디렉터리명 입력

                 Step 2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경

                   # chown <user_name> <file_name>

 

  • HP-UX

                 Step 1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제

                   # rm <file_name>

                   # rm <directory_name>

                  ** 삭제할 파일명 또는 디렉터리명 입력

                 Step 2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경

                   # chown <user_name> <file_name>

 

 

2.2.5 조치 시 영향

 

  • 일반적인 경우 영향 없음

2.3.6 기타 (Linux Command 1)

  • ls : 디렉토리와 파일의 정보를 출력함(도스의 dir)

                   # ls [-ailFRC] [파일 또는 디렉토리]

[옵션]

-l 파일에 대한 정보(파일 허용권, 소유자, 그룹, 크기, 날짜)를 긴 형식으로 보여줌

-i 파일의 'inode'도 같이 보여줌

-r 파일을 역순, 즉 내림차순으로 배열함

-F 파일의 특성을 보여줌 이름 뒤에 디렉토리면 /를 실행파일이면 *, 심블릭 링크된 파일이면 @를 붙여줌

-C 컬럼별로 파일을 보여줌

-m 가로로 간단히 출력함

-- color=yes 서브디렉토리를 구별하기 위해 color로 보여줌

-w 컬럼수로 가로의 크기를 설정함

-R 하위 디렉토리의 파일도 모두 보여줌

-u 변경되지 않았더라도 최근에 엑세스했던 파일들을 보여줌

-t 최종 수정된 시간별로 정렬함

-a 는 모든 파일을 지정함 (디렉토리의 Hidden 파일도 보여줌)

 

 

  • whoami : 사용자의 ID 출력

                    형식 : $ whoami

 

  • pwd : print working directory, 현재 작업 Directory를 출력

 

  • 파일생성 : vi

 

  • cp : 파일 복사

                    형식 : cp 파일위치__파일이름  목적지_파일위치__파일이름

 

  • rm : 파일 제거

                    형식 : rm [options] file(s)

   [옵션]

  -f 쓸 수 없는 파일이라도 물어보지 않고 강제로 지움

  -i 각 파일에 대하여 지울 것인지 물어 봄

  -r 서브디렉터리를 포함한 모든 내용을 재귀적으로 지움

  -v 지워지는 파일명을 출력

 

  • rmdir : 디렉터리를 지움, 만약 디렉터리가 비어있지 않으면 지울 수 없음( -r 파일 존재해도 삭제, -f 디렉터리 존재해도 삭제)

 

  • mkdir : 새 디렉터리 만듬

 

  • mv : 파일의 이름을 변경하거나 이동

  [옵션]

  -b 백업파일을 만든 후 파일을 지우거나 옮깁니다.
  -i
이미 존재하는 파일을 덮어 쓸 것인지 물어봅니다.
  -v
파일을 옮기면서 파일명을 출력합니다.

 

  • cd : 자기 자신의 홈 디렉터리로 이동

 [옵션]  

  cd / : 루트 디렉터리(/)로 이동하기

  cd . : 현재 디렉터리(현재위치)로 이동하기

  cd .. : 한단계 상위 디렉터리로 이동하기

  cd ~ : 자기자신의 홈 디렉터리로 이동하기(cd 와 같음)

  cd – : 바로 전에 위치했던 디렉터리로 이동하기