WordPress에 HTTP 보안 헤더를 추가하는 방법

게시 됨: 2021-04-20

WordPress 웹 사이트를 디자인할 때 너무 안전한 것은 없습니다. 모든 안전 계층은 귀하와 귀하의 고객 정보가 계속 보호된다는 추가 보증입니다. 그러나 불행히도 일부 안전 조치는 다른 방식으로 사용자를 방해할 수 있습니다 . 이상적으로는 사용자 경험을 위태롭게 하지 않으면서 웹사이트에 추가적인 안전 기능을 추가하는 것이 좋습니다. 그리고 밝혀진 바에 따르면 이것이 바로 HTTP 보안 헤더가 제공하는 것입니다. 그럼 워드프레스에서 HTTP 보안 헤더를 추가하는 방법에 대해 자세히 알아보겠습니다.

HTTP 보안 헤더 이해

HTTP 보안 헤더의 주요 용도는 경고입니다. 방문자가 웹사이트를 방문하면 서버에서 HTTP 헤더 응답을 받습니다 . 응답은 오류 코드, 캐시 제어 및 기타 다양한 측면이 있으면 브라우저에 알려줍니다. 모든 것이 정상이면 헤더 응답은 HTTP 200 상태를 발행합니다. 이를 수신 하면 사용자의 브라우저에 웹사이트를 로드할 수 있는 녹색 표시등이 켜집니다. 그러나 어려움이 있는 경우 사용자는 다른 헤더를 받게 됩니다. 일반적인 예로는 500 내부 서버 오류 또는 404 찾을 수 없음 오류가 있습니다.

404 블록으로 작성되었습니다.
404 오류는 꽤 일반적입니다.

HTTP 보안 헤더는 서버에서 보낼 수 있는 헤더 유형입니다. 크로스 사이트 스크립팅, 무차별 대입 공격, 클릭 재킹 및 기타 다양한 보안 위협에 대해 브라우저에 경고하는 역할을 합니다. HTTP 보안 헤더의 가장 일반적인 유형은 다음과 같습니다.

  • HSTS(HTTP Strict Transport Security) – 이 헤더는 웹 사이트에서 HTTPS를 사용함을 사용자 브라우저에 알립니다.
  • X-XSS 보호 – 이 헤더는 사이트 간 스크립팅을 차단합니다.
  • X-Frame-Options – 이 헤더는 클릭재킹 및 도메인 간 iframe을 방지합니다.
  • X-Content-Type-Options – 이 헤더는 MIME 유형 스니핑을 차단합니다.

보시다시피 보안 헤더는 웹 사이트가 얼마나 안전한지에 중요한 역할을 할 수 있습니다. 따라서 이를 제외하고 웹 사이트에 HTTP 보안 헤더를 통합할 수 있는 몇 가지 방법을 살펴보겠습니다.

WordPress에 HTTP 보안 헤더 추가

HTTP 보안 헤더를 설정하는 가장 좋은 방법은 웹 서버 수준에서 설정하는 것입니다. 이렇게 하면 HTTP 요청이 시작될 때 트리거되도록 하므로 최대한의 안전을 제공할 수 있습니다. 또한 헤더가 서버 수준에서 설정되기 때문에 다른 방문 페이지에 대해 그렇게 하는 것에 대해 걱정할 필요가 없습니다. 다른 옵션은 DSN 수준 웹 사이트 방화벽을 사용하는 것입니다. 이 수준에서 설정하는 것이 일반적으로 더 쉬운 것으로 간주되지만 안전 조치와 관련하여 문제가 될 수 있습니다. 그럼에도 불구하고 우리는 두 가지 방법과 그것들을 적용하는 방법을 살펴볼 것입니다.

워드프레스 플러그인 사용하기

WordPress에 관한 대부분의 경우와 마찬가지로 플러그인을 사용하는 것이 무언가를 변경하는 가장 쉬운 방법입니다. 다행히 HTTP 보안 헤더도 예외는 아닙니다. 가장 먼저 할 일은 Redirection 플러그인을 설치하는 것입니다. 설치하고 활성화하면 설정 마법사가 표시됩니다. 지시에 따라 설정하기만 하면 됩니다. 완료되면 도구 -> 리디렉션 페이지로 이동하여 "사이트" 탭으로 전환합니다. 거기에서 맨 아래로 스크롤하여 "헤더 추가"를 클릭해야 합니다. 표시되는 드롭다운 메뉴에서 "보안 사전 설정 추가" 옵션을 선택할 수 있습니다. 그렇게 하면 HTTP 보안 헤더 목록이 표시됩니다 . 그런 다음 헤더를 검토 및 변경하고(필요한 경우) 마지막으로 웹사이트에 구현할 수 있습니다. 완료되면 "업데이트" 버튼을 클릭하는 것을 잊지 마십시오.

WordPress의 보안 탭.
WordPress에 HTTP 보안 헤더를 추가해야 하지만 웹사이트를 안전하게 유지하려면 다른 플러그인이 필요하다는 것을 알고 있습니다.

.htaccess 사용

이제 평범한 플러그인에서 벗어나 좀 더 복잡한 몇 가지 방법을 살펴보겠습니다. 다음 방법을 사용하면 서버 수준에서 HTTP 보안 헤더를 설정할 수 있습니다. 즉, 당신이 할 일은 웹사이트의 .htaccess 파일을 변경하는 것 입니다. Apache 웹 서버 소프트웨어는 가장 일반적으로 서버 구성에 이 파일을 사용합니다. 이를 변경하려면 FTP 클라이언트를 사용 하거나 호스팅 제어판으로 이동하여 파일 관리자 앱을 사용할 수 있습니다 . 웹사이트의 루트 폴더에서 .htaccess 파일을 찾을 수 있습니다. 그런 다음 마우스 오른쪽 버튼을 클릭하고 편집을 선택합니다.

그렇게 하면 텍스트 편집기가 열립니다. 여기에서 맨 아래로 스크롤하여 HTTP 보안 헤더를 구현할 코드를 추가해야 합니다. 구현하려는 헤더와 관련하여 몇 가지 다양성이 있습니다. 따라서 어떤 헤더가 자신에게 가장 적합한지 알아내기 위해 조금 더 깊이 파고들어야 합니다 . 다음 코드는 가장 일반적으로 사용되는 헤더를 포함하므로 좋은 시작점입니다.


<ifModule mod_headers.c>
헤더 세트 Strict-Transport-Security "max-age=31536000" env=HTTPS
헤더 세트 X-XSS-Protection “1; 모드=차단”
헤더 세트 X-Content-Type-Options nosniff
헤더 세트 X-Frame-Options DENY
헤더 세트 Referrer-Policy: no-referrer-when-downgrade
</if모듈>


코드를 복사한 후 변경 사항을 저장하는 것을 잊지 마십시오.

WordPress에 HTTP 보안 헤더를 추가해야 할 필요성을 보여주는 다양한 국가의 웹사이트에 연결된 노트북.
서버 수준의 보안 조치는 극복하기가 매우 어렵습니다.

Cloudflare 사용

웹 사이트 처리와 관련하여 Cloudfare는 꽤 괜찮은 도구입니다. 이를 사용하면 봇 및 표준 맬웨어 공격으로부터 사용자를 보호하기에 충분한 기본 방화벽을 갖게 됩니다. 그리고 당신은 CDN 서비스를 갖게 될 것입니다. 불행히도 무료 버전에서는 약간 부족할 수 있습니다 . 따라서 마음에 든다면 프리미엄을 선택해야 할 수도 있습니다.

Cloudfare의 또 다른 용도는 WordPress에 HTTP 보안 헤더를 추가할 수 있다는 것입니다. 이렇게 하려면 먼저 설치하고 활성화해야 합니다. 그런 다음 계정 아래의 SSL/TLS 페이지로 이동합니다. 그런 다음 Edge 인증서 탭으로 전환해야 합니다. 이제 아래로 스크롤하여 HSTS(HTTP Strict Transport Security) 섹션을 열어야 합니다. 이제 HSTS 활성화 버튼을 클릭합니다. 여기에서 WordPress 블로그에서 HTTPS를 활성화하라는 메시지가 표시됩니다. 그렇게 하면 HTTP 보안 헤더에 액세스할 수 있습니다.