Apache는 서버 토큰/서명을 숨기지 않습니다.

Apache는 서버 토큰/서명을 숨기지 않습니다.

나는 이전 버전의 Debian에서 지속적으로 업그레이드된 Jessie 또는 Stretch가 포함된 웹 Apache 서버를 가지고 있습니다(서버에 따라 Squeeze로 시작).

이 모든 것에는 Apache security.conf구성 지시문이 ServerTokens Prod있으며 ServerSignature off이 질문에 따라www.netcraft.com의 호스팅 내역 운영 체제 알 수 없음.

security.conf또한 모든 디렉토리에 존재하는지 확인했습니다 .conf-enabled

이제 재미있는 부분이 있습니다. 일부는 해당 구성을 존중하지 않습니다. 내가 설정할 수 있는 유일한 패턴은 처음부터 Apache로 구성된 최근에 설치된 서버가 이러한 동작을 나타내지 않는다는 것입니다(예: 항상 구성을 따릅니다).

무슨 일이 일어날 수 있나요?

답변1

흥미롭게도 이 구성과 다른 구성을 사용하려면 기본적으로 다음 줄을 사용하여 이후 버전의 Apache에 /etc/apache2/conf-enabled디렉터리를 포함해야 합니다 ./etc/apache2/apache2.conf

IncludeOptional conf-enabled/*.conf

apache2.conf어떤 다른 서버에서는 업그레이드할 때 이전 구성 파일이 유지되었습니다.아니요 이 지시어를 추가하세요. 더욱 혼란스러운 점은 적어도 하나의 서버에서 이를 발견하고 수정했기 때문에 패턴이 확립된 과정을 왜곡한다는 점이다.

따라서 이러한 보안 지시문이 구성된 것처럼 보이지만 Apache는 이를 사용하지 않습니다. Apache는 ServerTokens및의 기본값이 ServerSignature전자의 경우 , Full후자의 경우 이라고 가정합니다 On.

결국 마지막에 추가했어요/etc/apache2/apache2.conf

IncludeOptional conf-enabled/*.conf

Apache 서비스를 다시 시작한 후 상황이 수정되었으며 Apache는 더 이상 추가 구성 데이터를 보고하지 않습니다.

관련 정보