소소한 IT이야기/정보보안기사 실기

[정보보안기사] 아파치 주요 설정(feat. apache2.conf)

Klaus 2023. 7. 23. 22:08

1. apache 웹서버 설정 파일

[+] 기존의 경우 httpd.conf 사용하고 있으며,  최근에는 apache2.conf파일을 사용하고 있습니다.

[+] sites-available 디렉터리는 Apache 웹 서버에서 가상 호스팅(Virtual Hosts) 설정 파일들을 포함하는 디렉터리입니다.

2. 주요 설정 및 설명

- 파일 위치

  • Ubuntu와 Debian 기반 시스템에서 주로 /etc/apache2/apache2.conf 경로 존재
  • - 다양한 설정이 포함되어 있으며, 주요 설정 항목들은 아래와 같습니다.

[+] 디렉터리 설정

웹 서버의 보안과 기능을 조정

  1. <Directory />
    • 경로: 루트 디렉터리 (/)
    • 옵션: FollowSymLinks
    • AllowOverride: None
    • 액세스 제한: 모든 사용자에게 거부 (Require all denied)
    이 블록은 웹 서버의 루트 디렉터리에 대한 설정을 정의합니다. 모든 사용자에게 루트 디렉터리에 대한 액세스가 거부되며, FollowSymLinks 옵션을 허용하여 심볼릭 링크를 따라갈 수 있도록 설정됩니다. 또한, AllowOverride가 None으로 설정되어 .htaccess 파일의 사용이 비활성화되어 있습니다.
  2. <Directory /usr/share>
    • 경로: /usr/share 디렉터리
    • AllowOverride: None
    • 액세스 허용: 모든 사용자에게 허용 (Require all granted)
    이 블록은 /usr/share 디렉터리에 대한 설정을 정의합니다. 모든 사용자에게 /usr/share 디렉터리에 대한 액세스가 허용되며, AllowOverride가 None으로 설정되어 .htaccess 파일의 사용이 비활성화되어 있습니다.
  3. <Directory /var/www/>
    • 경로: /var/www/ 디렉터리
    • 옵션: Indexes FollowSymLinks
    • AllowOverride: None
    • 액세스 허용: 모든 사용자에게 허용 (Require all granted)
    이 블록은 /var/www/ 디렉터리에 대한 설정을 정의합니다. 모든 사용자에게 /var/www/ 디렉터리에 대한 액세스가 허용되며, Indexes FollowSymLinks 옵션을 설정하여 디렉터리 색인과 심볼릭 링크를 허용합니다. 또한, AllowOverride가 None으로 설정되어 .htaccess 파일의 사용이 비활성화되어 있습니다.

 

[+] ServerRoot: 웹 서버의 루트 디렉터리 지정

- 일반적으로 Apache 패키지 설치 시 자동으로 설정되며, 변경하기 전까지는 건드리지 않는 것이 좋습니다.

[+] ServerTokens와 ServerSignature: 웹 서버가 클라이언트에게 제공하는 서버 정보 지정

- 보안 상의 이유로 Prod를 추천하며, 상세한 서버 정보를 숨기기 위해서는 ServerSignature Off 설정

 

[+] Timeout: 클라이언트와의 연결 시간 초과를 지정

- 기본적으로 300초(5분)로 설정되어 있으며, 필요에 따라 변경하여 사용

[+] KeepAlive와 MaxKeepAliveRequests 그리고 KeepAliveTimeout: Keep-Alive 기능 사용 여부

- Keep-Alive로 유지할 최대 요청 수와 타임아웃 설정

[+] User와 Group: 웹 서버 프로세스가 동작할 때 사용되는 사용자와 그룹 지정

- 가급적 특정 사용자 및 그룹으로 설정하는 것이 좋습니다. (보안 이슈)

[+] ErrorLog와 LogLevel: 각각 오류 로그 파일의 경로와 로그 레벨 설정

- 오류 로그는 웹 서버 동작과 관련된 오류 정보를 기록하는 데 사용됩니다.

곧 시험........