ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹서버 권한
    분석과탐구 2025. 3. 25. 13:37

    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

    댓글

Designed by Tistory.