[정보 보안] 실기이론 - 리눅스 파일 시스템(File System) 응용

Cookie·2025년 2월 21일
0

정보보안

목록 보기
33/40

1) 파일 시스템 개요

물리적 저장장치에 파일을 생성, 저장, 관리하기 위한 논리적인 자료구조

물리적인 저장장치는 논리적인 파티션(partition)으로 나누어지며, 파티션 별로 고유한 파일 시스템을 생성함

부트 블록(Boot Block)

  • 운영체제를 부팅하거나 초기화하기 위한 부트스트랩 코드를 담고 있음

슈퍼 블록(Super Block)

  • 파일 시스템을 관리하기 위한 정보를 담고 있음

아이노드 리스트(inode list)

  • Data Block
    : 실제 파일의 내용이 저장되는 블록(고정 크기 블록들로 이루어져있음)




2) 파일시스템과 링크(link) 파일

링크는 기존 파일에 대한 또 다른 접근 포인트를 만들어주는 기능
하드링크(Hard Link)와 심볼릭 링크(Symoblic Link)로 구분함

📢 하드 링크(Hard Link)

  • 기존 파일과 동일한 inode number를 가지는 파일을 생성하여 접근
  • 동일 파일시스템에서만 가능하며 디렉터리는 하드 링크가 불가능
  • inode를 참조하는 파일이 있으면 삭제할수 없음

- 실습



📢 심볼릭 링크(Symbolic Link)

  • 원본 파일에 대한 경로를 파일내용에 담고 있음
  • 파일시스템에 제한이 없고, 디렉터리도 가능
  • 원본 파일이 삭제되면 심볼릭 링크는 끊어지게

- 실습




(3) 디렉터리 관리

1) 파일의 종류

1. 일반(정규) 파일

  • 텍스트, 실행 파일 등을 바이너리나 텍스트형태로 저장하고있는 일반파일
  • 표준 파일 입출력 시스템 호출을 통해 참조

2. 디렉터리

  • 디렉터리에 포함된 파일명과 inode number 정보를 목록으로 가지고 있는 파일
  • 명시적인 시스템 호출을 통해 참조

3. 특수파일

  • 기능에 따라 다양한 형태로 존재, 표준 입출력 시스템 호출을 통해 참조됨
  • 프로세스간 통신(IPC : Inter-Process Communication) 목적의 특수 파일 - 파이프(Pipe), 소켓(Socket)
  • 디스크, 프린터, 터미널 등의 입출력 장치를 사용하기 위한 장치 파일
    • 장치 파일 (버퍼링)블록 장치 파일 : 블록 단위로 입출력 (비 버퍼링)문자 장치 파일 : 문자 단위로 입출력



2) 디렉터리 내용 출력

: 파일 종류 및 권한
: 하드링크 개수
: 소유자
: 소유 그룹
: 파일 크기
: 최종 변경(수정) 일시

: 파일 명

  • 파일 종류
    • - : 일반(정규) 파일
    • d : 디렉터리
    • b : 블록 장치 파일
    • c : 문자 장치 파일
    • I : 심볼릭 링크 파일
    • p : 이름있는 파이프
    • s : 유닉스 도메인 소켓

📢 접근권한

유형의미
소유자(User)파일 소유자의 접근 권한
소유그룹(Group)파일 소유 그룹의 접근 권한
기타사용자(Others)소유자와 소유그룹에 속하지 않는 모든 사용자의 접근 권한
  • 접근권한 종류



3) 디렉터리 간 이동

  • 절대 경로명 : 최상의 루트 디렉터리(/) 기준 경로 표시
  • 상대 경로명 : 현재 디렉터리 기준 경로 표시

4) 디렉터리 생성


5) 디렉터리 삭제




(4) 파일 권한 관리

1) 파일 접근권한 변경(chmod)

  • 대상 : u, g, o, a(all)
  • 연산자 : + (추가), - (제거), = (설정)

📢 실습



2) 파일 소유자 OR 소유그룹 변경(chown/chgrp)

  • 슈퍼유저(root)만이 실행가능한 명령어
  • 일반 사용자 계정으로는 허용하지 않는 명령어

📢 실습



3) 접근권한 마스크 설정(umask)

파일 또는 디렉터리 생성 시 접근권한을 설정하기 위해 사용되는 값

  • 제거할 접근권한 정보가 설정되어 있음
  • 권장 설정 : 로그인하는 모든 사용자에게 적용되는 환경설정파일에 022(0022)이상으로 umask 값을 설

  • 예시
    • umask 333 은 쓰기(2)와 실행(1) 권한을 제거함



4) 파일 검색(find)

시스템 내의 파일 중, 사용자가 원하는 파일을 찾을 때 사용
특정 명령을 실행하게 할 수 도있음

📢 path

최상위 루트 디렉터리(/) 부터 시작하는 절대 경로너 현재 디렉터리(.)부터 시작하는 상대 경로로 지정 할 수 있음

EX) e.g find / 검색_조건(expression) : 최상위 루트 디렉터리 이하 파일 검색

📢 action

  1. AND 연산
    • [-and 또는 -a] 기호 사용
  2. OR 연산
    • [-or 또는 -o] 기호 사용
  3. NOT 연산
    • [-not 또는 -n] 기호 사용




⭐소유자 및 소유그룹이 존재하지 않는 취약점

발생사유

  • 현재 삭제된 사용자 계정 또는 그룹의 소유
  • 관리 소홀로 인해 생성된 파일

보안위협

  • 해당 파일 및 디렉터리의 UID 또는 GID 를 특정 사용자 계정의 UID나 특정 그룹의 GID를 악의적으로 변경 할 수 있음
  • 이로인해 소유자 또는 소유그룹의 권한으로 해당 파일에 접근할 수 있는 위협이 발생

조치 방법

  • 불필요한 경우 삭제
  • 필요한 경우 소유자나 소유그룹을 변경




⭐World writable 파일 취약점

개요

  • 파일의 소유자나 그룹이 아닌 Others에 대해 쓰기가 허용된 파일을 뜻함

보안 위협

  • 중요 파일이 world writable 설정이 되어있으면 비인가자에 의해 파일이 악의적으로 변경되는 위협이 발생

조치 방법

  • World writable 파일이 불필요한 경우 삭제
  • 필요한 파일인 경우 Others에 쓰기 권한 제거
profile
나만의 공부 일지... [임시 休]

0개의 댓글