지금 당장 구현해야 하는 Drupal 보안 전략 7가지! (최고의 Drupal 8 보안 모듈 포함)

게시 됨: 2019-09-25

웹사이트 보안은 일회성 목표가 아니라 많은 관심이 필요한 지속적인 프로세스입니다. 재난을 예방하는 것이 항상 더 나은 선택입니다. Drupal 8 웹사이트를 사용하면 Drupal 보안 팀에서 일부 주요 보안 위험을 처리하는 것에 대해 안심할 수 있습니다. 물론 궁극적으로 Drupal 보안 모범 사례를 따라 웹사이트를 안전하게 보호해야 하는 책임은 귀하에게 있습니다.


Drupal은 수백만 개의 웹사이트를 지원했으며 그 중 많은 웹사이트가 매우 중요한 데이터를 처리합니다. 당연히 Drupal은 정부 웹 사이트, 은행 및 금융 기관, 전자 상거래 상점 등과 같은 중요한 정보를 처리하는 웹 사이트에서 CMS로 선택되었습니다. Drupal 보안 업데이트 및 기능은 OWASP(Open Web Application Security Project)의 상위 10가지 보안 위험을 모두 해결합니다. )


Drupal 8은 미래 지향적이고 지속적인 혁신 접근 방식으로 인해 현재까지 가장 안전한 버전 중 하나로 간주됩니다. Drupal 보안 팀은 Drupal 8이 출시되기 6개월 전에 보안 현상금 프로그램도 발행했습니다. 이 프로그램을 통해 사용자는 Drupal 8의 테스트 실행 및 버그 찾기(및 보고)에 초대되었습니다. 그리고 그들은 심지어 돈을 받았습니다!

Drupal 보안 취약점

커뮤니티가 Drupal의 보안을 매우 중요하게 생각하고 Drupal 보안 업데이트/패치를 계속 출시한다는 것은 말할 필요도 없습니다. Drupal 보안 팀은 취약점이 공개되기 전에도 항상 사전 예방적이며 패치 준비가 되어 있습니다. 예를 들어 Drupal 보안팀은 실제로 악용되기 2일 전에 보안 취약점 업데이트인 SA-CORE-2018-002를 발표했습니다(Drupalgeddon2). 패치 및 Drupal 보안 업데이트가 곧 출시되어 Drupal 사이트 관리자에게 웹사이트를 업데이트하도록 권고했습니다.


보안 취약점에 대한 그의 블로그 중 하나에서 Dries 인용 – "Drupal 보안 팀은 "조정된 공개 정책"을 따릅니다. 문제는 게시된 수정 사항이 있을 때까지 비공개로 유지됩니다. 위협이 해결되고 Drupal 코어의 보안 버전도 사용할 수 있게 되면 공개적으로 발표됩니다. 버그 수정이 가능하더라도 Drupal 보안 팀은 커뮤니케이션에 매우 신중합니다. "


CVE 세부 정보에 의한 Drupal의 취약점 통계에 대한 몇 가지 흥미로운 통찰력:

드루팔 보안

드루팔 보안 취약점

1. 침착하고 최신 정보 유지 – Drupal 보안 업데이트

Drupal 보안 팀은 항상 취약성을 찾고 있습니다. 패치/Drupal 보안 업데이트를 찾으면 즉시 릴리스됩니다. 또한 Drupal 8과 지속적인 혁신을 도입한 이후에는 마이너 릴리스가 더 자주 발생합니다. 이것은 더 좋고 더 안전한 버전의 쉽고 빠른 Drupal 업데이트로 이어졌습니다.
Drupal 버전과 모듈이 최신 상태인지 확인하는 것은 웹사이트의 안전을 보장하기 위해 할 수 있는 최소한의 일입니다. Drupal 기고자들은 항상 최신 정보를 유지하고 재앙을 초래할 수 있는 모든 보안 위협을 찾고 있습니다. Drupal 보안 업데이트는 새로운 기능뿐만 아니라 보안 패치 및 버그 수정과 함께 제공됩니다. Drupal 보안 업데이트 및 공지 사항은 사용자의 이메일에 게시되며 사이트 관리자는 Drupal의 보안을 보장하기 위해 버전을 업데이트해야 합니다.

2. 입력 관리

대부분의 대화형 웹사이트는 사용자로부터 입력을 수집합니다. 웹 사이트 관리자는 이러한 입력을 적절하게 관리하고 처리하지 않으면 높은 보안 위험에 처하게 됩니다. 해커는 웹사이트 데이터에 큰 피해를 줄 수 있는 SQL 코드를 삽입할 수 있습니다.
사용자가 "SELECT", "DROP" 또는 "DELETE"와 같은 SQL 관련 단어를 입력하지 못하도록 하면 웹사이트의 사용자 경험이 손상될 수 있습니다. 대신 Drupal의 보안을 통해 데이터베이스 API에서 사용 가능한 이스케이프 또는 필터링 기능을 사용하여 이러한 유해한 SQL 주입을 제거하고 필터링할 수 있습니다. 코드를 삭제하는 것은 안전한 Drupal 웹사이트를 향한 가장 중요한 단계입니다.

3. 드루팔 8 보안

Drupal 8은 보다 강력하고 안전한 웹사이트를 구축하는 데 어떻게 도움이 됩니까? 다음은 몇 가지 Drupal 8 보안 기능입니다.

  • Symfony – Drupal 8은 Symfony 프레임워크를 채택하여 핵심 Drupal 개발자에게만 국한되지 않고 더 많은 개발자에게 문을 열었습니다. Symfony는 더 안전한 프레임워크일 뿐만 아니라 버그를 수정하고 보안 패치를 만들기 위해 다양한 통찰력을 가진 더 많은 개발자를 불러들였습니다.
  • 나뭇가지 템플릿 – 입력을 더 잘 처리하기 위해 코드를 삭제하는 방법에 대해 논의한 것처럼 Drupal 8에서는 이미 처리되었음을 알려드립니다. 어떻게? Drupal 8이 템플릿 엔진으로 Twig를 채택한 덕분입니다. Twig를 사용하면 자동으로 삭제되므로 추가 필터링 및 입력 이스케이프가 필요하지 않습니다. 또한 Twig의 로직과 프리젠테이션 사이에 별도의 레이어를 적용하기 때문에 SQL 쿼리를 실행하거나 테마 레이어를 오용하는 것이 불가능합니다.
  • 더 안전한 WYSIWYG - Drupal의 WYSIWYG 편집기는 사용자를 위한 훌륭한 편집 도구이지만 XSS 공격과 같은 공격을 수행하는 데 오용될 수도 있습니다. Drupal 보안 모범 사례를 따르는 Drupal 8에서는 이제 필터링된 HTML 형식만 사용할 수 있습니다. 또한 사용자가 이미지를 오용하는 것을 방지하고 CSRF(교차 사이트 요청 위조)를 방지하기 위해 Drupal 8의 핵심 텍스트 필터링을 통해 사용자는 로컬 이미지만 사용할 수 있습니다.
  • 구성 관리 이니셔티브(CMI) – 이 Drupal 8 이니셔티브는 사이트 관리자와 소유자가 코드에서 구성을 추적할 수 있도록 해주기 때문에 효과적입니다. 모든 사이트 구성 변경 사항을 추적하고 감사하여 웹 사이트 구성을 엄격하게 제어할 수 있습니다.

4. Drupal 모듈을 현명하게 선택하십시오

모듈을 설치하기 전에 모듈이 얼마나 활성화되어 있는지 확인하십시오. 모듈 개발자는 충분히 활동적입니까? Drupal 보안 업데이트를 자주 출시합니까? 이전에 다운로드한 적이 있습니까, 아니면 첫 번째 희생양입니까? 언급된 모든 세부 정보는 모듈의 다운로드 페이지 하단에서 찾을 수 있습니다. 또한 모듈이 업데이트되었는지 확인하고 더 이상 사용하지 않는 모듈을 제거하십시오.

5. Drupal 보안 모듈을 구출

겹겹이 겹겹이 덧댄 옷이 겨울 동안 따뜻하게 유지하기 위해 두꺼운 풀오버 하나보다 더 잘 작동하는 것처럼, 귀하의 웹사이트는 겹겹이 접근하는 방식으로 가장 잘 보호됩니다. Drupal 보안 모듈은 웹사이트에 추가적인 보안 계층을 제공할 수 있습니다. 웹사이트에 사용해야 하는 최고의 Drupal 8 보안 모듈 중 일부는 다음과 같습니다.

Drupal 로그인 보안

이 모듈은 사이트 관리자가 사용자 로그인에 다양한 제한을 추가할 수 있도록 하여 Drupal의 보안을 보장합니다. Drupal 로그인 보안 모듈은 계정을 차단하기 전에 잘못된 로그인 시도 횟수를 제한할 수 있습니다. IP 주소에 대한 액세스는 일시적 또는 영구적으로 거부될 수 있습니다.

이중 인증 –

이 Drupal 보안 모듈을 사용하면 사용자가 사용자 ID와 비밀번호로 로그인하면 추가 인증 계층을 추가할 수 있습니다. 휴대전화로 전송된 코드를 입력하는 것과 같습니다.

비밀번호 정책 –

이것은 로그인 양식에 또 다른 보안 계층을 추가하여 봇 및 기타 보안 침해를 방지할 수 있는 훌륭한 Drupal 보안 모듈입니다. 길이, 문자 유형, 대/소문자(대문자/소문자), 구두점 등에 대한 제약과 같은 사용자 암호에 대한 특정 제한을 적용합니다. 또한 사용자가 정기적으로 암호를 변경하도록 합니다(암호 만료 기능).

사용자 이름 열거 방지 –

기본적으로 Drupal은 입력한 사용자 이름이 존재하지 않거나 존재하는지(다른 자격 증명이 잘못된 경우) 알려줍니다. 해커가 실제로 유효한 사용자 이름을 찾기 위해 임의의 사용자 이름을 입력하려는 경우에 유용할 수 있습니다. 이 모듈은 Drupal에서 보안을 활성화하고 표준 오류 메시지를 변경하여 이러한 공격을 방지합니다.

콘텐츠 액세스 -

이름에서 알 수 있듯이 이 모듈을 사용하면 콘텐츠에 대한 더 자세한 액세스 제어를 제공할 수 있습니다. 각 콘텐츠 유형은 사용자 정의 보기, 편집 또는 삭제 권한으로 지정할 수 있습니다. 콘텐츠 유형에 대한 권한을 역할 및 작성자별로 관리할 수 있습니다.

코더 -

코드의 허점은 공격자에게 길을 열어줄 수도 있습니다. Coder 모듈(IDE를 지원하는 명령줄 도구)은 Drupal 코드를 살펴보고 최고의 코딩 사례를 따르지 않은 부분을 알려줍니다.

보안 키트 -

이 Drupal 보안 모듈은 많은 위험 처리 기능을 제공합니다. 이 Drupal 88 보안 모듈을 사용하면 교차 사이트 스크립팅(또는 스니핑), CSRF, 클릭재킹, 도청 공격 등과 같은 취약점을 쉽게 처리하고 완화할 수 있습니다.

보안 문자 -

우리가 인간임을 증명하는 것을 싫어하지만 CAPTCHA는 원치 않는 스팸봇을 필터링하는 최고의 Drupal 보안 모듈 중 하나일 것입니다. 이 Drupal 모듈은 스팸봇의 자동화된 스크립트 제출을 방지하고 Drupal 웹사이트의 모든 웹 형식에서 사용할 수 있습니다.

6. 권한 확인

Drupal을 사용하면 관리자, 인증된 사용자, 익명 사용자, 편집자 등과 같은 여러 역할과 사용자를 가질 수 있습니다. 웹사이트 보안을 미세 조정하려면 이러한 각 역할이 특정 유형의 작업만 수행하도록 허용해야 합니다. 예를 들어 익명의 사용자에게는 콘텐츠 보기와 같은 최소한의 권한만 부여해야 합니다. Drupal을 설치하거나 더 많은 모듈을 추가한 후에는 각 역할에 수동으로 액세스 권한을 할당하고 부여하는 것을 잊지 마십시오.

7. HTTPS 가져오기

HTTP를 통해 전송되는 모든 트래픽은 거의 모든 사람이 스누핑하고 기록할 수 있다는 것을 이미 알고 있을 것입니다. 로그인 ID, 비밀번호 및 기타 세션 정보와 같은 정보는 공격자가 움켜잡고 악용할 수 있습니다. 전자 상거래 웹 사이트가 있는 경우 지불 및 개인 정보를 처리하기 때문에 더욱 중요합니다. 서버에 SSL 인증서를 설치하면 전송되는 데이터를 암호화하여 사용자와 서버 간의 연결을 보호합니다. HTTPS 웹사이트는 또한 SEO 순위를 높일 수 있어 투자 가치가 있습니다.