-
1. 개요
웹서버 권한을 보면 644, 600이 보이는데, 왜 이런 권한을 사용하는지 알아본다
2. 644, 600 권한의 의미
644 권한은 rw | r | r 권한으로 사용자는 rw, 그룹은 r, other는 r인 권한이다. 실행은 없는 권한이다. 600은 이것보다 더 강력한 권한으로 그룹과 other는 읽기조차 못한다. 이러한 권한의 주요 특징은 다음과 같다.
- 보안(실행을 하지 못함)
- 필요 최소의 권한(목적에 맞는)
644 권한이 들어간 파일은 주로 html, css, js로 공개적으로 읽을 수 있는 파일들이다.
600 권한이 들어간 파일은 소유자만 읽고 쓸수있는 설정 파일, 비밀 키 등이다.
3. 웹서버에서 644, 600 권한을 사용하는 이유
644 권한
웹 서버는 클라이언트에 콘텐츠를 제공해야하므로, 웹서버 프로세스가 파일을 읽을 수 있어야 한다.
- 파일의 소유자는 파일을 작성하고 수정한다
- 웹서버 프로세스는 오로지 읽기만 한다.
쓰기 권한이 있다면, 악의적 사용자에 의하여 파일이 훼손될 수 있다.(put으로 덮어쓰기 등)
600 권한
데이터베이스 비밀번호, api 키 같은 민감한 번호가 외부에 노출되지 않도록 보호
4. 웹서버는 group이나 other로 취급되나?
대부분의 웹서버(Apache, nginx)는 보안을 위해 특정 사용자, 그룹으로 지정되어 실행된다.
- Apache: www-data (Ubuntu/Debian), apache (RHEL/CentOS)
- Nginx: www-data (Ubuntu), nginx (CentOS)
웹서버 프로세스를 www-data:www-data로 실행한다면, 아래 파일에 대하여 group으로 접근 제어됨.
-rw-r--r-- 1 user www-data 1234 Nov 28 10:00 index.html
어떤 유저, 어떤 그룹으로 실행하지는 설정파일에서 제어가능
// 아파치 # /etc/apache2/apache2.conf (Debian/Ubuntu) # /etc/httpd/conf/httpd.conf (CentOS/RHEL) User www-data Group www-data // nginx # /etc/nginx/nginx.conf user www-data;
'분석과탐구' 카테고리의 다른 글
PHP의 Fiber (0) 2024.04.11 스트리밍 서비스가 궁금하다 (0) 2023.12.16 클라우드 트래픽 비용 비교 (0) 2023.11.29 객체지향 프로그래밍 (0) 2023.10.22 JWT와 세션 (0) 2023.07.22