웹 보안 스캔 결과, 진짜 문제였던 것과 실제로 한 조치들

2026.01.18 06:49 · 조회 35

최근 웹 보안 스캔을 돌리면 아래와 같은 항목들이 거의 필수처럼 뜬다.

  • Security Misconfiguration (CWE-693)
  • OWASP Top 10 – A5: Security Misconfiguration
  • HSTS 없음
  • CSP 없음
  • X-Frame-Options 없음
  • 업로드 경로 노출
  • robots.txt 민감 경로 노출 등

처음 보면 “문제가 한가득”처럼 보이지만, 모든 경고가 실제 취약점은 아니다.


실제로 위험했던 것과 점수용/권장사항이었던 것을 구분하고 운영 서버에서 실제로 적용한 설정을 정리한다.

기술적인 내용은 ChatGtp로 확인하면서 작업을 했다.

진짜로 위험했던 것들

① HSTS 미설정

HSTS는 브라우저가 HTTPS만 사용하도록 강제하는 헤더다.

  • 공공 Wi-Fi, 프록시 환경에서
  • 최초 HTTP 접속 시 중간자 공격(MITM) 가능성 존재
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;

✔ HTTPS 강제

✔ 서브도메인 포함

✔ 실질적인 공격 벡터 차단


② Content-Security-Policy(CSP) 미설정

CSP는 XSS를 “없애는” 건 아니지만, XSS가 터졌을 때 피해를 크게 줄여준다.

다만 CSP를 바로 강제(enforce)하면 CDN, 외부 스크립트, 레거시 코드 등이 깨질 수 있다.

add_header Content-Security-Policy-Report-Only "default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'" always;

✔ 차단 없이 리포트만

✔ 서비스 영향 없음

✔ “CSP 없음” 지적 해소


③ X-Frame-Options 미설정 (클릭재킹)

관리자 페이지, 설정 페이지가 있는 서비스라면 클릭재킹은 실제 공격 가능하다.

add_header X-Frame-Options "SAMEORIGIN" always;


보안 품질을 높이기 위한 필수 헤더들

① MIME 스니핑 방지

add_header X-Content-Type-Options "nosniff" always; 


② 브라우저 권한 최소화

add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; 


③ Referrer 정책

add_header Referrer-Policy "strict-origin-when-cross-origin" always;


업로드 디렉토리와 민감 경로 처리 (중요)

robots.txt에 특정 경로가 있었고, robots.txt는 보안 기능이 아닌 공격자에게는 “여기 봐라”라고 알려주는 힌트일 뿐이다.

웹에서 쓸 이유 없는 경로는 존재 자체를 숨겼다.

deny all;에서 return 404;로 변경

✔ 존재 숨김

✔ 스캐너/봇 탐색 차단

✔ 공격 표면 최소화


TLS / SSL 관련 지적에 대한 판단

스캔 결과에 아래 같은 항목도 있었다.

  • TLS 1.2 CBC cipher WEAK
  • OCSP Stapling 없음
  • HSTS Preload 아님

이들은 즉각적인 보안 사고와 직결되지는 않으며, 주로 점수/품질/정책 대응용이라 필요하면 개선할 수 있지만 “취약점”으로 보긴 어렵다.


최종 상태 요약

✔ HSTS 정상 적용

✔ 필수 보안 헤더 전부 적용

✔ CSP는 Report-Only로 안전하게 운영

✔ 업로드/민감 경로 외부 접근 완전 차단

✔ robots.txt로 인한 실질 위험 제거

스캐너가 지적한 “문제가 된다”는 항목들은 모두 해결했고 남은 건 점수 개선용 선택 사항뿐


마무리

보안 스캔 결과를 그대로 믿고 전부 막아버리면 서비스가 깨지거나 운영이 어려워진다.

중요한 건 “이게 실제 공격으로 이어질 수 있는가?”

그 기준으로 보면, 막아야 할 것과 나중에 해도 될 것으로 명확하게 구분된다.

댓글 0

아직 댓글이 없습니다.