본문 바로가기
정보보안기사&CISSP관련/Application Security

[Day 59] Apache 설정파일(httpd.conf) 주요 지시자

by minimalist_2022 2020. 10. 8.

일반 설정

ServerRoot "/etc/httpd"  웹서버가 설치된 최상위 디렉토리 경로 지정
Listen 80 클라이언트가 접속할 웹서버의 리스닝 포트 지정

User nobody
Group nobody

서버 프로세스를 실행할 User, Group 지정
보안상 root가 아닌 별도의 유저와 그룹 지정
ServerTokens   Prod HTTP 응답 시, 헤더의 Server 필드를 통해 제공되는 웹서버 관련 정보를 최소한으로 설정(권장설정)
ServerSignature Off 웹서버에서 생성하는 에러메시지 사용안함
DocumentRoot   "/var/www/html" 웹 문서가 위치하는 최상위 디렉토리
DirectoryIndex   index.php index.html 클라이언트가 디렉토리만 명시하여 요청한 경우, 명시한 순서대로 해당 자원을 검색함
해당 자원이 없으면 에러 메시지를 반환하며, 만약 디렉토리 인덱싱 기능이 활성화되어 있다면 파일 목록을 반환함(취약점)

타임아웃 관련 설정

Timeout   120 클라이언트와 서버 연결 후 타임아웃 설정 시간동안 아무런 메시지가 없으면 연결 끊김
KeepAlive   On 클라이언트와 서버 프로세스간의 연결을 일정 조건에 따라 지속시키는 설정
원래대로면 매번 클라이언트 요청에 대해 연결 설정하고 응답 후 연결을 종료해야 하지만, tcp 연결 부하를 줄이기 위해 KeepAlive 설정을 On 시킴
MaxKeepAliveRequests   100 KeepAlive 기능 사용 시, 클라이언트와 서버 프로세스간에 동시 연결 최대 허용 건수
KeepAliveTimeout   15 KeepAlive 기능 사용 시, 클라이언트와 서버간 연결 유지 시간
RequestReadTimeout   header=5 body=10 클라이언트로부터 Request Message 받을 때 헤더부와 바디부를 모두 수신하는 시간 제한
해당 시간 내에 모두 수신못하면 408(Request Timeout)메시지 반환
Slow 계열 HTTP DoS공격 차단 목적
   

로그 관련 설정

Errorlog /logs/error_log 에러 로그파일 경로 지정
Customlog logs/access_log combined 접속기록을 저장하기 위한 로그파일 경로 지정

※ 참고 : 알기사 정보보안기사 실기 교재