XETOWN

하얀 언덕

웹사이트를 운영하면서 생긴 고민이나 노하우를 함께 나눠보세요.
운영 노하우 TIP
2016.09.28 00:09

nginx "Server" 응답헤더 제거하기

조회 수 144 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

이 문서는 nginx 1.8.1 소스코드 컴파일을 한다는 중심으로 서술합니다.

nginx-1.8.1/src/http/ngx_http_header_filter_module.c

 

 

약 48행쯤

static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

주석처리

 

약 281행쯤 "if (r->headers_out.server == NULL) {" 부분 주석처리

/*
    if (r->headers_out.server == NULL) {
        len += clcf->server_tokens ? sizeof(ngx_http_server_full_string) - 1:
                                     sizeof(ngx_http_server_string) - 1;
    }
*/

 

 

 

458행쯤 "    if (r->headers_out.server == NULL) {" 부분 주석처리

   
/*
    if (r->headers_out.server == NULL) {
        if (clcf->server_tokens) {
            p = (u_char *) ngx_http_server_full_string;
            len = sizeof(ngx_http_server_full_string) - 1;

        } else {
            p = (u_char *) ngx_http_server_string;
            len = sizeof(ngx_http_server_string) - 1;
        }

        b->last = ngx_cpymem(b->last, p, len);
    }
*/

 

 

 

 

결과

$ curl -I localhost:8081
HTTP/1.1 200 OK
Date: Tue, 27 Sep 2016 15:08:52 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 27 Sep 2016 15:06:39 GMT
Connection: keep-alive
ETag: "57ea8aff-264"
Accept-Ranges: bytes
 

만약 웹서버 fingerprinting을 완벽히 막고싶다면 기본 에러페이지(300-500대 에러)를 모조리 수정 할 것을 권장합니다.

  • profile
    기진곰 2016.09.28 00:27:41

    server_tokens off; 설정으로 버전만 숨겨도 충분하다고 생각합니다.

     

    어차피 전세계 웹서버 시장을 아파치, nginx, IIS가 사이좋게 나눠먹고 있는데 셋 중 어느 것인지 숨긴다고 보안상 도움이 될 것 같지는 않거든요. 아무리 숨겨도 Metasploit처럼 자동화된 해킹툴을 잠깐만 돌려 보면 어느 서버의 대략 어느 버전인지 알 수 있어요. 게다가 소스 컴파일로 잃는 것이 얻는 것보다 더 많을지도... (소스 컴파일로 설치하시는 분들 중 중요한 보안패치가 나왔을 때 apt나 yum보다 빨리 업데이트하시는 분은 본 적이 없습니다.)

  • ?
    후하니 2016.09.28 00:42:49

    그냥 개인적으로 netcraft.com 같은곳에 사이트 서버랑 웹서버 fingerprinting되는게 찝찝해서 ㅋㅋ;
    실제로 어떤 웹서버를 사용하는지 완벽히 숨길려면 헤더 출력순서부터 에러 문자(nginx에서는 405 Method Not Allowed를 405 Not Allowed로 출력), 특정상황에서 추가적인 헤더를 불러올때 등... 상당히 많이 고쳐야되더군요.
    사실 그냥 써도 별 상관은 없는것 같습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
108 운영이야기 친구들하고 소규모 커뮤니티 운영해보려고합니다. 조언부탁드립니다. 22 Overachiever 2016.11.28 145
107 운영이야기 백업을 증분백업으로 그것도 원격으로 해 놓으니 좋네요. 6 웹지기 2016.11.25 90
106 운영 노하우 TIP spambot에 대응하기 2 휘즈 2016.11.21 79
105 운영 노하우 TIP 임대형 vs 구매형 서버 가격 비교 팁 [수정] 3 기진곰 2016.11.10 176
104 토론/고민 열심히 게임을 만들었는데 아무도 안해주니 참 절망스럽네요... 13 bowon 2016.11.10 214
103 운영 노하우 TIP 네이버 웹마스터도구를 통해 어느순간 색인이 안될때 3 file 가브리엘조 2016.11.06 118
102 토론/고민 XE 3.0이 자리잡을 수 있을까요? 15 dd 2016.10.25 199
101 운영이야기 네이버 웹문서 검색이 또 개편되었네요 8 file 아싸리방가 2016.10.19 199
100 토론/고민 사이트맵 검색도구 어떻게 활용하고 계신가요? 1 이온디 2016.10.18 208
99 운영 노하우 TIP HTTP2 사이트 최적화하기 1 고라자 2016.10.15 141
98 운영이야기 포인트를 사용하라고 기프티콘을 올려도... 7 빵집아저씨 2016.10.03 129
97 운영이야기 알림센터 이런기능 있으면 좋겠네요.. 2 빵집아저씨 2016.09.29 111
96 운영 노하우 TIP SEO에서 제목이 중요 ? 내용이 중요? 4 file 웹지기 2016.09.29 157
» 운영 노하우 TIP nginx "Server" 응답헤더 제거하기 2 후하니 2016.09.28 144
94 운영이야기 WoSign 또는 StartSSL 인증서 사용하시는 분들 필독 10 기진곰 2016.09.27 352
93 운영이야기 타운 팁 덕분에 후원하기 버튼을 만들어 봤습니다. 6 file 빵집아저씨 2016.09.27 126
92 운영이야기 클라우드플레어 한국/미국/일본 접속 속도 비교 15 기진곰 2016.09.25 261
91 운영 노하우 TIP 간단하게 IP국가 알아보기 3 file 후하니 2016.09.25 134
90 운영 노하우 TIP 스케치북 스킨 사용시 가끔씩 아주 느려지는 문제 해결팁 11 기진곰 2016.09.19 208
89 운영이야기 사이트 개설전, 주제 때문에 고민이 됩니다 ^^ 12 빵집아저씨 2016.09.18 140
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...