Defaults.Exposed

Defaults.Exposed수정 › 클릭재킹 방지 (X-Frame-Options)

클릭재킹 방지 (X-Frame-Options) 수정 방법

다른 웹사이트가 귀사 사이트를 자신의 사이트 안에 몰래 로드하지 못하게 하는 한 줄의 지시입니다. 이 설정이 없으면 사기꾼이 귀사의 실제 로그인 또는 결제 페이지를 가짜 페이지 뒤에 숨겨 로그인한 고객을 속여 의도하지 않은 행동을 — 결제 승인, 비밀번호 변경, 접근 권한 부여 — 하게 만들 수 있습니다.

비즈니스에 미치는 핵심 영향: 사기꾼이 가짜 사이트 안에 귀사 실제 사이트를 투명하게 삽입하고 로그인한 고객의 돈이나 계정 접근을 탈취할 수 있습니다. 고객에게는 귀사 사이트가 한 것처럼 보입니다. 수정은 무료이며 개발자에게 약 15분이 걸립니다. 켜지 않으면 범죄자와 신중한 구매자 모두 즉시 발견할 수 있는 알려진 격차입니다.

발생 가능한 비용

중요한 이유. 이것은 몇 분 만에 추가할 수 있는 무료 한 줄 설정이며, 로그인한 고객을 대상으로 하는 전체 속임수 분류를 차단합니다. 방어 헤더를 범죄자가 자동화하고 구매자가 찾기 때문에 잃어버린 알려지고 쉽게 확인 가능한 구멍을 남기는 빠른 수정으로, 높은 심각도로 평가되는 가치 있는 점수 웹 보안 검사입니다.

쉬운 설명

누군가 웹사이트를 방문하면 브라우저가 귀사 사이트를 다른 웹사이트 안에 로드하도록 지시받을 수 있습니다. 이것이 클릭재킹이라는 공격의 메커니즘입니다.

트릭: 사기꾼이 자체 페이지를 만들고 귀사 실제 웹사이트를 그 안에 조용히 로드합니다 — 완전히 투명하게 만들어. 그런 다음 자체 콘텐츠를 위에 얹습니다: 화려한 버튼, “동영상 재생”, “경품 수령”. 고객은 공격자의 페이지를 보고 무해한 버튼처럼 보이는 것을 클릭합니다. 하지만 귀사 실제 사이트가 커서 아래에 투명하게 앉아 있으므로 클릭이 귀사 페이지에 실제로 착지합니다 — 결제 확인, 비밀번호 변경, 접근 승인.

클릭재킹 방지는 귀사 웹사이트가 모든 방문자의 브라우저에 보내는 짧고 보이지 않는 지시입니다:

“다른 웹사이트가 나를 그 안에 로드하게 하지 마세요. 누군가 시도하면 거부하세요.”

비즈니스 피해 사례

  1. 보이지 않는 “확인”. 고객이 한 탭에서 귀사 계정 포털에 로그인되어 있습니다. 그들이 “계속” 버튼이 있는 페이지에 도달합니다. 그 버튼 아래에 귀사 실제 “이체 확인” 또는 “이메일 변경” 컨트롤이 숨겨져 있습니다. 그들이 “계속”을 클릭하면 귀사와의 실제 계정에서 변경을 의도치 않게 승인합니다.

  2. 설정 탈취. 공격자가 귀사 계정 설정 페이지를 프레임하고 무해한 게임이나 설문조사를 위에 얹습니다. 몇 번의 클릭으로 설정이 조용히 전환됩니다.

  3. 지연된 거래. 더 큰 고객사가 서명 전 표준 보안 설문지를 보냅니다. 귀사 사이트가 안티 프레이밍 보호를 설정하는지 한 줄이 묻습니다. IT 담당자가 “아니오”라고 답해야 합니다.

  4. 브랜드-미끼 캠페인. 귀사 실제 신뢰받는 페이지가 임베드될 수 있으므로 공격자가 광범위한 피싱 캠페인에서 귀사 로그인이나 결제 페이지를 사용합니다.

  5. 감사 표시. 보험사 스캔 또는 귀사 보안 상태를 검토하는 감사자가 없는 클릭재킹 방지를 발견합니다.

실제 작동 방식

브라우저가 페이지를 요청하면 서버가 페이지와 함께 보이지 않는 “헤더”를 보냅니다. 클릭재킹 방지는 이 헤더를 통해 전달됩니다. 두 가지가 있으며 둘 중 하나가 있으면 검사를 통과합니다:

1. 구형 헤더 — X-Frame-Options:

X-Frame-Options: SAMEORIGIN

두 가지 실용적 값:

2. 현대 헤더 — CSP frame-ancestors:

Content-Security-Policy: frame-ancestors 'self';

더 유연한 제어:

좋은 상태는

가장 강력한 설정은 둘 다 사용합니다. 검사는 둘 중 하나로 충족되지만 둘 다 무료이며 같은 몇 분이 걸리므로 둘 다 설정하지 않을 이유가 없습니다.

수정 방법 (무료, 약 15분)

웹사이트를 담당하는 사람에게 이 섹션을 전달하세요 — 수정은 무료입니다.

1단계 — 얼마나 엄격하게 할지 결정

2단계 — 헤더 추가(플랫폼 선택)

Nginx:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header Content-Security-Policy "frame-ancestors 'self';" always;

Apache:

Header always set X-Frame-Options "SAMEORIGIN"
Header always set Content-Security-Policy "frame-ancestors 'self';"

Microsoft IIS:

<add name="X-Frame-Options" value="SAMEORIGIN" />
<add name="Content-Security-Policy" value="frame-ancestors 'self';" />

Cloudflare: 규칙 → Transform 규칙 → 응답 헤더 수정 → X-Frame-OptionsSAMEORIGIN으로, Content-Security-Policyframe-ancestors 'self';로 설정.

3단계 — 재로드 및 확인

웹 서버를 재로드하거나 CDN 규칙을 배포한 후 라이브 사이트를 로드하고 응답 헤더를 확인합니다.

흔한 실수

FAQ

기술적 지식이 없는데 직접 처리할 수 있나요?

기술적인 부분을 직접 할 필요가 없습니다. 웹사이트 서버나 CDN에 추가되는 단일 설정이며, 개발자나 IT 공급업체가 몇 분 안에 추가할 수 있습니다. 아래 '수정 방법' 섹션을 전달하세요. 수정은 무료입니다.

이것이 귀사 자체 사이트나 합법적인 파트너의 페이지 표시를 막지 않을까요?

너무 엄격하게 설정하면 그럴 수 있습니다. 일반적인 설정('SAMEORIGIN' 또는 'frame-ancestors self')은 귀사 자체 사이트가 자체 페이지를 정상적으로 임베드하도록 허용하며, 외부 사이트만 차단합니다.

소규모 비즈니스 — 실제로 누군가 귀사를 표적으로 삼을까요?

이러한 공격은 수동으로 선택되는 것이 아니라 자동화된 도구로 대규모로 실행됩니다. 소규모 사이트는 이런 기본 보호가 없어 정확히 표적이 됩니다. 격차를 닫는 데 아무런 비용이 들지 않습니다.

'좋은' 설정이 실제로 어떤 것인가요?

SAMEORIGIN(또는 DENY)으로 설정된 X-Frame-Options 헤더 또는 frame-ancestors 지시어가 있는 콘텐츠 보안 정책 — 이상적으로는 둘 다. 검사는 둘 중 하나가 있으면 통과합니다.

이것이 SSL 자물쇠나 HTTPS와 같은 것인가요?

아닙니다. 완전히 다른 것을 보호합니다. HTTPS는 전송 중에 연결을 암호화합니다. 클릭재킹 방지는 귀사 페이지가 다른 사람의 사이트 안에 로드되는 것을 막습니다.

수정하지 않으면 등급이 낮아지나요?

그렇습니다. 이것은 채점된 웹 보안 검사이며 높은 심각도로 표시됩니다.