아파치 보안관련 기본설정
🔧 기본 설정 항목들
1. ServerTokens
& ServerSignature
-
설명: Apache가 클라이언트에게 서버 정보를 얼마나 제공할지 결정함.
보안 권장 설정:
Prod
: 버전 정보 없이 "Apache"만 반환.Off
: 에러 페이지나 디렉토리 목록에 서버 정보 숨김.
2. Timeout
-
설명: 클라이언트와의 연결에 대해 Apache가 기다리는 시간.
-
권장 설정 (성능 및 DoS 방지):
-
기본값 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-Cookie
에 HttpOnly
추가하기
🔎 설명:
-
mod_headers
모듈을 사용하여 모든Set-Cookie
응답 헤더에HttpOnly
와Secure
속성을 덧붙임 -
조건에 따라
Secure
는 생략 가능 (HTTP일 경우)
✅ 방법 2: 조건부로 적용 (예: HTTPS 요청일 때만)
-
Apache 2.4.7+부터 지원되는 표현식 기반 조건 사용
-
HTTPS 연결일 때만
Secure
플래그 포함