Magento Store를 보호하기 위한 최고의 보안 전략
게시 됨: 2018-03-21(이는 AWS 클라우드의 전용 서버에서 고객 구성을 제공하는 Magento 호스팅 제공업체인 JetRails의 친구가 작성한 게스트 게시물입니다.)
Magento 매장은 해커의 고가치 표적이며 취약점을 최소화하기 위해 엄격한 보안 조치가 필요합니다. 전용 Magento 호스팅 제공업체인 JetRails는 종종 악의적인 공격에 맞서기 위한 긴급 구조원으로 호출됩니다. 우리는 보안 침해가 비즈니스에 미칠 수 있는 치명적인 영향을 직접 경험했습니다.
보안 모범 사례 및 프로토콜을 따르는 것이 Magento 매장을 보호하는 최선의 방어책입니다. 이 체크리스트를 악성 코드 삽입, 맬웨어, 무차별 대입 공격 및 무서운 DDoS를 포함한 가장 일반적인 위협으로부터의 안전 조치에 대한 지침으로 사용하십시오.
Magento 보안 모범 사례
가장 일반적인 온라인 위협으로부터 보호하려면 Magento 보안 모범 사례의 체크리스트를 참조하십시오.
보안 기본 위치
각 Magento 설치에는 관리 목적으로 사용되는 여러 백엔드 폴더가 있습니다. 이러한 진입점은 기본적으로 /admin, /downloader, /var 및 다양한 /rss 끝점에 있습니다. 이러한 폴더는 알려진 특정 위치에 설정되어 있으므로 사이트에 대한 악의적인 공격의 진입로가 될 수 있습니다. 관리자 경로에 대한 무차별 대입 공격은 리소스에 엄청난 부담을 주어 방문자 용량을 제한하고 속도에 영향을 미치며 안정성을 약화시킬 수 있습니다. 이것은 Magento 1.x 설치 대 Magento 2.x 설치(이 안전 프로토콜이 자동으로 필요함)와 가장 밀접하게 관련된 문제입니다. 액세스를 차단하고 관리자 경로를 사용자 지정하고 보호하면 해커가 이 취약점을 악용하기가 훨씬 더 어려워집니다.
이중 인증
2FA라고도 하는 2단계 인증은 관리자 사용자의 로그인 자격 증명을 인증하는 두 번째 보호 수준을 추가하며 Magento 보안의 중요한 구성 요소입니다. 스톡 Magento 설치를 사용하면 보안 제한이 있는 한 가지 인증 방법만 사용자에게 제공됩니다. 2단계 인증을 추가하는 것은 업계 전반에 걸친 모범 사례가 되었으며 웹 사이트를 보호하는 데 필수적입니다. Magento 2FA 플러그인은 JetRails의 Magento 2단계 인증을 포함하여 Magento Marketplace에서 찾을 수 있습니다.
웹 애플리케이션 방화벽
Cloudflare와 같은 WAF(웹 애플리케이션 방화벽)를 활용하면 악성 트래픽이 실제로 서버에 도달하기 전에 차단하여 보안 취약점을 방지할 수 있습니다. WAF는 사용자가 구성한 특정 규칙에 따라 들어오는 트래픽을 필터링, 모니터링 및 차단할 수 있습니다. 예를 들어, Geoblocking을 사용하면 특정 글로벌 지역에서 봇 및/또는 사람의 액세스를 제한할 수 있습니다. Cloudflare WAF의 또 다른 이점은 집단 인텔리전스로, 이를 통해 악성으로 식별된 트래픽뿐만 아니라 전체 Cloudflare 커뮤니티에서 악성으로 간주하는 모든 트래픽을 차단할 수 있습니다. 또한 WAF는 적용되지 않은 Magento 패치에 대한 보호 기능을 제공할 수 있습니다. 그러나 항상 최신 Magento 보안 패치를 설치하는 것과 (매우 정교한) 방화벽에만 의존하는 것이 매우 중요합니다.
Magento 패치 업데이트
Magento의 오픈 소스 소프트웨어는 전자 상거래 커뮤니티에 사이트를 사용자 정의하고 고객의 요구 사항을 충족할 수 있는 엄청난 유연성을 제공합니다. 그러나 보안 프로토콜을 따르고 보안 패치를 업데이트하고 취약성을 억제하는 책임은 상점 소유자와 개발 팀의 조치가 필요합니다.
보안 취약점이 발견되면 Magento 개발자는 특정 코드 라인을 약간 변경합니다. 이 코드 수정은 자체 설치되는 보안 패치로 Magento에서 전송합니다. 해커도 이러한 취약점을 알고 있으므로 보안 패치가 릴리스되는 즉시 설치해야 합니다. 사용하기에 좋은 리소스는 MageReport로, 사이트에서 Magento 패치 설치가 필요한지 확인합니다. 패치 보안 업데이트는 Magento Security Center에서도 찾을 수 있습니다. 패치를 사용할 수 있게 되면 기술 파트너가 알려야 합니다.
타사 플러그인
Magento용 타사 플러그인은 매장 및 고객 경험을 개선하기 위한 끝없는 옵션을 생성할 수 있습니다. 그러나 기능을 추가하면 예기치 않은 취약점이 발생할 수도 있습니다. 타사 플러그인을 설치한 후 보안이 유지되도록 하려면 개발자가 모든 공급업체와 응용 프로그램에서 업데이트를 수동으로 확인해야 합니다. 취약점이 노출되면 타사 플러그인을 주의 깊게 모니터링하고 패치해야 합니다. Magento Marketplace는 Magento 2용 플러그인을 검사하는 데 훨씬 더 엄격해졌지만 동일한 원칙이 Magento 1과 Magento 2 모두에 적용됩니다.
OS/PHP 버전
Magento 설치와 마찬가지로 서버 운영 체제는 최신 커널 및 보안 패치로 최신 상태를 유지해야 합니다. 그렇게 하지 않으면 2018년 초에 노출된 Meltdown 및 Spectre 취약점과 같은 주요 보안 허점이 생겨 악성 코드가 커널 메모리를 읽을 수 있게 되었습니다.
이것은 Magento 소스 코드를 읽고 실행하는 PHP에서도 마찬가지입니다. PHP의 모든 새로운 반복은 후속 버전에서 노출된 취약점을 보호합니다. 또한 이전 PHP 버전은 PCI 규정 준수 검사를 통과하지 못합니다.
커널 및 관련 서비스를 포함하여 전체 소프트웨어 스택을 유지 관리할 책임이 있는 관리 서비스 공급자와 협력하는 것이 매우 중요합니다.
PCI 규정 준수
PCI DSS(Payment Card Industry Data Security Standard)는 신용 카드 결제를 허용하는 모든 규모의 회사에 적용됩니다. 대부분의 Magento 매장은 고객 계정을 다루기 때문에 PCI 규정 준수 표준을 충족하는 것이 현명합니다. 회사에서 카드 결제를 수락하고 고객 카드 소지자 데이터를 처리하려는 경우 PCI 호환 호스팅 제공업체에서도 데이터를 안전하게 호스팅해야 합니다. Trustwave와 같은 승인된 공급업체를 통해 PCI 스캔을 실행하면 PCI 규정 준수를 획득하는 데 방해가 될 수 있는 보안 문제를 발견할 수 있습니다.
최소 권한 액세스
악의적인 행위로부터 Magento 웹사이트를 보호하기 위한 또 다른 중요한 디자인 고려 사항은 최소 권한 액세스의 개념입니다. 이 원칙은 사용자가 특정 작업을 수행하는 데 필요한 최소한의 기능 하위 집합에만 액세스할 수 있도록 요구합니다. 예를 들어 배송 부서의 직원은 배송 기능에만 액세스할 수 있어야 합니다. 마찬가지로 청구에 있는 사람은 청구에 영향을 줄 수 있는 기능만 있어야 합니다. 읽기 전용 권한을 조합하여 사용하고 부서를 분리하여 민감한 고객 데이터의 보안을 강화합니다.
액세스 보안
암호는 정기적으로 변경해야 하며 공유해서는 안 됩니다. 좋은 암호 프로토콜을 실행하는 것은 보안에 필수적입니다. 일반 텍스트 이메일, SMS, IM, 지원 티켓 또는 기타 암호화되지 않은 방법으로 비밀번호를 보내지 마십시오. 시스템 액세스의 경우 일반적으로 셸 또는 SFTP 사용자에게 암호 인증을 허용하는 것은 좋지 않습니다. 가능하면 비밀번호 대신 SSH 키를 사용하십시오.
비밀번호를 안전하게 저장할 수 있는 훌륭한 리소스는 모든 브라우저와 모바일 장치에서 작동하는 무료 관리 시스템인 LastPass입니다. 또한 보안 암호를 생성할 수 있으며 현재 사용 가능한 가장 강력한 암호화 표준을 제공합니다.
개발 환경 보호
개발자가 아닌 다른 사람이 개발 환경에 액세스할 수 없도록 제한하는 것이 매우 중요합니다. 개발 환경은 똑같이 가치 있는 정보가 있는 프로덕션(라이브) 사이트의 미러라는 것을 기억하십시오. 종종 개발자는 dev와 prod 모두에서 비밀번호와 SSH 키를 재사용하므로 두 환경 모두에서 동일한 엄격한 보안 프로토콜을 유지하는 것이 중요합니다.
훌륭한 팀으로 자신을 둘러싸십시오
이러한 각 단계는 서로 다른 보호 계층을 제공하며 Magento 매장에 대한 위험을 완화하고 위협을 제거하는 데 도움이 되는 보안 전략에 통합될 수 있습니다. 좋은 호스팅 회사 및 견고한 개발 팀과 협력하는 것은 견고한 보안 계획을 달성하는 데 기본입니다. 결국 전자 상거래 사이트를 보호하는 것은 자산, 고객 및 평판을 보호하는 것입니다.
저자 소개: Davida Wexler, JetRails 마케팅 이사
Davida Wexler는 전용 서버와 AWS 클라우드에서 사용자 지정 구성을 제공하는 Magento 호스팅 제공업체인 JetRails의 마케팅 이사입니다. 시카고에 사무실을 두고 있는 JetRails는 전자상거래 플랫폼의 보안, 가속화 및 성능에 중점을 두고 있습니다. 이 회사는 고객의 성장을 돕고 Magento의 성공을 주도하는 데 열정적입니다. 결국 그들은 전자 상거래가 서버가 아니라 사람에 관한 것이라고 믿습니다. *Davida는 nChannel의 직원이 아닙니다. 그녀는 게스트 블로거입니다.