← 전체 목록
서버백업운영

서버 헤더 정보 숨기기로 자동화 공격 타겟이 되는 것을 줄입니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

서버 헤더 정보 노출 차단은 공격자에게 불필요한 정보를 주지 않는 기본 보안 조치입니다. 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

버전 정보가 보인다면 숨겨야 합니다.

Nginx 서버 버전 숨기기

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 버전 숨기기

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곳 인프라 전담)