Compare commits

...

5 Commits

Author SHA1 Message Date
aca 07286b9fb4 new configuration version 2025-04-01 09:56:29 +00:00
aca 81e7ad3071 new configuration version 2025-04-01 07:45:40 +00:00
aca 2ef76e0d1b new configuration version 2025-03-31 16:02:59 +00:00
aca 35d7325a20 new configuration version 2025-03-31 15:37:27 +00:00
aca 10b146e346 new configuration version 2025-03-31 14:10:09 +00:00
22 changed files with 611 additions and 493 deletions

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisAuth"
replicas: 1
version: "8.2411.1"
version: "8.2411.3"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -45,7 +45,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-654fc77cfe9eeb743896b19166144c379a1ad337"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/auth-sts"
credentials: "git-credentials"
keystores:

View File

@ -13,7 +13,7 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisauth/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.3,service.instance.id=$HOSTNAME"
"-Djavax.net.ssl.trustStore=/var/opt/keys/trust/auth-sts-default-tls-trust/truststore.p12"
"-Djavax.net.ssl.trustStorePassword=\${exec:/var/opt/keys/trust/auth-sts-default-tls-trust/keypass}"
)

View File

@ -1,7 +1,7 @@
apiVersion: "operator.nevis-security.ch/v1"
kind: "NevisTrustStore"
metadata:
name: "auth-default-default-signer-trust"
name: "auth-internal-idp-auth-signer-trust"
namespace: "adn-agov-nevisidm-01-uat"
labels:
deploymentTarget: "auth"
@ -10,5 +10,7 @@ metadata:
patternId: "7022472ae407577ae604bbb8"
spec:
keystores:
- name: "auth-sts-sh4r3d-internal-idp-auth-signer"
namespace: "adn-agov-nevisidm-01-uat"
- name: "auth-sh4r3d-internal-idp-auth-signer"
namespace: "adn-agov-nevisidm-01-uat"

View File

@ -12,6 +12,8 @@ spec:
keystores:
- name: "proxy-idp-notused-auth-realm-identity"
namespace: "adn-agov-nevisidm-01-uat"
- name: "proxy-idp-auth-realm-main-idp-identity"
namespace: "adn-agov-nevisidm-01-uat"
- name: "proxy-idp-auth-realm-mobile-fido-uaf-identity"
namespace: "adn-agov-nevisidm-01-uat"
- name: "proxy-idp-auth-realm-recovery-identity"

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisAuth"
replicas: 1
version: "8.2411.1"
version: "8.2411.3"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -45,7 +45,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-1663a8d1d9ae71e0fb7c5af2e10bfc2536ee973b"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/auth"
credentials: "git-credentials"
keystores:
@ -55,7 +55,7 @@ spec:
truststores:
- "auth-default-tls-trust"
- "auth-auth-realm-mobile-fido-uaf-tls-trust-nevisfido"
- "auth-default-default-signer-trust"
- "auth-internal-idp-auth-signer-trust"
- "auth-technical-trust-store"
podSecurity:
policy: "baseline"

View File

@ -167,8 +167,8 @@ def i2r = [:]
// issuer to ResultCond name
def i2e = [:]
i2e.put('https://trustbroker.agov-d.azure.adnovum.net', 'forbidden_0')
i2e.put('https://trustbroker-idp.agov-w.azure.adnovum.net', 'forbidden_1')
i2e.put('https://trustbroker.agov-epr-lab.azure.adnovum.net', 'forbidden_0')
i2e.put('https://trustbroker-idp.agov-epr-lab.azure.adnovum.net', 'forbidden_1')
if (!i2r.isEmpty() && !hasAnyRequiredRole(i2r, issuer)) {

View File

@ -162,33 +162,22 @@ try {
for (String role : getUserAGOVLoiRoles()) {
if (role.startsWith('level')) {
def roleLevel = role.substring(5)
int roleLevelNumber = Integer.parseInt(roleLevel)
if (highestRoleLevelNumber< roleLevelNumber) {
highestRoleLevelNumber=roleLevelNumber
}
if (role.startsWith('level')) {
def roleLevel = role.substring(5)
int roleLevelNumber = Integer.parseInt(roleLevel)
if (highestRoleLevelNumber< roleLevelNumber) {
highestRoleLevelNumber=roleLevelNumber
}
}
}
}
LOG.debug('CheckLoa: Highest role Level ' + highestRoleLevelNumber.toString() +' contextclassref ' + requestedRoleLevelNumber.toString())
LOG.debug('CheckLoa: Compare ' + (highestRoleLevelNumber>=requestedRoleLevelNumber))
LOG.debug('CheckLoa: Compare ' + (highestRoleLevelNumber>=requestedRoleLevelNumber))
//set attribute Actual Role Level
session.setAttribute('agov.actualRoleLevel', '' + highestRoleLevelNumber)
LOG.debug('CheckLoa: actual role level (agov) '+ highestRoleLevelNumber)
// Best Token Available only if account's AQlevel is high enough
if ((session.getAttribute('agov.appAddressRequired') == 'true') && (highestRoleLevelNumber < 200)) {
LOG.debug("Best Token: Address requested but account has to low AQ (${highestRoleLevelNumber})")
session.setAttribute('agov.appAddressRequired', 'false')
}
if ((session.getAttribute('agov.appSvnrAllowed') == 'true') && (highestRoleLevelNumber < 400)) {
LOG.debug("Best Token: SVNr requested but account has to low AQ (${highestRoleLevelNumber})")
session.setAttribute('agov.appSvnrAllowed', 'false')
}
if (highestRoleLevelNumber > 0) {
// set attribute contextClassRefToSet
session.setAttribute('contextClassRefToSet','urn:qa.agov.ch:names:tc:ac:classes:' .concat(highestRoleLevelNumber.toString()))

View File

@ -13,7 +13,7 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisauth/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.3,service.instance.id=$HOSTNAME"
"-Djavax.net.ssl.trustStore=/var/opt/keys/trust/auth-default-tls-trust/truststore.p12"
"-Djavax.net.ssl.trustStorePassword=\${exec:/var/opt/keys/trust/auth-default-tls-trust/keypass}"
)

View File

@ -75,9 +75,18 @@ def dispatchIssuer(i2s, String issuer) {
if (result == null) {
LOG.info("No SP found for issuer '$issuer'. Hint: check SAML SP Connector patterns.")
}
// dispatch different idp if artifact binding is enabled
if(parameters.get('epdMode') == 'artifact' && result == 'epd'){
LOG.debug("EPD: Artifact mode")
result = result + "_artifact"
}else{
LOG.debug("EPD: POST mode")
}
response.setResult(result)
session.put("saml.inbound.issuer", issuer)
session.put('saml.idp.result', result) // remember decision for sub-sequent requests without a SAML message
}
def dispatchMessage(i2s, String message) {
@ -108,8 +117,8 @@ if (request.getSession(false) == null) {
def i2s = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER)
i2s.put('https://trustbroker.agov-d.azure.adnovum.net', 'state0')
i2s.put('https://trustbroker-idp.agov-w.azure.adnovum.net', 'state1')
i2s.put(parameters.get('atb'), 'main')
i2s.put(parameters.get('epd_atb'), 'epd')
if (parameters.get('spInitiated') == 'true' && inargs.containsKey('SAMLRequest')) { // SP-initiated authentication
LOG.debug("found SAMLRequest parameter for SP-initiated authentication")

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisFIDO"
replicas: 1
version: "8.2411.1"
version: "8.2411.2"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-ba0282a303be16d9f91b594506c93c0ad7c1eefb"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/fido-uaf"
credentials: "git-credentials"
database:

View File

@ -7,5 +7,5 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisfido/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
)

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisFIDO"
replicas: 1
version: "8.2411.1"
version: "8.2411.2"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-b0ee5bf8f21b6deb852634ece4565dee10c29032"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/fido2"
credentials: "git-credentials"
keystores:

View File

@ -6,5 +6,5 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisfido/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
)

View File

@ -29,7 +29,7 @@ fido2:
rp-name: "AGOV-RelPartName"
rp-id: "adnovum.net"
origins:
- "https://me.agov-w.azure.adnovum.net"
- "https://ob.agov-w.azure.adnovum.net"
- "https://nevisidm.agov-w.azure.adnovum.net"
- "https://auth.agov-w.azure.adnovum.net"
signature-algorithms:

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisIDM"
replicas: 1
version: "8.2411.1"
version: "8.2411.2"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-35527ce0c286b4891eee379a626de7c5db786735"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/idm"
credentials: "git-credentials"
database:

View File

@ -4,5 +4,5 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
)

View File

@ -11,7 +11,7 @@ metadata:
spec:
type: "NevisLogrend"
replicas: 1
version: "8.2411.1"
version: "8.2411.2"
gitInitVersion: "1.3.0"
runAsNonRoot: true
ports:
@ -44,7 +44,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-68680b2182672bd8a81d786c163e95b91fb89a64"
tag: "r-ba39848d1c443859cdedb92e5cb503a09a1feaca"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/logrend"
credentials: "git-credentials"
podSecurity:

View File

@ -10,5 +10,5 @@ JAVA_OPTS=(
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
"-Dotel.javaagent.logging=application"
"-Dotel.javaagent.configuration-file=/var/opt/nevislogrend/default/conf/otel.properties"
"-Dotel.resource.attributes=service.version=8.2411.1,service.instance.id=$HOSTNAME"
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
)

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-68680b2182672bd8a81d786c163e95b91fb89a64"
tag: "r-d9f8becba9a6acfa30f490d16e18038ab79e9d92"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/proxy-idp"
credentials: "git-credentials"
keystores:

View File

@ -507,7 +507,7 @@
trace = request:getTracer()
if request:getHeader("Origin") then
if not response:getHeader("Access-Control-Allow-Origin") then
domains = {"trustbroker.agov-d.azure.adnovum.net", "auth.agov-w.azure.adnovum.net", "ob.agov-w.azure.adnovum.net"}
domains = {"trustbroker.agov-d.azure.adnovum.net", "auth.agov-w.azure.adnovum.net", "trustbroker-idp.agov-w.azure.adnovum.net", "ob.agov-w.azure.adnovum.net"}
for k, v in pairs(domains) do
trace:info("Accepted domains="..v)
end
@ -1597,10 +1597,10 @@
<param-value>true</param-value>
</init-param>
</servlet>
<!-- source: pattern://e0fda9336be9c69dafc9b69e, pattern://c642107fde6b2e07f16bfedb, pattern://decb9b3f88d430fb5c95f466 -->
<!-- source: pattern://e0fda9336be9c69dafc9b69e, pattern://a6f6dc6affdc7c692ff857b9, pattern://decb9b3f88d430fb5c95f466 -->
<servlet>
<servlet-name>Hosting_Default</servlet-name>
<!-- source: pattern://e0fda9336be9c69dafc9b69e, pattern://c642107fde6b2e07f16bfedb, pattern://decb9b3f88d430fb5c95f466 -->
<!-- source: pattern://e0fda9336be9c69dafc9b69e, pattern://a6f6dc6affdc7c692ff857b9, pattern://decb9b3f88d430fb5c95f466 -->
<servlet-class>ch::nevis::isiweb4::servlet::defaults::DefaultServlet</servlet-class>
</servlet>
<!-- source: pattern://cb8c63274fe346280de0ffd5 -->
@ -1671,7 +1671,7 @@
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/AUTH/RECOVERY/*</url-pattern>
</servlet-mapping>
<!-- source: pattern://c642107fde6b2e07f16bfedb -->
<!-- source: pattern://a6f6dc6affdc7c692ff857b9 -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/SAML2/SSO/*</url-pattern>