런타임 보안
보안은 어떻게 처리됩니까? Mendix 앱?
보안이 어떻게 처리되는지 이해하기 전에 Mendix 응용 프로그램을 사용하는 경우 이해하는 것이 중요합니다. Mendix 런타임 아키텍처.
안에 Mendix 응용 프로그램에서 UI 계층은 다음과 같이 구현됩니다. Mendix 브라우저에서 실행되는 JavaScript 라이브러리로서의 클라이언트. 네이티브 모바일 애플리케이션의 경우 UI 계층은 React Native 애플리케이션에서 실행되는 JavaScript 애플리케이션 번들로 구현됩니다. 로직 및 데이터 계층은 Mendix 런타임( Mendix 런타임 자체는 Java로 개발되고 Java 가상 머신에서 실행됩니다.
내 Mendix 클라이언트, 우리는 크로스 사이트 스크립팅과 같은 JavaScript 기반 보안 위협에 대한 조치를 구현합니다. 이를 통해 동일한 브라우저에서 실행되는 다른 웹사이트와 웹 애플리케이션이 해당 클라이언트에서 민감한 정보를 얻는 것을 방지합니다. Mendix 앱(예: 쿠키).
게다가, Mendix 런타임은 SQL 주입 및 코드 실행과 같은 서버 측 보안 위협을 처리합니다. 기본적으로 모든 클라이언트( Mendix 클라이언트)는 신뢰할 수 없는 것으로 인식됩니다.
Mendix 앱 개발자는 앱을 빌드할 때 기술적 보안 측면을 고려할 필요가 없습니다. Mendix 앱은 플랫폼이 이를 서비스로 처리하기 때문입니다. 물론, 이는 개발자가 보안을 전혀 고려하지 않아도 된다는 것을 의미하지는 않습니다. 애플리케이션 수준의 권한 부여 및 액세스 권한은 개발자가 애플리케이션 모델에서 구성해야 합니다. 이는 대부분의 기술적 보안 측면은 일반적으로 해결할 수 있는 반면, 데이터에 액세스하기 위한 전제 조건인 비즈니스 규칙 및 요구 사항은 각 애플리케이션 및 비즈니스마다 다를 수 있기 때문입니다.
각 작업 내의 Mendix 런타임은 "액션"이라고 합니다. Mendix 런타임은 워크플로 트리거 및 실행, 비즈니스 규칙 평가와 같은 많은 미리 정의된 작업을 제공합니다. 기술적 보안 메커니즘을 우회하는 것을 방지하기 위해 이러한 작업은 가장 낮은 수준에서 구현됩니다. Mendix 런타임에 적용되며 앱 개발자가 변경할 수 없습니다.
의 핵심 인터페이스 Mendix 런타임(모든 작업의 실행을 담당)에는 사용자 역할당 모든 실행 가능한 작업과 데이터 액세스 규칙이 포함된 보안 매트릭스가 있습니다. 데이터 액세스 규칙은 쿼리가 데이터베이스에 전송될 때 런타임에 적용됩니다. 이를 통해 액세스 규칙 제약 조건의 경계 내에 있는 데이터만 검색됩니다.
내 것은 어떻게 Mendix 앱이 OWASP Top 10과 같은 일반적인 보안 위협을 해결할까요?
따라서 Mendix 런타임 및 Mendix 클라이언트에는 SQL 인젝션, 크로스 사이트 스크립팅(XSS), 크로스 사이트 요청 위조(CSRF), 인증 위반 등 OWASP Top 10에 포함된 여러 위협을 포함하여 다양한 알려진 위협으로부터 애플리케이션을 보호하는 내장 보안 조치가 포함되어 있습니다. 이러한 보안 조치는 매달 외부 침투 테스트를 거칩니다.
따라서 Mendix 런타임 및 Mendix 클라이언트는 업계 리더가 제공하는 최신 정적 분석 및 소프트웨어 구성 분석 기술을 사용하여 매일 검사를 받으며, 완화되지 않은 취약성이 남아 있지 않은지 확인합니다.
어떻게합니까 Mendix 웹 서비스, REST 서비스 및 API를 사용하여 시스템 및 서비스 인터페이스를 인증합니까?
시스템 및 서비스 인터페이스에는 인증과 승인이 필요합니다.
인증을 위해, Mendix 다음의 기술 구현을 지원합니다:
- HTTP 인증. 사용자 이름과 비밀번호를 사용하는 기본 인증이 기본 옵션입니다.
- 웹 서비스 보안 표준. OAuth 액세스 토큰(불투명 또는 JWT)을 사용하는 것이 지원되는 모범 사례입니다.
- Java를 포함한 사용자 정의 인증 메커니즘.
이러한 옵션을 사용하면 ID 전파를 적용할 수 있습니다.
API를 구현할 때 MendixAPI 권한은 애플리케이션 모델에 정의된 권한에서 파생됩니다. OIDC SSO 모듈은 OAuth 액세스 토큰의 유효성을 검사하고 권한 있는 사용자 역할을 할당하는 데 사용할 수 있습니다. Mendix 인간 사용자(사용자 역할, 엔티티 액세스 등)와 '머신 ID'에 동일한 보안 모델을 사용합니다. 머신 ID는 즉시 프로비저닝할 수 있으며, 소비 클라이언트의 API 키나 비밀번호를 소비 API에서 관리할 필요가 없습니다.
액세스 토큰은 제3자 기술을 통해 발급되거나 다음에서 발급될 수 있습니다. Mendix OIDC Provider 모듈을 사용하는 솔루션입니다. 이 모듈은 사람 ID(SSO) 또는 머신 ID에 액세스 토큰을 발급하는 데 사용할 수 있습니다.
예를 들어, 다중 앱 솔루션에서 최종 사용자는 Entra ID에 로그인하고 그 결과 토큰을 사용하여 API를 사용합니다. 예약된 작업은 '머신' ID를 사용하여 API를 사용합니다.