Open Mon - Fri 10:00-17:00
Status Contact Us Schedule a Call > Click Here

오픈마케팅랩 코멘트: 이전 버전에 있었던 고객 로그인(세션), 카트 이슈, 인벤토리 이슈 등 많은 버그들이 이번 2.4 버전에서 (드디어) 해결 되었습니다. 성능 개선 및 새로운 보안 개선 그리고 ElasticSearch 기본 도입 등 이번 마젠토 2.4 버전은 반드시 업데이트를 권고합니다.


마젠토 2.4 버전이 릴리즈 되었습니다. 이전 버전인 2.3.5 버전에 비해 코어 코드에서 수백가지 이상의 새로운 개선과 이전 버전에서 알려진 버그 및 30여개의 보안 개선이 이루어졌습니다.

주요 내용을 간략하게 요약하면 다음과 같습니다.

마젠토 2.4는 PHP7.4와 Elasticsearch 7.6.x 및 MySql 8을 지원합니다. 기술 스택에 많은 변화가 생겼습니다. 특히 엘라스틱서치를 반드시 사용하게 바뀌었습니다.

이번 마젠토 2.4에서는 아래와 같은 실질적인 보안 향상이 많은 부분에서 이루어졌습니다.

마젠토 2.4 보안 개선

이전 버전들의 알려진 RCE(원격 코드 실행) 및 XSS(Cross-Site Scripting) 취약점 등은 고객 정보에 접근하거나 관리자 세션을 탈취할 수 있습니다. 이러한 문제의 대부분은 해커가 먼저 어드민 액세스 권한을 얻어야 하는데, 이러한 공격을 막기 위해서는 사실 아래와 같은 기본적인 보안 운영 정책을 수립해서 운영을 해야 합니다.

  • IP 허용 목록 운영
  • 2단계 인증
  • VPN 사용
  • 고유한 /admin URL 사용
  • 패스워드의 주기적인 변경 등 많은 노력을 해야 합니다.

이번 마젠토 2.4 버전에서는 사용자 계정 및 Cloud SSH 접속을 위한 2FA(2단계 인증)가 구현되었습니다. 즉 2.4 버전 이후부터는 어드민 페이지 접속을 위해서는 2FA가 필요함을 의미합니다. 2FA는 기본적으로 활성화되며 비활성화 할 수 없습니다. 2단계 인증을 통해 마젠토 2 어드민 계정 보안에 큰 효과가 있을 것으로 예상됩니다.

클라우드 SSH 엑세스 보안은 클라우드 환경에서 SSH 엑세스를 위한 인증 요구 사항을 관리하기 위해 다단계 인증(MFA)를 제공합니다. 2FA에 대한 다단계 인증은 별도로 구성해야 하며 이 기능을 구성하여 사용하는것을 마젠토에서는 강력히 권고하고 있습니다.

템플릿 필터 스트릭 모드가 기본적으로 활성화됩니다. 레거시 모드에서는 사실 템플릿 필터를 사용하는 마젠토 구성 요소들이 RCE(원격 코드 실행) 공격에 취약할 수 있었습니다. 이제 기본적으로 템플릿 필터 스트릭 모드가 활성화되어 RCE 공격을 막을 수 있습니다.

악의적인 사용자가 임의의 자바 스크립트를 실행할 수 없도록 데이터 렌더링은 이제 기본적으로 비활성화되어 있습니다.

이외에도 많은 보안 개선이 이루어졌습니다.

마젠토 2.4 기술 스택

또 기술 스택에도 많은 변화가 생겼습니다.

PHP 7.4 지원이 도입되고 PHP 7.1 / 7.2 버젼은 더 이상 지원하지 않습니다.

PHPUnit도 새롭게 9.x 버젼을 지원하고 6.5 버전은 지원이 중단됩니다.

특히, 이번 마젠토 2.4 버전에서는 엘라스틱서치 7.6.x 버전이 기본 카달로그 검색 엔진이 됩니다. 따라서 ElasticSearch 7.6.x 버전을 사용하지 않으면 마젠토 2.4 버전을 설치하거나 업그레이드 할 수 없습니다.

MySql 8.0을 지원합니다. 5.6 버전은 더 이상 지원하지 않으며, 5.7 버전은 지원합니다.

Zend Framework을 더 이상 사용하지 않습니다.

마젠토 2.4에서 주목할 기능

기능적인 부분에서 주목할 점은 Seller-assisted shopping 기능입니다. 이 기능을 통해 쇼핑 경험에 문제가 있는 고객의 계정으로 엑세스해서 사용자 환경 등을 직접 확인해볼 수 있고 고객을 대신해 고객 어카운트에서 직접 주문을 할 수도 있습니다.

마젠토 2.4 성능 개선

고객 데이터 섹션을 무효화하는 로직이 개선되었습니다. 이전 버전에서 정말 많은 개발자들을 고생시킨 버그였는데, 이를 통해 모든 고객 섹션 데이터를 무효화하는 새로운 방법이 추가되었습니다. 오픈마케팅랩에서도 이 부분 때문에 이전 버전에서 다양한 모듈과 커스터마이징 작업들을 진행했었는데, 이 로직이 2.4 버전에서 드디어 개선이 되었습니다.

Redis 성능에 대한 다중 최적화를 통해 쿼리 수를 최소화 / 최적화합니다. 이를 통해 Redis와 마젠토 네트워크 간 데이터 전송 크기가 감소하며, 로드해야 할 항목들을 자동으로 판별하여 Redis의 CPU 사용을 감소시킵니다.

이전 버전들에서 많은 문제가 있었던 재고 테이블에 대한 SQL 쿼리 결과에 대한 캐싱도 개선이 되었습니다.

카트에 담는 성능도 코드 개선을 통해 25~30% 향상되었습니다.

GraphQL의 향상된 기능을 통해 스토어 픽업 쿼리를 통해 재고 확인 후 스토어 픽업 기능을 지원하며, 이제 기본적으로 이전에 주문한 제품들을 카트에 다시 담기 등을 지원합니다.

이외에도 수백가지 개선이 이루어졌고 이전 버전의 많은 버그들이 패치되었습니다.

마젠토 2.4로 업그레이드 해야할까요?

네, 반드시 하는걸 추천합니다. 기본적으로는 이전 2.3.x 버전들과 비교해 메이저 업데이트이며, 여러가지 기술 스택 등에서도 분기점이 되는 릴리즈라 생각됩니다. 이후의 보안 및 기능 / 성능 패치를 위해서는 이번 버전으로 업그레이드를 해서 준비하시는게 좋은 선택이 될 수 있습니다.

무엇보다, 이전 버전들의 고질적인 버그들 – 고객 세션, 인벤토리, 카트 이슈, 서버 성능 및 이러한 버그들로 인한 서비스 다운 문제에 대해 많은 개선이 이루어졌습니다.

Leave a Reply