반응형
INTRO
nginx로 웹 서버를 구축하면 기본적으로 서버 응답에 Server:nginx(+버전명)과 같이
내 서버와 버전을 알 수 있는 값이 들어있다.
0. 서론
- 해당 사항은 평상시에 필요성을 느끼지 못했지만, 최근 GS(Good Software)인증이라는 과정을 준비하며 필요성을 느꼈다.
- nginx는 버전별로 취약점(cve)이 발견되고 있으며, 아래 공식 사이트에서 확인 가능하다.
http://nginx.org/en/security_advisories.html
- 악의적인 목적을 가진 사람이 우리 서버의 버전을 알아내고 취약점을 이용한 공격을 한다면?
1. 버전정보가 노출되지 않도록 처리
- 아래 내용을 server 필드에 추가한다
server_tokens off;
- 이렇게 하면 더 이상 버전 정보가 노출되지 않는다.
그러나 아래와 같이 Server:nginx 항목은 여전히 노출된다.
2. Server 를 노출되지 않도록 처리
- 아래 내용을 server 필드에 추가한다
proxy_pass_header Server;
-참조 : https://stackoverflow.com/questions/246227/how-do-you-change-the-server-header-returned-by-nginx
마무리
이외에도 nginx서버를 실무 수준으로 운영하려면, 취약점에 대한 설정들이 꽤 많이 필요하다. 가급적 보안을 위해 nginx를 최신 버전으로 유지하고, 발견된 취약점에 대한 처리를 해두는 것이 좋다
-퍼가실 때는 출처를 꼭 같이 적어서 올려주세요!
반응형
'DevOps > [Linux]' 카테고리의 다른 글
[Log 관리] Logrotate 를 활용한 로그파일 관리(feat. Nginx) (0) | 2023.02.28 |
---|---|
[ubuntu + Nginx + certbot] certbot을 이용한 https 보안 사용하기 (0) | 2022.11.24 |
[Linux] Swap memory 설정하기 (0) | 2022.11.23 |
[Linux Ubuntu] sudo: command not found 해결하기 (0) | 2022.11.10 |
[ubuntu + apache2 + certbot] certbot을 이용한 https 보안 사용하기 with docker (0) | 2022.11.09 |