"HTTP 404 페이지 아파치 버전 숨기기"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 21개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;404 Not Found 아파치 버전 숨기기
;Hiding Apache Version Information on Errors
;HTTP 404 Not Found 아파치 버전 숨기기
;ServerSignature Off


==문제 상황==
==문제 상황==
*404 Not Found 페이지에서 아파치 버전과 OS가 노출된다.
*404 Not Found 페이지에서 아파치 버전과 OS 정보가 노출된다.
*이것을 숨기고 싶다.
*이것을 숨기고 싶다.
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# curl http://localhost/asdfasdf
[root@zetawiki ~]# curl http://localhost/asdfasdf
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<html><head>
19번째 줄: 21번째 줄:


==확인==
==확인==
<source lang='dos'>
* 기본값은 ServerSignature On
[root@jmnote ~]# cat /etc/httpd/conf/httpd.conf | grep ServerSignature On
* 서버 정보를 표시하게 되어 있음
;CentOS
<source lang='console'>
[root@zetawiki ~]# cat /etc/httpd/conf/httpd.conf | grep ServerSignature
ServerSignature On
</source>
;우분투
<source lang='console'>
root@zetawiki:~# cat /etc/apache2/conf-enabled/security.conf | grep ServerSignature
#ServerSignature Off
ServerSignature On
</source>
</source>
:→ 서버 정보를 표시하게 되어 있음. 이게 기본값


==변경==
==변경==
*아파치 설정파일 httpd.conf를 httpd.conf_old로 복사하여 보존
*아파치 설정파일 httpd.conf를 httpd.conf_old로 복사하여 보존
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_old
[root@zetawiki ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_old
</source>
</source>
*[[sed]]를 이용하여 ServerSignature On을 Off로 치환<ref>sed 대신 vi로 직접 편집해도 된다.</ref>
*[[sed]]를 이용하여 ServerSignature On을 Off로 치환<ref>sed 대신 vi로 직접 편집해도 된다.</ref>
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# sed -i "s/ServerSignature On/ServerSignature Off/g" /etc/httpd/conf/httpd.conf
[root@zetawiki ~]# sed -i "s/ServerSignature On/ServerSignature Off/g" /etc/httpd/conf/httpd.conf
</source>
</source>
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# diff /etc/httpd/conf/httpd.conf_old /etc/httpd/conf/httpd.conf
[root@zetawiki ~]# diff /etc/httpd/conf/httpd.conf_old /etc/httpd/conf/httpd.conf
537c537
537c537
< ServerSignature On
< ServerSignature On
42번째 줄: 53번째 줄:
:→ ServerSignature 가 Off로 변경됨
:→ ServerSignature 가 Off로 변경됨
*새 설정을 적용하기 위해 아파치 재시작
*새 설정을 적용하기 위해 아파치 재시작
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# service httpd restart
[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
49번째 줄: 60번째 줄:


==확인 2==
==확인 2==
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# curl http://localhost/asdfasdf
[root@zetawiki ~]# curl http://localhost/asdfasdf
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<html><head>
62번째 줄: 73번째 줄:


==같이 보기==
==같이 보기==
*[[아파치 ServerTokens Prod, ServerSignature Off]]
*[[HTTP 헤더 아파치 버전 숨기기]]
*[[/etc/httpd/conf/httpd.conf]]
*[[아파치 디렉토리 브라우징 막기]]
*[[아파치 404 Not Found]]
*[[HTTP 404]]
*[[sed]]
*[[sed]]
*[[/etc/httpd/conf/httpd.conf]]


[[분류: 아파치]]
[[분류: 아파치]]
[[분류: HTTP 상태 코드]]

2018년 5월 19일 (토) 17:36 기준 최신판

Hiding Apache Version Information on Errors
HTTP 404 Not Found 아파치 버전 숨기기
ServerSignature Off

1 문제 상황[ | ]

  • 404 Not Found 페이지에서 아파치 버전과 OS 정보가 노출된다.
  • 이것을 숨기고 싶다.
[root@zetawiki ~]# curl http://localhost/asdfasdf
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /not_found.php was not found on this server.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at localhost Port 80</address>
</body></html>
→ 아파치 버전은 2.2.3, OS는 CentOS임이 표시됨

2 확인[ | ]

  • 기본값은 ServerSignature On
  • 서버 정보를 표시하게 되어 있음
CentOS
[root@zetawiki ~]# cat /etc/httpd/conf/httpd.conf | grep ServerSignature
ServerSignature On
우분투
root@zetawiki:~# cat /etc/apache2/conf-enabled/security.conf | grep ServerSignature
#ServerSignature Off
ServerSignature On

3 변경[ | ]

  • 아파치 설정파일 httpd.conf를 httpd.conf_old로 복사하여 보존
[root@zetawiki ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_old
  • sed를 이용하여 ServerSignature On을 Off로 치환[1]
[root@zetawiki ~]# sed -i "s/ServerSignature On/ServerSignature Off/g" /etc/httpd/conf/httpd.conf
[root@zetawiki ~]# diff /etc/httpd/conf/httpd.conf_old /etc/httpd/conf/httpd.conf
537c537
< ServerSignature On
---
> ServerSignature Off
→ ServerSignature 가 Off로 변경됨
  • 새 설정을 적용하기 위해 아파치 재시작
[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

4 확인 2[ | ]

[root@zetawiki ~]# curl http://localhost/asdfasdf
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /not_found.php was not found on this server.</p>
</body></html>
→ address 태그 부분이 완전히 사라졌다. 아파치/OS 정보가 노출되지 않음

5 같이 보기[ | ]

  1. sed 대신 vi로 직접 편집해도 된다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}