From a2b53f0395855b9ececc04161a6a7a607671ab06 Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Thu, 2 Jun 2022 11:07:00 +0200 Subject: [PATCH] Run OPA policies during registration --- crates/handlers/src/views/register.rs | 13 ++++++++- crates/templates/src/forms.rs | 3 ++ policies/policy.wasm | Bin 132932 -> 344831 bytes policies/register.rego | 40 +++++++++++++++++++++++++- policies/register_test.rego | 32 +++++++++++++++++++++ 5 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 policies/register_test.rego diff --git a/crates/handlers/src/views/register.rs b/crates/handlers/src/views/register.rs index 4afee4fd..d16d6f2a 100644 --- a/crates/handlers/src/views/register.rs +++ b/crates/handlers/src/views/register.rs @@ -14,7 +14,7 @@ #![allow(clippy::trait_duplication_in_bounds)] -use std::str::FromStr; +use std::{str::FromStr, sync::Arc}; use argon2::Argon2; use axum::{ @@ -29,6 +29,7 @@ use mas_axum_utils::{ }; use mas_config::Encrypter; use mas_email::Mailer; +use mas_policy::PolicyFactory; use mas_router::Route; use mas_storage::user::{ add_user_email, add_user_email_verification_code, register_user, start_session, username_exists, @@ -87,6 +88,7 @@ pub(crate) async fn get( pub(crate) async fn post( Extension(mailer): Extension, + Extension(policy_factory): Extension>, Extension(templates): Extension, Extension(pool): Extension, Query(query): Query, @@ -129,6 +131,15 @@ pub(crate) async fn post( state.add_error_on_field(RegisterFormField::PasswordConfirm, FieldError::Unspecified); } + let mut policy = policy_factory.instanciate().await?; + let res = policy + .evaluate_register(&form.username, &form.email) + .await?; + + if !res { + state.add_error_on_form(FormError::Policy); + } + state }; diff --git a/crates/templates/src/forms.rs b/crates/templates/src/forms.rs index f6e30cce..0ff8583e 100644 --- a/crates/templates/src/forms.rs +++ b/crates/templates/src/forms.rs @@ -52,6 +52,9 @@ pub enum FormError { /// There was an internal error Internal, + + /// Denied by the policy + Policy, } #[derive(Debug, Default, Serialize)] diff --git a/policies/policy.wasm b/policies/policy.wasm index 2e50bf6e7f21733854f48c75cf4f31b4f0f93633..86dc66222a5b715fccc1488ba45be8d405cb6b97 100644 GIT binary patch literal 344831 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 delta 1251 zcmd5+O-vI(6yDjHVcSj%LxKcjk!|%*E<~fD95gUQ4@N@3iyTNukp@9%o3_LdK`t6e zG(@t8N$}?&EHuiWG@-;0ehMUjO$4GGh@uBI8oik)dePk$i!^Zeuz54z``$P2eUqKv zHxJBr8AhuCjN+Ma4VV&5W^+2izz539!}+KY&^b)po}jDtGHaL`C=f?g#cn*Qhbp5jKZ@<-tVNKC%}h6e%_3Xa zs4B^3x(H+-Tj&ZPW5gDq1*ueywsFb|O3Bxkysq{fr zV#At(a7ZHximx*dYB4<4`4j64WvOdC9&_*hh$oJAk3pVx8MK8fz85*R4~Q7@z%NnH zNAm69noBuT=Flhj&p*VkEJ16BHa?vIx~rJI)Yd(~F6q0tF^P;=B9_QV2NBa8i-UmO z=$BX;1MEw`M2iKYXKaX&ZECy*>NQYCdsoQF1_@7FhBBShR40Lb`;0}E7cRrY)}7V_ zw#_i;iU#&h<-UCwW}RVXUse8i9|qMKlx?Z}{W2^rN}lph%PC`8QpSYDED%m(FxRBJ zkVx}et58n%obZP*W73~tl}|l~C#*XTKG166E@?g+gYuCST!uE05LsliSQcq*2DuIp zuZ+Pg$KD->_Le=Ef+uC8Jhlq+&W~&NxB*H98Uy)5jaiG363M?lDOC{nlvTh_!4kq`BuGTx!0Dt@~kO<;{h0{q+n@@6{Q+uMZ?ImqK` zc7r!LV}NfBpbL>e2st2MdV;1S_Xkm~m>C1&#UPIKo7YRcXO zCOzk^ZFFA>z6FxL3Ap*^5yW`+E40pA*O4{ya2?e^{*+<&@$C9z1$C~VtHAHBZwLh4 f{sLE1llSTzHq^E>GzA+xf%#o;)dIg$iUWTD>Q8dk diff --git a/policies/register.rego b/policies/register.rego index 8e6aa412..c918288e 100644 --- a/policies/register.rego +++ b/policies/register.rego @@ -1,3 +1,41 @@ package register -allow := true +import future.keywords.in + +default allow := false +allow := true { + count(violation) == 0 +} + +violation[{"field": "username", "msg": "username too short"}] { + count(input.user.username) <= 2 +} + +violation[{"field": "username", "msg": "username too long"}] { + count(input.user.username) >= 15 +} + +# Allow any domains if the data.allowed_domains array is not set +email_domain_allowed { + not data.allowed_domains +} + +# Allow an email only if its domain is in the list of allowed domains +email_domain_allowed { + [_, domain] := split(input.user.email, "@") + some allowed_domain in data.allowed_domains + glob.match(allowed_domain, ["."], domain) +} + +violation[{"field": "email", "msg": "email domain not allowed"}] { + not email_domain_allowed +} + +# Deny emails with their domain in the domains banlist +violation[{"field": "email", "msg": "email domain not allowed"}] { + [_, domain] := split(input.user.email, "@") + some banned_domain in data.banned_domains + glob.match(banned_domain, ["."], domain) +} + + diff --git a/policies/register_test.rego b/policies/register_test.rego new file mode 100644 index 00000000..c84a4676 --- /dev/null +++ b/policies/register_test.rego @@ -0,0 +1,32 @@ +package register + +mock_user := {"username": "hello", "email": "hello@staging.element.io"} + +test_allow_all_domains { + allow with input.user as mock_user +} + +test_allowed_domain { + allow + with input.user as mock_user + with data.allowed_domains as ["*.element.io"] +} + +test_not_allowed_domain { + not allow + with input.user as mock_user + with data.allowed_domains as ["example.com"] +} + +test_banned_domain { + not allow + with input.user as mock_user + with data.banned_domains as ["*.element.io"] +} + +test_banned_subdomain { + not allow + with input.user as mock_user + with data.allowed_domains as ["*.element.io"] + with data.banned_domains as ["staging.element.io"] +}