Apache 버전 번호 및 기타 중요한 정보를 숨기는 방법


원격 요청이 Apache 웹 서버로 전송되면 기본적으로 웹 서버 버전 번호, 서버 운영 체제 세부 정보, 설치된 Apache 모듈 등 일부 중요한 정보가 서버 생성 문서와 함께 클라이언트로 다시 전송됩니다.

이것은 공격자가 취약성을 악용하고 웹 서버에 액세스 할 수있는 많은 정보입니다. 웹 서버 정보를 표시하지 않기 위해이 기사에서는 특정 Apache 지시문을 사용하여 Apache 웹 서버의 정보를 숨기는 방법을 보여줍니다.

두 가지 중요한 지침은 다음과 같습니다.

오류 메시지, mod_proxy ftp 디렉토리 목록, mod_info 출력 등 서버 생성 문서 아래에 서버 이름과 버전 번호를 표시하는 바닥 글 행을 추가 할 수 있습니다.

세 가지 가능한 값이 있습니다.

  1. On – which allows the adding of a trailing footer line in server-generated documents,
  2. Off – disables the footer line and
  3. EMail – creates a “mailto:” reference; which sends a mail to the ServerAdmin of the referenced document.

클라이언트로 다시 전송되는 서버 응답 헤더 필드에 서버 OS 유형에 대한 설명과 활성화 된 Apache 모듈 관련 정보가 포함되어 있는지 확인합니다.

이 지시문에는 다음과 같은 가능한 값이 있습니다 (특정 값이 설정 될 때 클라이언트에 전송되는 샘플 정보 포함).

ServerTokens   Full (or not specified) 
Info sent to clients: Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2 

ServerTokens   Prod[uctOnly] 
Info sent to clients: Server: Apache 

ServerTokens   Major 
Info sent to clients: Server: Apache/2 

ServerTokens   Minor 
Info sent to clients: Server: Apache/2.4 

ServerTokens   Min[imal] 
Info sent to clients: Server: Apache/2.4.2 

ServerTokens   OS 
Info sent to clients: Server: Apache/2.4.2 (Unix) 

참고 : Apache 버전 2.0.44 이후 ServerTokens 지시문은 ServerSignature 지시문에서 제공하는 정보도 제어합니다.

웹 서버 버전 번호, 서버 운영 체제 세부 정보, 설치된 Apache 모듈 등을 숨기려면 선호하는 편집기를 사용하여 Apache 웹 서버 구성 파일을 엽니 다.

$ sudo vi /etc/apache2/apache2.conf        #Debian/Ubuntu systems
$ sudo vi /etc/httpd/conf/httpd.conf       #RHEL/CentOS systems 

그리고 아래 줄을 추가/수정/추가합니다.

ServerTokens Prod
ServerSignature Off 

파일을 저장하고 다음과 같이 Apache 웹 서버를 종료하고 다시 시작합니다.

$ sudo systemctl restart apache2  #SystemD
$ sudo service apache2 restart     #SysVInit

이 기사에서는 Apache 웹 서버 버전 번호를 숨기는 방법과 특정 Apache 지시문을 사용하여 웹 서버에 대한 많은 정보를 설명했습니다.

Apache 웹 서버에서 PHP를 실행하는 경우 PHP 버전 번호를 숨기는 것이 좋습니다.

평소와 같이 아래 댓글 섹션을 통해이 가이드에 대한 생각을 추가 할 수 있습니다.