Linux File System
로그 및 데이터 파일
운영 체제 및 서비스의 로그와 각종 문서가 저장되는 위치
/var/www
: 웹 문서 및 기타 웹 서버에서 사용되는 파일을 저장./var/lib
: 시스템의 각종 서비스에서 자료를 저장할 때 사용, 데이터베이스 등이 이에 해당./var/lib/mysql
: MySQL 데이터베이스의 데이터가 저장됨./var/log
: 시스템 서비스 등의 로그를 저장할 때 사용, 웹 서버 로그가 보통 여기에 위치./var/cache
: 캐시 데이터 저장, 삭제되어도 재생성 가능./media
: 제거 가능한 장치를 마운트할 때 주로 사용하는 디렉토리/mnt
: 기타 파일 시스템을 임시로 마운트할 때 사용하는 디렉토리
설정 파일
운영 체제 및 서비스를 구성하는 설정 파일
/etc
: 운영체제 초기 부팅 시 필요한 최소한의 명령어를 구현하는 프로그램 파일을 저장/etc/apache2, /etc/httpd
: Apache 웹 서버의 설정 정보를 저장/etc/nginx, /etc/mysql
: nginx 웹 서버, mysql 데이터베이스 서버 설정 정보 저장/opt/etc
: 추가적으로 설치된 프로그램의 설정 정보를 저장/etc/mysql/my.cnf
: mysql 데이터베이스 서버의 주 설정파일/etc/hostname
: 현재 시스템의 호스트네임 저장/etc/hosts
: 호스트네임의 실주소를 탐색할 때 사용되는 정적 순람표/etc/fstab
: 현재 시스템에 등록할 파일시스템의 목록 저장
일반 권한으로 접근 가능한 설정 파일
.htaccess
: apache 웹 서버에서 웹 문서 디렉터리 내 서버 설정 제어~/.bashrc, ~/.profile
: 사용자 로그온 시 실행되는 셸 명령을 지정~/.ssh/authorized_keys
- 해당 사용자에 로그인할 수 있는 SSH 공개키를 지정
- 공격자의 SSH 공개키를 추가하면 공격자가 시스템에 로그인할 수 있게됨
~/.ssh/config
- SSH 클라이언트 설정 파일.
- 접속할 Host 등을 지정하여 악의적인 Host로 리다이렉트 할 수 있음.
~/.profile
과 ~/.ssh/authorized_keys
는 관리자가 로그인 하는 계정과 웹 서버의 계정이 같을 때 사용 가능하다.
루트 권한으로 공격 시 이용 가능한 파일
/boot/initramfs-X.Y.Z.img
- 부팅 시 초기에 사용되는 파일을 저장한 이미지 파일
- 부팅 중 시스템 파티션으로 전환되면서 삭제되기 때문에 악성 코드 등이 삽입되면 관리자가 탐지하지 못하는 경우도 있음
/etc/rc.local
: 시스템 부팅 시 실행되는 명령을 지정/etc/crontab
: 시스템 부팅 후 주기적으로 실행되는 명령을 지정/etc/profile
: 사용자가 로그인 할 때마다 실행되는 명령을 지정/etc/profile.d
: 사용자가 로그인 할 때마다 실행되는 명령을 지정하는 스크립트를 저장하는 디렉터리
장치 및 가상 파일
운영 체제를 구성하기 위한 파일, 각각의 파일은 커널 기능과 밀접한 관련이 있음.
/dev
: 각종 디스크 및 장치 파일을 제공/sys
: 하드웨어 및 플랫폼에 접근할 수 있도록 함/proc
: 프로세스 및 시스템 정보를 제공하는 가상 파일시스템이 위치/proc/sys
: 운영체제의 동작을 제어할 수 있는 각종 파라미터가 위치/proc/self/net, /proc/net
: 운영체제 네트워크 계층의 다양한 정보 저장
- /proc 파일 시스템 구성 요소
- sonseungha.tistory.com/412
프로그램 및 라이브러리
프로그램의 명령어가 저장된 위치와 이들을 실행하기 위한 라이브러리의 위치
/bin, /sbin
: 운영체제 초기 부팅 시 필요한 최소한의 명령어를 구현하는 프로그램 파일을 저장/boot
: 커널이나 부트로더 옵션 등 부팅에 필요한 파일을 저장/lib, /lib64, /libx32
: 운영체제 초기 부팅 시 필요한 최소한의 라이브러리 파일을 저장/opt
: 추가적인 프로그램 저장/usr/bin
: 각종 명령어 및 프로그램 파일을 저장/usr/sbin
: 시스템 관리자가 주로 사용하는 각종 명령어 및 프로그램 파일을 저장/usr/lib, /usr/lib64, /usr/libx32
: 시스템에서 공유되는 라이브러리 파일 저장/usr/share
: 기타 시스템에서 공유되는 라이브러리 파일 저장
임시 파일
운영 체제 및 서비스에서 사용하는 임시 디렉터리 또는 파일을 의미
/tmp
- 임시 파일을 저장, 시스템 재시작 시 저장한 파일이 삭제될 수 있으며, 용량에 상당한 제한이 있을 수 있음.
- 디스크 또는 메모리 상(tmpfs)에 존재할 수 있음.
/var/tmp
: 임시 파일을 저장, 시스템 재시작 시에도 일반적으로 유지됨.