Apache 버전 번호 및 기타 중요한 정보를 숨기는 방법
원격 요청이 Apache 웹 서버로 전송되면 기본적으로 웹 서버 버전 번호, 서버 운영 체제 세부 정보, 설치된 Apache 모듈 등 일부 중요한 정보가 서버 생성 문서와 함께 클라이언트로 다시 전송됩니다.
이것은 공격자가 취약성을 악용하고 웹 서버에 액세스 할 수있는 많은 정보입니다. 웹 서버 정보를 표시하지 않기 위해이 기사에서는 특정 Apache 지시문을 사용하여 Apache 웹 서버의 정보를 숨기는 방법을 보여줍니다.
두 가지 중요한 지침은 다음과 같습니다.
오류 메시지, mod_proxy ftp 디렉토리 목록, mod_info 출력 등 서버 생성 문서 아래에 서버 이름과 버전 번호를 표시하는 바닥 글 행을 추가 할 수 있습니다.
세 가지 가능한 값이 있습니다.
- On – which allows the adding of a trailing footer line in server-generated documents,
- Off – disables the footer line and
- 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 버전 번호를 숨기는 것이 좋습니다.
평소와 같이 아래 댓글 섹션을 통해이 가이드에 대한 생각을 추가 할 수 있습니다.