From b86c40beaba7b74c1ed3b28d3e26cdee6f186738 Mon Sep 17 00:00:00 2001 From: Julien Perrochet Date: Thu, 31 Oct 2024 15:48:28 +0100 Subject: [PATCH] [uss_qualifier] netrid: DSS0020 - check DSS endpoints are encrypted --- .../netrid/common/dss/endpoint_encryption.py | 83 +++++++++++++++++++ .../scenarios/astm/netrid/v19/dss/__init__.py | 1 + .../netrid/v19/dss/endpoint_encryption.md | 26 ++++++ .../netrid/v19/dss/endpoint_encryption.py | 8 ++ .../netrid/v22a/dss/endpoint_encryption.md | 25 ++++++ .../netrid/v22a/dss/endpoint_encryption.py | 8 ++ .../suites/astm/netrid/f3411_19.md | 7 +- .../astm/netrid/f3411_19/dss_probing.md | 28 ++++--- .../astm/netrid/f3411_19/dss_probing.yaml | 4 + .../suites/astm/netrid/f3411_22a.md | 6 ++ .../astm/netrid/f3411_22a/dss_probing.md | 27 +++--- .../astm/netrid/f3411_22a/dss_probing.yaml | 4 + .../suites/interuss/dss/all_tests.md | 7 +- .../suites/uspace/network_identification.md | 6 ++ .../suites/uspace/required_services.md | 6 ++ 15 files changed, 223 insertions(+), 23 deletions(-) create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/endpoint_encryption.py create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.md create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.py create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.md create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.py diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/endpoint_encryption.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/endpoint_encryption.py new file mode 100644 index 0000000000..ab4f32ee97 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/endpoint_encryption.py @@ -0,0 +1,83 @@ +from urllib.parse import urlparse + +import requests + +from monitoring.uss_qualifier.resources.astm.f3411.dss import DSSInstanceResource +from monitoring.uss_qualifier.scenarios.scenario import GenericTestScenario +from monitoring.uss_qualifier.suites.suite import ExecutionContext + + +class EndpointEncryption(GenericTestScenario): + """ + Ensures that the endpoints of a DSS are not accessible unencrypted. + + TODO: also check that available ciphers are reasonable. + """ + + def __init__( + self, + dss: DSSInstanceResource, + ): + super().__init__() + self._dss = dss.dss_instance + + def run(self, context: ExecutionContext): + self.begin_test_scenario(context) + + if self._dss.base_url.startswith("https://"): + self._case_http_unavailable_or_redirect() + else: + self.record_note( + "encrypted_endpoints", + "Cannot check encryption requirement when DSS endpoint is specified with http:// URL", + ) + + self.end_test_scenario() + + def _case_http_unavailable_or_redirect(self): + self.begin_test_case("Connect to HTTP port") + self.begin_test_step("Attempt to connect to the DSS instance on the HTTP port") + + parsed_url = urlparse(self._dss.base_url) + hostname = parsed_url.hostname + + if hostname is not None: + with self.check( + "Connection to HTTP port fails or redirects to HTTPS port", + self._dss.participant_id, + ) as check: + try: + response = requests.get( + f"http://{hostname}/{parsed_url.path}", + timeout=10, + allow_redirects=False, + ) + # If we can connect, we want to check that we are being redirected: + if response.status_code not in [301, 308]: + check.record_failed( + "Connection to HTTP port did not redirect", + details=f"Was expecting a 301 or 308 response, but obtained status code: {response.status_code}", + ) + if "Location" not in response.headers: + check.record_failed( + "Location header missing in redirect response", + details="Was expecting a Location header in the response, but it was not present", + ) + if response.headers.get("Location").startswith("http://"): + check.record_failed( + "Connection to HTTP port redirected to HTTP", + details=f"Was expecting a redirection to an https:// URL. Location header: {response.headers.get('Location')}", + ) + if not response.headers.get("Location").startswith( + f"https://{parsed_url.hostname}/{parsed_url.path}" + ): + check.record_failed( + "Redirect to unexpected destination", + details=f"Was expecting a redirection to https://{parsed_url.hostname}/{parsed_url.path}, was {response.headers.get('Location')}", + ) + except requests.RequestException: + # Connection was impossible: all is good + pass + + self.end_test_step() + self.end_test_case() diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py index a89cb054cb..d004702b51 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py @@ -7,3 +7,4 @@ from .token_validation import TokenValidation from .crdb_access import CRDBAccess from .heavy_traffic_concurrent import HeavyTrafficConcurrent +from .endpoint_encryption import EndpointEncryption diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.md new file mode 100644 index 0000000000..14926f424c --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.md @@ -0,0 +1,26 @@ +# ASTM NetRID DSS: Endpoint encryption test scenario + +## Overview + +Ensures that a DSS only exposes its endpoints via HTTPS. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../../resources/astm/f3411/dss.py) to be tested in this scenario. + + +## Connect to HTTP port test case + +Tries to connect to the http port (80) of the DSS instance, and expects either a refusal of the connection, +or a redirection to the https port (443). + +Note: this test case will be skipped if the DSS instance is configured to use HTTP. + +### Attempt to connect to the DSS instance on the HTTP port test step + +#### 🛑 Connection to HTTP port fails or redirects to HTTPS port check + +If the DSS instance accepts the connection on the HTTP port and does not immediately redirect to the HTTPS port +upon reception of an HTTP request, it is in violation of **[astm.f3411.v19.DSS0020](../../../../../requirements/astm/f3411/v19.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.py new file mode 100644 index 0000000000..0732eb04d2 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/endpoint_encryption.py @@ -0,0 +1,8 @@ +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss.endpoint_encryption import ( + EndpointEncryption as CommonEndpointEncryption, +) +from monitoring.uss_qualifier.scenarios.scenario import TestScenario + + +class EndpointEncryption(TestScenario, CommonEndpointEncryption): + pass diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.md new file mode 100644 index 0000000000..91f2cdac8a --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.md @@ -0,0 +1,25 @@ +# ASTM NetRID DSS: Endpoint encryption test scenario + +## Overview + +Ensures that a DSS only exposes its endpoints via HTTPS. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../../resources/astm/f3411/dss.py) to be tested in this scenario. + +## Connect to HTTP port test case + +Tries to connect to the http port (80) of the DSS instance, and expects either a refusal of the connection, +or a redirection to the https port (443). + +Note: this test case will be skipped if the DSS instance is configured to use HTTP. + +### Attempt to connect to the DSS instance on the HTTP port test step + +#### 🛑 Connection to HTTP port fails or redirects to HTTPS port check + +If the DSS instance accepts the connection on the HTTP port and does not immediately redirect to the HTTPS port +upon reception of an HTTP request, it is in violation of **[astm.f3411.v22a.DSS0020](../../../../../requirements/astm/f3411/v22a.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.py new file mode 100644 index 0000000000..0732eb04d2 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/endpoint_encryption.py @@ -0,0 +1,8 @@ +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss.endpoint_encryption import ( + EndpointEncryption as CommonEndpointEncryption, +) +from monitoring.uss_qualifier.scenarios.scenario import TestScenario + + +class EndpointEncryption(TestScenario, CommonEndpointEncryption): + pass diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 89bab93543..66cfa16090 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -21,11 +21,16 @@ Checked in - astm
.f3411
.v19
+ astm
.f3411
.v19
DSS0010 Implemented ASTM NetRID DSS: Token Validation + + DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + DSS0030,a Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md index 4353e6d3d2..68f6ddbf49 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md @@ -4,16 +4,17 @@ ## [Actions](../../../README.md#actions) -1. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v19/dss/isa_simple.md) ([`scenarios.astm.netrid.v19.dss.ISASimple`](../../../../scenarios/astm/netrid/v19/dss/isa_simple.py)) -2. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v19/dss/isa_validation.md) ([`scenarios.astm.netrid.v19.dss.ISAValidation`](../../../../scenarios/astm/netrid/v19/dss/isa_validation.py)) -3. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.md) ([`scenarios.astm.netrid.v19.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.py)) -4. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v19.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py)) -5. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.py)) -6. Scenario: [ASTM NetRID DSS: Subscription Simple](../../../../scenarios/astm/netrid/v19/dss/subscription_simple.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionSimple`](../../../../scenarios/astm/netrid/v19/dss/subscription_simple.py)) -7. Scenario: [ASTM F3411-19 NetRID DSS interoperability](../../../../scenarios/astm/netrid/v19/dss_interoperability.md) ([`scenarios.astm.netrid.v19.DSSInteroperability`](../../../../scenarios/astm/netrid/v19/dss_interoperability.py)) -8. Scenario: [ASTM NetRID DSS: Token Validation](../../../../scenarios/astm/netrid/v19/dss/token_validation.md) ([`scenarios.astm.netrid.v19.dss.TokenValidation`](../../../../scenarios/astm/netrid/v19/dss/token_validation.py)) -9. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v19/dss/crdb_access.md) ([`scenarios.astm.netrid.v19.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v19/dss/crdb_access.py)) -10. Scenario: [ASTM NetRID DSS: Concurrent Requests](../../../../scenarios/astm/netrid/v19/dss/heavy_traffic_concurrent.md) ([`scenarios.astm.netrid.v19.dss.HeavyTrafficConcurrent`](../../../../scenarios/astm/netrid/v19/dss/heavy_traffic_concurrent.py)) +1. Scenario: [ASTM NetRID DSS: Endpoint encryption](../../../../scenarios/astm/netrid/v19/dss/endpoint_encryption.md) ([`scenarios.astm.netrid.v19.dss.EndpointEncryption`](../../../../scenarios/astm/netrid/v19/dss/endpoint_encryption.py)) +2. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v19/dss/isa_simple.md) ([`scenarios.astm.netrid.v19.dss.ISASimple`](../../../../scenarios/astm/netrid/v19/dss/isa_simple.py)) +3. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v19/dss/isa_validation.md) ([`scenarios.astm.netrid.v19.dss.ISAValidation`](../../../../scenarios/astm/netrid/v19/dss/isa_validation.py)) +4. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.md) ([`scenarios.astm.netrid.v19.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.py)) +5. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v19.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py)) +6. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.py)) +7. Scenario: [ASTM NetRID DSS: Subscription Simple](../../../../scenarios/astm/netrid/v19/dss/subscription_simple.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionSimple`](../../../../scenarios/astm/netrid/v19/dss/subscription_simple.py)) +8. Scenario: [ASTM F3411-19 NetRID DSS interoperability](../../../../scenarios/astm/netrid/v19/dss_interoperability.md) ([`scenarios.astm.netrid.v19.DSSInteroperability`](../../../../scenarios/astm/netrid/v19/dss_interoperability.py)) +9. Scenario: [ASTM NetRID DSS: Token Validation](../../../../scenarios/astm/netrid/v19/dss/token_validation.md) ([`scenarios.astm.netrid.v19.dss.TokenValidation`](../../../../scenarios/astm/netrid/v19/dss/token_validation.py)) +10. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v19/dss/crdb_access.md) ([`scenarios.astm.netrid.v19.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v19/dss/crdb_access.py)) +11. Scenario: [ASTM NetRID DSS: Concurrent Requests](../../../../scenarios/astm/netrid/v19/dss/heavy_traffic_concurrent.md) ([`scenarios.astm.netrid.v19.dss.HeavyTrafficConcurrent`](../../../../scenarios/astm/netrid/v19/dss/heavy_traffic_concurrent.py)) ## [Checked requirements](../../../README.md#checked-requirements) @@ -25,11 +26,16 @@ Checked in - astm
.f3411
.v19
+ astm
.f3411
.v19
DSS0010 Implemented ASTM NetRID DSS: Token Validation + + DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + DSS0030,a Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml index 0d9a041f38..c78d1b32e4 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml @@ -9,6 +9,10 @@ resources: problematically_big_area: resources.VerticesResource test_exclusions: resources.dev.TestExclusionsResource? actions: + - test_scenario: + scenario_type: scenarios.astm.netrid.v19.dss.EndpointEncryption + resources: + dss: dss - test_scenario: scenario_type: scenarios.astm.netrid.v19.dss.ISASimple resources: diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index 3066d6a267..104aba3391 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -20,6 +20,12 @@ Status Checked in + + astm
.f3411
.v19
+ DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + astm
.f3411
.v22a
DSS0010 diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md index 1d46cfe2f4..1b7db441e4 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md @@ -4,16 +4,17 @@ ## [Actions](../../../README.md#actions) -1. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.md) ([`scenarios.astm.netrid.v22a.dss.ISASimple`](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.py)) -2. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.md) ([`scenarios.astm.netrid.v22a.dss.ISAValidation`](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.py)) -3. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.md) ([`scenarios.astm.netrid.v22a.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.py)) -4. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v22a.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py)) -5. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.py)) -6. Scenario: [ASTM NetRID DSS: Subscription Simple](../../../../scenarios/astm/netrid/v22a/dss/subscription_simple.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionSimple`](../../../../scenarios/astm/netrid/v22a/dss/subscription_simple.py)) -7. Scenario: [ASTM F3411-22a NetRID DSS interoperability](../../../../scenarios/astm/netrid/v22a/dss_interoperability.md) ([`scenarios.astm.netrid.v22a.DSSInteroperability`](../../../../scenarios/astm/netrid/v22a/dss_interoperability.py)) -8. Scenario: [ASTM NetRID DSS: Token Validation](../../../../scenarios/astm/netrid/v22a/dss/token_validation.md) ([`scenarios.astm.netrid.v22a.dss.TokenValidation`](../../../../scenarios/astm/netrid/v22a/dss/token_validation.py)) -9. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.md) ([`scenarios.astm.netrid.v22a.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.py)) -10. Scenario: [ASTM NetRID DSS: Concurrent Requests](../../../../scenarios/astm/netrid/v22a/dss/heavy_traffic_concurrent.md) ([`scenarios.astm.netrid.v22a.dss.HeavyTrafficConcurrent`](../../../../scenarios/astm/netrid/v22a/dss/heavy_traffic_concurrent.py)) +1. Scenario: [ASTM NetRID DSS: Endpoint encryption](../../../../scenarios/astm/netrid/v19/dss/endpoint_encryption.md) ([`scenarios.astm.netrid.v19.dss.EndpointEncryption`](../../../../scenarios/astm/netrid/v19/dss/endpoint_encryption.py)) +2. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.md) ([`scenarios.astm.netrid.v22a.dss.ISASimple`](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.py)) +3. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.md) ([`scenarios.astm.netrid.v22a.dss.ISAValidation`](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.py)) +4. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.md) ([`scenarios.astm.netrid.v22a.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.py)) +5. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v22a.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py)) +6. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.py)) +7. Scenario: [ASTM NetRID DSS: Subscription Simple](../../../../scenarios/astm/netrid/v22a/dss/subscription_simple.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionSimple`](../../../../scenarios/astm/netrid/v22a/dss/subscription_simple.py)) +8. Scenario: [ASTM F3411-22a NetRID DSS interoperability](../../../../scenarios/astm/netrid/v22a/dss_interoperability.md) ([`scenarios.astm.netrid.v22a.DSSInteroperability`](../../../../scenarios/astm/netrid/v22a/dss_interoperability.py)) +9. Scenario: [ASTM NetRID DSS: Token Validation](../../../../scenarios/astm/netrid/v22a/dss/token_validation.md) ([`scenarios.astm.netrid.v22a.dss.TokenValidation`](../../../../scenarios/astm/netrid/v22a/dss/token_validation.py)) +10. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.md) ([`scenarios.astm.netrid.v22a.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.py)) +11. Scenario: [ASTM NetRID DSS: Concurrent Requests](../../../../scenarios/astm/netrid/v22a/dss/heavy_traffic_concurrent.md) ([`scenarios.astm.netrid.v22a.dss.HeavyTrafficConcurrent`](../../../../scenarios/astm/netrid/v22a/dss/heavy_traffic_concurrent.py)) ## [Checked requirements](../../../README.md#checked-requirements) @@ -24,6 +25,12 @@ Status Checked in + + astm
.f3411
.v19
+ DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + astm
.f3411
.v22a
DSS0010 diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml index 576c701f3f..a2b4930856 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml @@ -9,6 +9,10 @@ resources: problematically_big_area: resources.VerticesResource test_exclusions: resources.dev.TestExclusionsResource? actions: + - test_scenario: + scenario_type: scenarios.astm.netrid.v19.dss.EndpointEncryption + resources: + dss: dss - test_scenario: scenario_type: scenarios.astm.netrid.v22a.dss.ISASimple resources: diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 3f8915e3d1..817e8d7af2 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -21,11 +21,16 @@ Checked in - astm
.f3411
.v19
+ astm
.f3411
.v19
DSS0010 Implemented ASTM NetRID DSS: Token Validation + + DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + DSS0030,a Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index 6d17e3c0e2..3b78b81e82 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -16,6 +16,12 @@ Status Checked in + + astm
.f3411
.v19
+ DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + astm
.f3411
.v22a
DSS0010 diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index 4e201b2411..0b1008d452 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -17,6 +17,12 @@ Status Checked in + + astm
.f3411
.v19
+ DSS0020 + Implemented + ASTM NetRID DSS: Endpoint encryption + astm
.f3411
.v22a
DSS0010