8.5. HTTP 서버 보안


8.5.1. httpd.conf의 보안 개선 사항

/etc/httpd/conf/httpd.conf 파일에서 보안 옵션을 구성하여 Apache HTTP 서버의 보안을 강화할 수 있습니다.

프로덕션에 배치하기 전에 시스템에서 실행 중인 모든 스크립트가 올바르게 작동하는지 항상 확인합니다.

root 사용자만 스크립트 또는 CGI(Common Gateway Interface)를 포함하는 모든 디렉터리에 대한 쓰기 권한이 있는지 확인합니다. 쓰기 권한이 있는 디렉터리 소유권을 root 로 변경하려면 다음 명령을 입력합니다.

# chown root <directory_name>
# chmod 755 <directory_name>
Copy to Clipboard Toggle word wrap

/etc/httpd/conf/httpd.conf 파일에서 다음 옵션을 구성할 수 있습니다.

FollowSymLinks
이 지시문은 기본적으로 활성화되어 있으며 디렉터리의 심볼릭 링크를 따릅니다.
Indexes
이 지시문은 기본적으로 활성화되어 있습니다. 사용자가 서버에서 파일을 검색하지 못하도록 이 지시문을 비활성화합니다.
UserDir
이 지시문은 시스템에 사용자 계정이 있는지 확인할 수 있으므로 기본적으로 비활성화되어 있습니다. /root/ 이외의 모든 사용자 디렉터리를 검색하려면 UserDir enabledUserDir disabled root 지시문을 사용합니다. 비활성화된 계정 목록에 사용자를 추가하려면 UserDir disabled 줄에 공백으로 구분된 사용자 목록을 추가합니다.
ServerTokens

이 지시문은 클라이언트에 다시 전송되는 서버 응답 헤더 필드를 제어합니다. 다음 매개변수를 사용하여 정보를 사용자 지정할 수 있습니다.

ServerTokens Full

웹 서버 버전 번호, 서버 운영 체제 세부 정보, 설치된 Apache 모듈과 같은 사용 가능한 모든 정보를 제공합니다. 예를 들면 다음과 같습니다.

Apache/2.4.37 (Red Hat Enterprise Linux) MyMod/1.2
Copy to Clipboard Toggle word wrap
ServerTokens Full-Release

릴리스 버전과 함께 사용 가능한 모든 정보를 제공합니다. 예를 들면 다음과 같습니다.

Apache/2.4.37 (Red Hat Enterprise Linux) (Release 41.module+el8.5.0+11772+c8e0c271)
Copy to Clipboard Toggle word wrap
ServerTokens Prod / ServerTokens ProductOnly

웹 서버 이름을 제공합니다. 예를 들면 다음과 같습니다.

Apache
Copy to Clipboard Toggle word wrap
ServerTokens Major

웹 서버 주요 릴리스 버전을 제공합니다. 예를 들면 다음과 같습니다.

Apache/2
Copy to Clipboard Toggle word wrap
ServerTokens Minor

웹 서버 마이너 릴리스 버전을 제공합니다. 예를 들면 다음과 같습니다.

Apache/2.4
Copy to Clipboard Toggle word wrap
ServerTokens Min / ServerTokens Minimal

웹 서버 최소 릴리스 버전을 제공합니다. 예를 들면 다음과 같습니다.

Apache/2.4.37
Copy to Clipboard Toggle word wrap
ServerTokens OS

웹 서버 릴리스 버전 및 운영 체제를 제공합니다. 예를 들면 다음과 같습니다.

Apache/2.4.37 (Red Hat Enterprise Linux)
Copy to Clipboard Toggle word wrap

ServerTokens Prod 옵션을 사용하여 공격자가 시스템에 대한 중요한 정보를 얻을 위험을 줄입니다.

중요

IncludesNoExec 지시문을 제거하지 마십시오. 기본적으로 Server Side Includes (SSI) 모듈은 명령을 실행할 수 없습니다. 이렇게 변경하면 공격자가 시스템에 명령을 입력할 수 있습니다.

httpd 모듈 제거

httpd 모듈을 제거하여 HTTP 서버의 기능을 제한할 수 있습니다. 이 작업을 수행하려면 /etc/httpd/conf.modules.d/ 또는 /etc/httpd/conf.d/ 디렉터리에서 구성 파일을 편집합니다. 예를 들어 프록시 모듈을 제거하려면 다음을 수행합니다.

echo '# All proxy modules disabled' > /etc/httpd/conf.modules.d/00-proxy.conf
Copy to Clipboard Toggle word wrap

8.5.2. Nginx 서버 구성 보안

Nginx는 고성능 HTTP 및 프록시 서버입니다. 다음 구성 옵션을 사용하여 Nginx 구성을 강화할 수 있습니다.

프로세스

  • 버전 문자열을 비활성화하려면 server_tokens 구성 옵션을 수정합니다.

    server_tokens off;
    Copy to Clipboard Toggle word wrap

    이 옵션은 서버 버전 번호와 같은 추가 세부 정보 표시를 중지합니다. 이 구성은 Nginx에서 제공하는 모든 요청에 서버 이름만 표시합니다. 예를 들면 다음과 같습니다.

    $ curl -sI http://localhost | grep Server
    Server: nginx
    Copy to Clipboard Toggle word wrap
  • 특정 /etc/nginx/ conf 파일에서 알려진 특정 웹 애플리케이션 취약점을 완화하는 보안 헤더를 추가합니다.

    • 예를 들어 X-Frame-Options 헤더 옵션은 도메인 외부의 모든 페이지를 거부하여 Nginx에서 제공하는 모든 콘텐츠를 프레임하여 클릭재킹 공격을 완화합니다.

      add_header X-Frame-Options "SAMEORIGIN";
      Copy to Clipboard Toggle word wrap
    • 예를 들어 x-content-type 헤더는 특정 이전 브라우저의 MIME 유형 스니핑을 방지합니다.

      add_header X-Content-Type-Options nosniff;
      Copy to Clipboard Toggle word wrap
    • 예를 들어 X-XSS-Protection 헤더는 XSS(Cross-Site Scripting) 필터링을 활성화하여 브라우저가 Nginx의 응답에 포함된 잠재적으로 악의적인 콘텐츠를 렌더링하지 못하도록 합니다.

      add_header X-XSS-Protection "1; mode=block";
      Copy to Clipboard Toggle word wrap
  • 사용자에게 노출되는 서비스를 제한하고 하는 작업을 제한하고 방문자로부터 수락할 수 있습니다. 예를 들면 다음과 같습니다.

    limit_except GET {
        allow 192.168.1.0/32;
        deny  all;
    }
    Copy to Clipboard Toggle word wrap

    스니펫은 GETHEAD 를 제외한 모든 메서드에 대한 액세스를 제한합니다.

  • HTTP 메서드를 비활성화할 수 있습니다. 예를 들면 다음과 같습니다.

    # Allow GET, PUT, POST; return "405 Method Not Allowed" for all others.
    if ( $request_method !~ ^(GET|PUT|POST)$ ) {
        return 405;
    }
    Copy to Clipboard Toggle word wrap
  • Nginx 웹 서버에서 제공하는 데이터를 보호하도록 SSL을 구성하고 HTTPS를 통해서만 제공할 수 있습니다. 또한 Mozilla SSL 구성 생성기를 사용하여 Nginx 서버에서 SSL을 활성화하는 보안 구성 프로필을 생성할 수 있습니다. 생성된 구성을 사용하면 알려진 취약한 프로토콜(예: SSLv2 및 SSLv3), 암호 및 해시 알고리즘(예: 3DES 및 MD5)이 비활성화됩니다. SSL 서버 테스트를 사용하여 구성이 최신 보안 요구 사항을 충족하는지 확인할 수도 있습니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat