PrefDNSRelation¶
The PrefDNSRelation in the OWASP Open Asset Model (OAM) is used to represent DNS resource records that include a preference value, such as MX records that define mail server priority for a domain.
-
Definition: A
PrefDNSRelation
captures the association between a DNS name and another DNS name or IP address, along with a numeric preference value that indicates priority. This is commonly used for records likeMX
,SRV
, or other types where ordering or selection is influenced by a preference number. -
Purpose: This relation is critical for modeling DNS-based service routing and failover configurations. For example, in an
MX
record, the preference indicates which mail server should be contacted first. Accurately capturing this relationship helps model infrastructure behavior during service discovery, redundancy, and load distribution. -
Design Choice:
PrefDNSRelation
builds on the simplerBasicDNSRelation
by including a structuredpreference
attribute, while still avoiding full record verbosity (e.g., no TTLs, weights, ports, or target service names). This keeps the model lightweight but expressive enough for meaningful DNS prioritization use cases.
In summary, PrefDNSRelation
extends basic DNS modeling by introducing priority-aware resolution, enabling the OAM to capture more nuanced DNS relationships where preference order matters.
PrefDNSRelation Attributes¶
Attributes | Type | Required | Description |
---|---|---|---|
label |
string | The label for the relation between two assets | |
header.rr_type |
number | Specifies the type of resource within the DNS record | |
header.class |
number | 1, IN class (Internet), is the most commonly used | |
header.ttl |
number | Specifies how long a DNS record should be cached | |
preference |
number | Captures the preference or priority value for this record |
PrefDNSRelation Properties¶
Property Type | Property Name | Description |
---|---|---|
SourceProperty |
Source Plugin Name | Indicates that the specified data source discovered this PrefDNSRelation |
© 2025 Jeff Foley — Licensed under Apache 2.0.