서버 헤더 정보 노출 차단은 공격자에게 불필요한 정보를 주지 않는 기본 보안 조치입니다. HTTP 응답 헤더에는 기본적으로 서버 소프트웨어와 버전 정보가 포함됩니다. Server: nginx/1.18.0 이나 X-Powered-By: PHP/8.1.12 같은 정보는 공격자가 해당 버전의 CVE 취약점을 바로 찾아서 적용하는 데 활용됩니다. 실제로 자동화된 취약점 스캐너는 이 헤더를 보고 공격 여부를 결정합니다.
curl -I https://병원사이트.com
출력 예시:
HTTP/2 200
server: nginx/1.18.0
x-powered-by: PHP/8.1.12
버전 정보가 보인다면 숨겨야 합니다.
sudo nano /etc/nginx/nginx.conf
http 블록에 추가:
http {
server_tokens off; # 버전 번호 숨기기
# ...
}
적용 후 확인:
sudo nginx -t
sudo systemctl reload nginx
curl -I https://병원사이트.com | grep server
server: nginx 만 나오고 버전 번호가 사라지면 성공입니다.
php.ini에서 설정합니다.
sudo nano /etc/php/8.x/fpm/php.ini
expose_php = Off
변경 후 PHP-FPM 재시작:
sudo systemctl restart php8.1-fpm
curl 재확인 시 X-Powered-By 헤더가 사라집니다.
서버 정보 숨기기와 함께 보안 관련 헤더를 추가하면 브라우저 레벨의 공격도 방어됩니다.
server {
server_tokens off;
# 클릭재킹 방어
add_header X-Frame-Options "SAMEORIGIN" always;
# XSS 필터 활성화
add_header X-XSS-Protection "1; mode=block" always;
# MIME 타입 스니핑 방지
add_header X-Content-Type-Options "nosniff" always;
# 리퍼러 정보 제한
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
}
헤더 설정 결과는 https://securityheaders.com 에서 무료로 점검할 수 있습니다. 점수가 낮다면 부족한 헤더를 추가하세요. 이런 작은 설정들이 모여서 자동화 공격에 덜 걸리는 서버를 만들어줍니다.
AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.
작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)