반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

비구름

11. Linux 파일 및 디렉토리의 속성정보(MataData) 분석 & 권한, 소유권 변경 & MAC time 본문

공부

11. Linux 파일 및 디렉토리의 속성정보(MataData) 분석 & 권한, 소유권 변경 & MAC time

비구름 2022. 2. 22. 11:08
반응형

1. 파일및 디렉토리 속정정보 분석

 1.1. ls -l 명령어를 사용하면 아래와 같은 파일 및 디렉토리의 속성정보를 볼 수 있습니다.

 1.2. 속성정보 분석

  1.2.1 -rw-r--r-- 1 root root 779 2월 17 15:23 test.txt의 속성분석

  1.2.2. -                    : 파일 -, 디렉토리 d, Symbolic link l

  1.2.3. rw-                 : user(owner)권한, r : 읽기(4), w : 쓰기(2), x : 실행(1)

  1.2.4. r--                  : group 권한, r : 읽기(4), w : 쓰기(2), x : 실행(1)

  1.2.5. r--                  : 기타사용자(other), r : 읽기(4), w : 쓰기(2), x : 실행(1)

  1.2.6. 1                    : link된 파일 개수

  1.2.7. root                : 소유주(owner)

  1.2.8. root                : 그룹(group)

  1.2.9. 779                 : 용량(size)

  1.2.10. 2월 17 15:23   : 파일이나 디렉토리가 마지막으로 수정된 시간

  1.2.11. test.txt           : 파일이나 디렉로리의 이름

2. chmod 명령어를 사용한 권한 변경

 2.1. 사용자 지정옵션

  2.1.1 chmod (사용자 지정(u,g,o,a))+(권한(r,w,x)) 파일명 (+는 권한 추가)

  2.1.2 chmod (사용자 지정(u,g,o,a))-(권한(r,w,x)) 파일명 (-는 권한 제거)

  2.1.3. -R : 하위 디렉토리에 속성을 전파, 단 명령어 이후에 생성되는 파일에는 적용되지 않음

 2.2 8진수 법을 이용한 권한 변경

  2.2.1. chmod (755) 파일명 (첫 번째 숫자 : user의 권한, 두 번째 숫자 : group의 권한, 세 번째 숫자 : other의 권한, r=4, w=2, x=1 표기하고 각 숫자를 모두 더해서 표기)

 3. chown을 이용한 소유권 변경

  3.1 명령어 사용법

   3.1.1. chown 사용자id.그룹id 파일명

   3.1.2. chown 사용자id 파일명

   3.1.3. chown .그룹id

 3.2. 특수권한

 3.2.1. setuid : setuid가 설정되어 있는 파일은 실행되는 동안 user(owner)의 권한으로 파일이 실행됨.

  3.2.1.1. setuid 4000, 권한이 있을 경우 x를 소문자 s로 표기, 권한이 없을 경우 x를 대문자 S로 표기

  3.2.1.2. # chmod 4755 a.txt 실행권한 있음
            # chmod 4655 a.txt 실행권한 없음

 3.2.2 setgid : setuid가 설정되어 있는 파일은 실행되는 동안 그룹의 권한으로 파일이 실행됨.

  3.2.2.1. setgid 2000, 권한이 있을 경우 x를 소문자 s로 표기, 권한이 없을 경우 x를 대문자 S로 표기

  3.2.2.2. # chmod 2755 a.txt 실행권한

            # chmod 2765 a.txt 실행권한 없음

 3.2.3. sticky : 해당 권한이 설정된 디렉토리에서는 파일이나 디렉토리를 생성한 사용자만 삭제 가능. 단, 최고 관리자인 root는 영향을 받지 않음.

  3.2.3.1. sticky 1000 권한이 있을 경우 x를 소문자 t로 표기, 권한이 없을 경우 x를 대문자 T로 표기

  3.2.3.2. # mkdir 2 stickybit는 디렉토리에 권한 부여

            # chmod 1777 2 실행 권한

            # chmod 1776 2 실행 권한 없음

 3.3. Linux에서 특수권한이 사용되는 경우

  3.3.1. setuid가 사용되는 경우

  3.3.1.1. 사용자의 passwd가 저장되는 /etc/passwd 파일은 수정할 수 없지만 사용자가 사용하는 passwd 명령어는 /user/bin/passwd에 -rwsr-xr-x로 설정되어 있기 때문에 일반 사용자가 패스워드를 변경할 수 있음. 

  3.3.2. sticky가 사용되는 경우

  3.3.2.1. 최상위 디렉토리 밑의 tmp 디렉토리는 sticky가 설정되어 있어서 파일이나 디렉토리를 생성한 사용자만 삭제 가능

  3.3.2.2 user a와 user b 생성

3.3.2.3. su 명령어를 통해 a로 login 후 /tmp 디렉토리에서 만든 a.txt 파일을 사용자 a는 자유롭게 수정하고 삭제할 수 있지만 사용자 b는 수정하거나 삭제할 수 없음. 단 최고 관리자인 root는 영향을 받지 않고 삭제 가능

3.4. 파일에 특수 권한 설정

 

4. umask

 4.1. 파일 및 디렉토리를 생성 시 모든 권한을 부여하면 보안상 문제가 발생함으로 최소 권한 법칙에 근거하여 파일 및 디렉토리의 최대 권한에서 설정된 umask 만큼을 빼서 파일 및 디렉토리를 생성하는 것

 4.2. 디렉토리의 최대 권한은 777, 파일의 최대 권한은 666

 4.3. 디렉토리의 경우 해당 디렉토리에 접근하기 위해서는 반드시 x 권한이 있어야 함.

 4.4. 파일의 경우 sh 명령어로 강제 실행이 가능하고, rw 권한만으로 충분하기에 최대 권한은 666

설정된 umask에 따라 최대 권한 - 설정된 umask의 권한을 가진 파일이나 디렉토리가 생성됨.

5. MAC time

 5.1. 침해 사고 분석 시 파일 및 디렉토리의 접근시간(A), 권한변경(C), 내용수정(M) 시간 정보는 분석에 필수적인 정보임. 따라서 MAC time을 통해 공격자의 시간대 별 활동을 정리할 수 있음.

 5.2. stat 명령어를 통한 MAC time 정보 분석

  5.2.1. 파일 생성 직후 MAC time, 파일의 마지막 수정 시간 모두 동일 

  5.2.2. cat 명령어로 파일 내용을 확인하면 Access만 변경됨.

  5.2.2. chmod 명령어로 파일 권한을 변경하면 Change만 변경됨.

  5.2.3. cat >> 명령어로 파일에 텍스트를 추가하면 Modify, Change, 파일이 마지막으로 수정된 시간 변경됨.

반응형
Comments