일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 스프링부트
- 스프링 부트
- bfs
- HTTP
- 개발자
- spring
- Linux
- 주니어
- 구현
- 인프라
- dfs
- IntelliJ
- 코딩테스트
- 프로그래머스
- 이직
- 해결
- 백엔드
- 자료구조
- 배열
- 도커
- 인텔리제이
- Java
- HashMap
- 문자열
- 스타트업
- 해시맵
- 스프링
- 구름LEVEL
- docker
- spring boot
- Today
- Total
마이의 개발 블로그
[Nginx] 서버 버전 정보 미노출, 필요한 이유와 적용 방법 본문
배경
웹 서버를 운영할 때 흔히 간과하는 보안 요소 중 하나가 서버 버전 정보입니다. 서버 정보를 그대로 노출하면 공격자에게 필요한 정보를 제공하여 보안이 위협받는 위험한 상황이 발생할 수 있는데, 그래서인지 현업에서는 정부 기관 솔루션 납품, 대기업 사내 시스템 구축 등 프로젝트 성격을 불문하고 보안성 심사 지적사항으로 항상 서버정보 노출을 막아달라는 요청이 발생합니다. 오늘은 서버 정보가 노출되었을 때 발생할 수 있는 여러 가지 취약점들에 대해 알아보고 주요 웹 서버중 하나인 Nginx에서의 서버 버전 정보 미노출 처리 방법을 알아보려고 합니다.
서버 버전 정보 노출이 위험한 이유
1. 서버 버전에 따른 취약점이 곧바로 노출되어 공격 대상이 됨
서버 버전이 노출되면 공격자는 해당 버전에서 보고된 취약점을 활용한 공격을 즉시 수행할 수 있습니다. 취약점은 버전별로 공식사이트에 공개되어있기 때문에 만약 버전이 너무 낮거나 보안 패치가 이루어지지 않은 서버라면 공격에 취약할 수밖에 없습니다.
-> 버전 정보를 미노출 처리함으로써 공격자가 취약점을 바로 파고들 수 없게끔 만들 수 있습니다. 공격자는 버전 정보를 알 수 없으므로 다양한 방법과 많은 시간을 들여 공격 루트를 모색해야하고, 이 과정에서 공격자가 공격을 포기하거나, 관리자가 보안 조치를 취할 가능성이 증가하게 됩니다.
2. 자동화 공격의 표적이 될 수 있음
공격자가 자동화 스캐너와 공격 봇을 사용하는 경우 버전 정보가 수집된 서버를 우선순위로 공격하게 됩니다. 한 번 공격 대상으로 특정되면 대량의 공격 요청이 몰리면서 서비스 장애나 서버 리소스 낭비로 이어질 수 있는 가능성이 커집니다. 보안이 뚫리지 않는다고 하더라도 디도스 처리 미흡, 서버 사양의 낮음, 웹 서버 처리 미흡 등을 이유로 서버가 제기능을 하지 못하게되기 때문입니다.
-> 버전 정보를 노출하지 않음으로써 공격 대상에서 제외되거나 공격 우선순위에서 밀릴 가능성을 증가시킬 수 있습니다.
Nginx 버전 정보 미노출 처리 방법
nginx.conf에서 "server_tokens off;" 문자열을 삽입하면 됩니다. 전역 적용이 필요한 경우 http 블록에, 서버별 구분이 필요한 경우 server 블록에 삽입하면 됩니다. 이는 nginx 자체 404 에러페이지에도 적용되므로, 서버 설정 변경이 어렵지 않다면 가급적 적용하기를 추천합니다.
Note
Nginx 버전별 취약점 확인 페이지: https://nginx.org/en/security_advisories.html
'개발지식 > 인프라' 카테고리의 다른 글
[Docker] 도커 멀티스테이지(multi-stage) 빌드, 왜 필요할까? (2) | 2025.07.23 |
---|---|
[Linux] cgroups를 사용해 도커 사용 자원 제한하기 (0) | 2024.12.10 |
[Network] Docker Compose와 Nginx를 이용한 수평 스케일(scale-out)과 로드 밸런싱(Load Balancing) (2) | 2024.12.10 |
[Docker] 도커(Docker) 삭제 후 도커 네트워크 인터페이스를 삭제해야하는 경우 명령어(RHEL 8.8) (0) | 2024.11.22 |
[Linux] 도커(Docker) 동작 중 firewalld를 켜면 서비스가 동작하지 않는 현상(RHEL 8.8) (0) | 2024.11.22 |