Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
Indhold
| Table of Contents |
|---|
Komponenter
Dette dokument dækker "EMDS (Domibus NSP", som sammen med "MSH Adapter" ), som er en del af EHMI MeddelelsesRegistrering (EMR).
Konfiguration
I folderen "compose/configuration" findes følgende relevante konfigurationsfiler, som indlæses når docker compose startes op:
| domibus/domibus-common.env | Fælles properties som bruges i både "nsp" og "testanvender"-udgaverne af Domibus. |
| domibus/logback.xml | Konfiguration af Domibus'ens logning |
| mysql.cnf | Konfiguration af de MySQL-services som Domibus'en bruger |
| domibus/keystores/Her | ligger de to keystores/truststores Keystores til de to instanser af Domibus'en indtil videre brugere. Det forventes at disse vil udgå som projektet skrider frem.. Når de rigtige test certifikater hentes til "nsp" og "testanvender" bør de to keystores opdateres |
| domibus/gateway_truststore.jks | Truststoren til både "Nsp" og "testanvender" domibus. Indeholder certifikat til SMP'en samt to certifikater til OCES, som alle tre skal vedligeholdes |
| domibus/pmodes/ | Her ligger to eksempler på "pmodes", en til "nsp" (pmode-nsp.xml) og en til "testanvender" (pmode-testanvender.xml). Disse skal manuelt uploades til den pågældende Domibus-installation første gang den startes op. Dette skal ske via browser UI. |
...
Herunder gennemgås de properties der aktuelt er sat.
Properties i domibus-common.env
Bemærk, at password-politikerne herunder er beregnet til testmiljøer, ikke produktion.
Property | Beskrivelse | Default værdi | |||
|---|---|---|---|---|---|
| domibus.payload.encryption.active | Aktiverer kryptering af payloads, så data i hvile er beskyttet. | true | |||
| domibus.passwordPolicy.defaultUser.autogeneratePassword | Bestemmer om Domibus autogenererer password for "admin"-brugeren. Når sat til "false" vil passwordet være sat til "123456". | false | |||
| domibus.passwordPolicy.checkDefaultPassword | Slår kravet fra om, at default-password skal ændres ved første login. | false | |||
| domibus.passwordPolicy.dontReuseLast | Antal tidligere passwords, der ikke må genbruges (0 = ingen begrænsning). | 0 | |||
| domibus.passwordPolicy.expiration | Password-udløb i dage (0 = ingen udløb). | 0 | |||
| domibus.passwordPolicy.pattern | Regex for minimum password-kompleksitet for Domibus-brugere. | ^.*$ | |||
| domibus.properties.passwordPolicy.pattern | Regex-krav til passwords brugt i Domibus’ properties (fx keystore-pw). | ^.*$ | |||
| domibus.plugin.passwordPolicy.pattern | Regex-krav for plugin-brugeres passwords. | ^.*$ | |||
| JAVA_OPTS | JVM-indstillinger, herunder config-lokation og evt. debugging-port. | -Ddomibus.config.location=/domibus-conf -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 | |||
| domibus.security.keystore.location | Initiel placering af keystore (persisteres i DB efter første start). Bemærk, placering er på container-niveau. I docker-compose-fil mappes der til en fil på host-niveau. | /domibus-conf/keystores/gateway_keystore.jks | |||
| domibus.security.keystore.type | Format af keystore (fx JKS). | jks | |||
| domibus.security.keystore.password | Password til keystore-filen. | test123 | domibus.security.truststore.location | Initiel placering af truststore (persisteres i DB efter første start). Bemærk, placering er på container-niveau. I docker-compose-fil mappes der til en fil på host-niveau. | /domibus-conf/keystores/gateway_truststore.jks |
| domibus.security.truststore.type | Format af truststore. | jks | |||
domibus.security.encryption.enabled | Enabler encryption | true | |||
| domibus.security.encryption.keyIdentifier | Key identifier type der bruges til encryption | DirectReference | |||
| domibus.security. | |||||
| signature.enabled | Enabled signatur | true | |||
| domibus.security.signature.keyIdentifier | Key identifier type der bruges til signatur | DirectReference | |||
| domibus.security.signature.pkipath | Angivelse af om domibus skal inkludere den fulde certifikat kæde til signatur | false | Password til truststore-filen. | test123||
| domibus.entityManagerFactory.jpaProperty.hibernate.connection.driver_class | JDBC-driver Hibernate skal bruge til DB-forbindelsen | com.mysql.cj.jdbc.Driver | |||
| domibus.entityManagerFactory.jpaProperty.hibernate.dialect | Hibernate-dialekt der matcher den valgte DB | org.hibernate.dialect.MySQL8Dialect | |||
| domibus.entityManagerFactory.jpaProperty.hibernate.id.new_generator_mappings | Slår nye ID-generator mappings til/fra | false | |||
| domibus.datasource.driverClassName | JDBC driver navn | com.mysql.cj.jdbc.Driver |
Properties i "docker compose"
Herunder bruges værdierne fra "docker-compose-domibus-nsp.yaml" som eksempel.
Property | Beskrivelse | Default værdi |
|---|---|---|
| domibus.database.schema | Navnet på det schema der er oprettet i den tilhørende Mysql-service. | nsp |
| domibus.datasource.url | JDBC-connection string. | jdbc:mysql://domibus-db-nsp:3306/nsp?allowPublicKeyRetrieval=true&useSSL=False |
| domibus.datasource.user | Brugernavn til mysql. | domibus |
| domibus.datasource.password | Password til mysql. | domibus1234 |
| activeMQ.broker.host | Hostnavn på tilhørende ActiveMQ-service. | activemq-nsp |
| domibus.security.key.private.alias | Alias på Domibus'ens private key i keystore. | nspsosi:alias_gwsystem |
| domibus.security.key.private.password | Password på Domibus'ens private key i keystore. | test123Test1234 |
| activeMQdomibus.security.brokertruststore.hostpassword | Hostnavn på tilhørende ActiveMQ-service. | activemq-nsp |
Overvågning
...
| Password på Domibus'ens private key i truststore. | Test1234 | |
| domibus.dynamicdiscovery.useDynamicDiscovery | Angivelse af om domibus skal bruge dynamic discovery | true |
| domibus.dynamicdiscovery.client.specification | Hvilken client der skal bruges til dynamic discovery | PEPPOL |
| domibus.dynamicdiscovery.peppolclient.partyid.type | Hvilken type partyid der bruges | urn:fdc:peppol.eu:2017:identifiers:ap |
| domibus.dynamicdiscovery.transportprofileas4 | Hvilken type transportprofil der ebruges | nemhandel-transport-as4-v2_0 |
| domibus.dynamicdiscovery.peppolclient.partyid.responder.role | Responder role for party'et | http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder |
| domibus.smlzone | URL'en til SML'en | edel.sml-demo.dataudveksling.dk |
mTLS mod SMP
Certifikatet der bruges til mTLS mod SMP'en skal være et MitID certifikat, og for at certifikatet er godkendt skal MedCom tilføje det til konfigurationen i SMP'en. For at gøre det skal følgende ske:
Køre følgende curl: "curl --cert ./tls.crt --key ./tls.key https://registrationservice-demo.nemhandel.dk/nemhandel-pors/rest/business/isAgreementAccepted"
Hvilket vil give noget i stil med følgende output: "ERROR: Current certificate or sector9 user ID (sub) (CVR:33257872-UID:UI:DK-O:G:8d3fa047-c77e-47e4-bdd2-e91488610ce6) has not accepted the NemHandel Agreement.", hvilket vidersende til ehmi@medcom.dk.
Overvågning
TODO
Kendte sårbarheder og mitigering
Den seneste sårbarhedsscanning af domibus har vist eksistensen af følgende sårbarhed (se
| Jira | ||||||
|---|---|---|---|---|---|---|
|
- cve-2026-22732: Er fundet i spring-security-web. Som kan ses her https://spring.io/security/cve-2026-22732 er denne fixet fra version 6.5.9. Der er tilsyneladende en opdatering på vej i domibus, men indtil da så er der mitigeringsmuligheder.
Ved opdateringer af domibus bør denne oversigt ajourføres.
Mitigering af cve-2026-22732
Da sårbarheden handler om, at der i nogle tilfælde ikke bliver skrevet de rigtige headers, så kan man sætte loadbalancer op til at gøre det i stedet:
add_header Cache-Control "no-store, no-cache, must-revalidate, max-age=0" always;
add_header X-Frame-Options "SAMEORIGIN" always;