아파치 보안관련 기본설정

 🔧 기본 설정 항목들

1. ServerTokens & ServerSignature

  • 설명: Apache가 클라이언트에게 서버 정보를 얼마나 제공할지 결정함.

  • 보안 권장 설정:

    ServerTokens Prod
    ServerSignature Off
    • Prod: 버전 정보 없이 "Apache"만 반환.

    • Off: 에러 페이지나 디렉토리 목록에 서버 정보 숨김.


2. Timeout

  • 설명: 클라이언트와의 연결에 대해 Apache가 기다리는 시간.

  • 권장 설정 (성능 및 DoS 방지):

    Timeout 30
    • 기본값 60초 → 30초로 줄이면 유휴 연결을 빠르게 정리 가능.

3. KeepAlive & MaxKeepAliveRequests

  • 설명: 하나의 TCP 연결로 여러 요청을 처리할 수 있게 함.

  • 권장 설정:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

KeepAliveTimeout은 너무 길면 자원 낭비. 일반적으로 2~5초 권장.

4. 디렉토리 보호 설정
<Directory /var/www/html>
    Options -Indexes
    AllowOverride None
    Require all granted
</Directory>

-Indexes: 디렉토리 인덱싱 비활성화.
AllowOverride None: .htaccess 비활성화하여 보안 강화.

Apache에서 HttpOnly 쿠키 설정하기

✅ 방법 1: Apache에서 Set-CookieHttpOnly 추가하기

<IfModule mod_headers.c>
Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure" </IfModule>

🔎 설명:

  • mod_headers 모듈을 사용하여 모든 Set-Cookie 응답 헤더에 HttpOnlySecure 속성을 덧붙임

  • 조건에 따라 Secure는 생략 가능 (HTTP일 경우)


✅ 방법 2: 조건부로 적용 (예: HTTPS 요청일 때만)

<If "%{HTTPS} == 'on'">
Header edit Set-Cookie ^(.*)$ "$1; HttpOnly; Secure" </If>
  • Apache 2.4.7+부터 지원되는 표현식 기반 조건 사용

  • HTTPS 연결일 때만 Secure 플래그 포함




이 블로그의 인기 게시물

티베로 이관 작업 절차

아파치서버설치 (modcluster) 적용 및 Wildfly 서버 이중화 구성 방법