X-Frame-Options 및 HTTPOnly 쿠키로 WordPress 보안

워드프레스 웹사이트를 XSS, 클릭재킹 및 기타 공격으로부터 보호하는 방법

웹사이트 보안은 온라인 사업 운영에 있어서 매우 중요한 요소입니다. 최근 Acunetix 및 Netsparker를 활용하여 워드프레스 웹사이트의 보안 상태를 점검한 결과, 몇 가지 취약점을 발견했습니다.

  • X-Frame-Options 헤더 누락
  • 쿠키에 HttpOnly 속성 미적용
  • 쿠키에 보안 플래그 미설정

만약 전용 클라우드 또는 VPS 호스팅을 사용하고 있다면, Apache나 Nginx 설정을 통해 직접 이러한 헤더를 추가하여 보안 문제를 해결할 수 있습니다. 하지만 워드프레스 환경에서 직접 처리하고 싶다면 다음과 같은 방법을 사용할 수 있습니다.

참고: 설정 후에는 반드시 보안 헤더 테스트 도구를 사용하여 결과를 확인해야 합니다.

만약 헤더 설정이 제대로 이루어지지 않으면 클릭재킹 공격에 취약해질 수 있습니다. 아래는 Netsparker에서 발견된 내용입니다.

해결 방법:

  • 워드프레스가 설치된 디렉토리로 이동합니다. 공유 호스팅을 사용 중이라면 cPanel에 로그인하여 파일 관리자를 사용할 수 있습니다.
  • wp-config.php 파일을 백업합니다.
  • 파일을 편집하고 다음 코드를 추가합니다.
header('X-Frame-Options: SAMEORIGIN');
  • 저장 후 웹사이트를 새로 고침하여 적용되었는지 확인합니다.

워드프레스 쿠키에 HttpOnly 및 보안 플래그 적용하기

HttpOnly 속성이 설정된 쿠키는 브라우저가 오직 서버에서만 쿠키를 신뢰하도록 하여 XSS 공격으로부터 추가적인 보호를 제공합니다.

쿠키의 보안 플래그는 브라우저에게 보안 SSL 채널을 통해서만 쿠키에 접근할 수 있게 함으로써 세션 쿠키에 대한 추가적인 보호 장치를 제공합니다.

참고: 보안 플래그는 HTTPS 웹사이트에서만 작동합니다. 만약 아직 HTTP를 사용 중이라면 HTTPS로 전환하는 것을 고려해 보세요.

해결 방법:

  • wp-config.php 파일을 백업합니다.
  • 파일을 편집하고 다음 코드를 추가합니다.
@ini_set('session.cookie_httponly', true); 
@ini_set('session.cookie_secure', true); 
@ini_set('session.use_only_cookies', true);
  • 파일을 저장하고 웹사이트를 새로 고침하여 확인합니다.

만약 코드를 직접 수정하는 것이 불편하다면, 쉴드 플러그인을 사용하여 iFrame을 차단하고 XSS 공격으로부터 보호할 수 있습니다.

플러그인을 설치한 후에는 HTTP 헤더 설정에서 활성화해야 합니다.

위에 제시된 방법들이 워드프레스 취약점을 해결하는 데 도움이 되기를 바랍니다.

잠깐만요! 더 나아가고 싶으신가요?

더욱 강화된 보안 헤더를 적용하고 싶으시다면, OWASP에서 권장하는 10가지 보안 헤더를 확인해 보세요. VPS 또는 클라우드 환경에서는 Apache 및 Nginx 설정 가이드를 참고하실 수 있습니다. 만약 공유 호스팅 환경이거나 워드프레스 내에서 처리하고 싶다면, 플러그인을 사용해 보세요.

결론

웹사이트 보안은 어렵고 지속적인 노력이 필요한 과정입니다. 보안 문제를 전문가에게 맡기고 싶다면 Sucuri WAF를 고려해 볼 수 있습니다. 웹사이트 보호와 성능을 동시에 잡을 수 있습니다.

이 기사가 유익했나요? 그렇다면 다른 사람들과 공유해 보는 건 어떨까요?