apache server tokens

agnusdei·2024년 7월 26일
0

Apache 서버의 ServerTokens 지시자는 HTTP 응답 헤더에 포함되는 서버 정보의 상세 수준을 제어하는 데 사용됩니다. 보안적인 관점에서 이 설정은 매우 중요합니다. 왜냐하면, 공격자가 서버 정보를 통해 해당 서버에 존재할 수 있는 취약점을 추측하고 이를 이용하여 공격을 시도할 수 있기 때문입니다.

ServerTokens 지시자의 설정 옵션

ServerTokens 지시자는 다음과 같은 여러 옵션을 가질 수 있으며, 각 옵션은 서버 정보의 상세 수준을 결정합니다:

  • ServerTokens Full:

    • 서버와 관련된 모든 정보(예: Apache/2.4.46 (Unix) PHP/7.4.11)를 포함합니다.
    • 보안 위험: 이 설정은 서버의 정확한 버전 및 운영 체제 정보를 노출하여 공격자가 취약점을 찾는 데 도움을 줄 수 있습니다.
  • ServerTokens Prod:

    • 최소한의 정보만 포함합니다(예: Apache).
    • 보안 이점: 이 설정은 서버에 대한 상세 정보를 숨기므로, 공격자가 서버 소프트웨어 버전을 추측하기 어렵게 만듭니다.
  • ServerTokens Major:

    • 서버의 메이저 버전 정보만 포함합니다(예: Apache/2).
    • 보안 위험 감소: 메이저 버전만 노출되므로, 전체 버전을 알 수 없습니다.
  • ServerTokens Minor:

    • 서버의 마이너 버전 정보까지 포함합니다(예: Apache/2.4).
    • 보안 위험: 여전히 상당한 정보가 노출되므로, 일부 공격자가 버전 관련 취약점을 추측할 수 있습니다.
  • ServerTokens Minimal:

    • 서버의 주 버전 정보만 포함합니다(예: Apache/2.4).
    • 보안 위험 감소: 보다 구체적인 버전 정보가 숨겨져 있어 안전합니다.
  • ServerTokens OS:

    • 서버와 운영 체제 정보를 포함합니다(예: Apache/2.4.46 (Unix)).
    • 보안 위험: 운영 체제 정보까지 포함되어 있어 공격자가 더 많은 정보를 얻게 됩니다.

보안 권장 사항

보안적인 측면에서, 서버 정보의 노출을 최소화하는 것이 좋습니다. 따라서 ServerTokens 지시자는 Prod 또는 최소한 Major로 설정하는 것이 권장됩니다.

설정 방법

Apache 설정 파일(httpd.conf 또는 apache2.conf)에서 ServerTokens 지시자를 설정할 수 있습니다. 다음과 같이 설정 파일에 추가하거나 수정합니다:

ServerTokens Prod

이 설정을 적용한 후 Apache 서버를 재시작해야 합니다:

# Debian/Ubuntu
sudo systemctl restart apache2

# Red Hat/CentOS
sudo systemctl restart httpd

추가 보안 설정: ServerSignature

또한, ServerSignature 지시자를 사용하여 서버에서 제공하는 에러 페이지나 디렉토리 리스팅에서 서버 정보를 제거할 수 있습니다. 보안을 강화하기 위해 이 지시자를 Off로 설정하는 것이 좋습니다:

ServerSignature Off

이를 통해 Apache가 에러 페이지에 서버 정보를 포함하지 않도록 할 수 있습니다. 설정 후, Apache 서버를 재시작해야 합니다.

결론

ServerTokens 지시자를 적절히 설정하여 서버 정보를 최소화하는 것은 보안 강화를 위한 중요한 단계입니다. 이를 통해 공격자가 서버 정보를 기반으로 취약점을 찾는 것을 어렵게 만들 수 있습니다. 항상 최신 보안 업데이트를 적용하고, 보안 설정을 최적화하는 것이 중요합니다.

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글