데이터 노출 관련 보안 문제 처리
문맥
데이터 유출 가능성을 발견할 수 있습니다. Mendix 애플리케이션 데이터 보호는 플랫폼과 애플리케이션 개발팀의 공동 책임입니다. Mendix 애플리케이션을 통해 데이터 접근이 제어됩니다. 엔티티 접근 규칙, 모듈 역할사용자 역할 및 XPath 제약 조건이러한 설정이 올바르게 구성되지 않으면 사용자가 의도치 않게 접근이 제한되어야 하는 데이터에 접근할 수 있습니다.
잠재적인 데이터 유출은 다양한 방식으로 발견될 수 있습니다. 정기적인 보안 검토, 침투 테스트, 자동화된 보안 스캔을 통해 발견하거나, 윤리적 해커 또는 보안 연구원의 연락을 통해 발견할 수도 있습니다.
대부분의 경우 이러한 발견 사항은 잘못된 엔티티 액세스 구성, 지나치게 관대한 역할 매핑 또는 애플리케이션 내 불충분한 데이터 제약 조건과 관련이 있습니다. 이는 애플리케이션 수준의 구성 문제이며 취약점이 아닙니다. Mendix 플랫폼 자체.
이 문서에서는 상황을 평가하고, 문제를 해결하며, 향후 유사한 문제 발생 위험을 줄이기 위한 권장 조치를 설명합니다.
이해 Mendix 데이터 보안
Mendix 신청서는 두 부분으로 구성됩니다. Mendix Client최종 사용자의 브라우저 또는 모바일 앱에서 실행되는 것과 Mendix 런타임 서버.
따라서 Mendix 클라이언트는 런타임 서버와 통신하기 위해 다음을 사용합니다. Mendix 클라이언트 API는 런타임 서버의 /xas/ 요청 핸들러에 요청을 보냅니다. 클라이언트 API는 클라이언트에서 오는 요청이 안전하거나 보안이 보장된다고 신뢰할 수 없다는 전제하에 구축되었습니다. 클라이언트는 서버의 제어 범위를 벗어난 최종 사용자의 장치에서 실행되므로, 그곳에서 발생하는 모든 데이터나 작업은 조작될 수 있습니다. "클라이언트에서 발생하는 어떤 것도 안전하다고 볼 수 없다"는 말은 클라이언트에 저장된 모든 것(예: 브라우저)에 적용되는 것이며, 단순히 서버 자체에만 적용되는 것이 아닙니다. Mendix 분야의 다양한 어플리케이션에서 사용됩니다.
따라서,의 Mendix보안은 항상 백엔드, 즉 런타임 서버에서 처리됩니다. 마이크로플로우에 대한 엔티티 액세스 규칙 및 허용된 역할런타임 서버는 최종 사용자가 조작할 수 없습니다.
취약점을 검증하세요
잠재적인 데이터 노출 위험이 확인되면, 첫 번째 단계는 범위와 영향을 파악하는 것입니다. 개발팀은 문제를 재현하고 어떤 엔티티가 영향을 받는지, 어떤 사용자 역할에 접근 권한이 있는지 확인해야 합니다. 특히 다음 사항에 주의를 기울여야 합니다. 익명 사용자 역할 또한 의도했던 것보다 더 광범위한 접근 권한을 가질 수 있는 역할에도 적용됩니다.
노출이 누락되었거나 잘못 구성된 것으로 인한 것인지 확인하는 것이 중요합니다. 엔티티 접근 규칙, 올바르지 않음 모듈 역할 매핑, 불충분 XPath 제약 조건또는 예상되는 검사를 우회하는 마이크로플로우나 공개된 REST 서비스와 같은 사용자 지정 로직.
해당 사안이 악용되었을 가능성이 있는지 파악하기 위해, 웹 서버 및 인프라 로그 비정상적인 트래픽 패턴이나 예상치 못한 데이터 요청을 파악하기 위해 검토할 수 있습니다. 그러나 표준 웹 서버 로그는 특정 /xas 호출이나 검색된 정확한 데이터에 대한 자세한 정보를 제공하지 않습니다. Mendix 런타임은 상세한 데이터 접근 감사 추적 기록을 자동으로 생성하지 않습니다. 데이터 접근에 대한 상세한 감사가 필요한 경우, 그러한 로깅 메커니즘을 구현하는 것은 애플리케이션 소유자의 책임입니다.
개선
해당 문제를 확인한 후, 이를 완화하기 위해 다음과 같은 조치를 권장합니다.
- 영향을 받는 애플리케이션 전체의 엔티티 액세스 구성을 검토해야 합니다. 모든 엔티티에 의도된 보안 모델에 부합하는 명확하게 정의된 액세스 규칙이 있는지 확인하십시오. 모듈 역할 매핑을 신중하게 검증하고 XPath 제약 조건이 데이터 가시성을 적절하게 제한하는지 확인하십시오. 특히 익명 사용자에게 부여된 권한에 주의를 기울여야 합니다. 익명 액세스가 반드시 필요한 경우가 아니라면 비활성화하거나 엄격하게 제한해야 합니다.
- 업그레이드를 고려하세요 되지 않습니다. Mendix 버전 등 Mendix 10리터 또는 Mendix 가능한 경우 11 MTS를 사용하십시오. 이는 향상된 보안 기능과 개선 사항을 제공합니다. 마이그레이션 중에 보안 설정 및 액세스 규칙을 전체적으로 검토하십시오.
- 비즈니스 요구사항에 맞춘 보안 기준을 설정하세요. 여기에는 접근 제어 표준을 명확하게 정의하고, 개발 과정에서 엔티티 권한을 검토하며, 각 릴리스 전에 보안을 검증하는 작업이 포함됩니다. 안전한 개발을 위한 모범 사례는 여기에서 확인할 수 있습니다. 보안 모범 사례.
- 보안을 강화하기 위해 엄격 모드를 활성화하는 것을 권장합니다. 자세한 내용은 여기에서 확인하세요. 엄격한 모드.
- 다음과 같은 도구를 구현하는 것을 고려해 보세요. Ciphix 개발 도구, QSM (품질 및 보안 관리) 또는 옴넥스트 보안 분석을 위해서입니다.
추가 지원 (Additional Support)
애플리케이션 보안 구성에 대해 추가 질문이 있거나 문제가 이와 관련이 있다고 생각되는 경우 Mendix 애플리케이션 설정이 아닌 플랫폼 자체에 대한 문의는 해당 업체로 연락주시기 바랍니다. Mendix 지원합니다.
이 주제에 대한 자세한 내용은 다음을 참조하십시오.