AsterionDocumentation v0.4.1

Findings and exposure policy

How problems are found, opened and resolved, and how the exposure policy and segmentation judge what is reachable.

Findings

Analyzers look at every result and keep a set of findings per scope (a host’s certificate on a port and name, a domain’s mail setup, a service in a zone, …). A finding

  • opens when the analyzer reports it for the first time — finding.new is sent for warnings and criticals,
  • stays open with an updated last seen while it is reported,
  • resolves automatically when the next result of the same scope no longer reports it.
Findings of the demo tenant, filterable by product and severity.
Findings of the demo tenant, filterable by product and severity.

Findings of a product that is switched off are hidden, not deleted.

All finding types

TypeSeverityMeaning
caa.missinginfoNo CAA record: any certificate authority may issue certificates for the domain.
cert.expiredcriticalThe certificate an endpoint serves has expired.
cert.expiringwarningThe certificate expires within the warning period (plan parameter Certificate warning, default 21 days).
cert.name_mismatchwarningThe certificate does not cover the name it was requested for (SNI).
cert.revokedcriticalOCSP or the CRL says the certificate is revoked.
cert.unreachableinfoA TLS port that should present a certificate did not answer the handshake.
cert.untrustedwarningThe chain does not lead to a trusted root (self-signed, private CA, missing intermediate).
ct.new_issuer:portwarningCertificate Transparency shows a certificate for the domain from a CA not seen for it before. The suffix is the issuer.
dkim.not_foundinfoNo DKIM key found under the known or common selectors.
dkim.weak:portwarningA DKIM key has fewer than 2048 bits. The suffix is the selector.
dmarc.missingwarningThe domain has no DMARC record.
dmarc.monitor_onlyinfoDMARC is p=none: reports only, no protection.
dmarc.multiplecriticalMore than one DMARC record: receivers ignore all of them.
dns.udp_interceptedinfoFrom the network of a satellite, DNS over UDP to the authoritative servers is blocked or intercepted while TCP works.
dns.wildcardinfoThe zone answers every name (wildcard). Names only answered by it are marked and never used to correlate hosts.
dnssec.unsignedinfoThe zone is not DNSSEC-signed (no DS record at the parent).
ftp.anonymouswarningThe FTP server accepts an anonymous login (only tested when the plan enables it).
ftp.cert_untrustedinfoThe certificate of FTP over TLS is not trusted.
ftp.plaintextwarningFTP without TLS: passwords travel unencrypted.
mx.implicitinfoNo MX record: mail goes to the A/AAAA address of the domain (implicit MX).
mx.missinginfoThe domain receives no mail (no MX and no address).
mx.unreachablewarningA mail server of the domain did not answer on port 25.
mx.unresolvablecriticalAn MX name does not resolve: mail to the domain fails.
ns.lame:portwarningA delegated name server does not answer authoritatively for the zone. The suffix is the server.
ns.serial_mismatchwarningThe name servers report different SOA serials: they are out of sync.
ns.singlewarningOnly one name server: no redundancy.
policy.review:portinfoA service the exposure policy has no rule for, or whose identity is unknown: review it. The suffix is the port.
policy.violation:portwarningA service the exposure policy forbids in the zone of the satellite that saw it, confirmed by two scans in a row. The suffix is the port.
smtp.cert_expiringwarningThe STARTTLS certificate of a mail server expires soon.
smtp.cert_mismatchwarningThe mail server’s certificate matches neither its MX name nor its PTR name.
smtp.cert_untrustedwarningThe STARTTLS certificate of a mail server is not trusted.
smtp.helo_ptr_mismatchinfoBanner or EHLO name differs from the PTR name of the address.
smtp.no_starttlswarningThe mail server offers no STARTTLS.
smtp.open_relaycriticalThe server accepted a recipient in a foreign domain from a foreign sender (open relay test, never sends a message).
smtp.ptr_unconfirmedwarningThe PTR name of the mail server does not resolve back to its address.
smtp.relay_inconclusiveinfoThe relay test could not decide (the server refused the test recipient early). Set a real foreign recipient in the plan.
smtp.starttls_failedwarningSTARTTLS is offered but the handshake fails.
spf.missinginfo / warningNo SPF record. Warning when the domain receives mail.
spf.multiplecriticalMore than one SPF record: SPF fails for every message.
spf.no_allinfoSPF has no all mechanism at the end.
spf.pass_allcriticalSPF ends with +all: everyone may send as the domain.
spf.too_many_lookupswarningSPF needs more than 10 DNS lookups: receivers treat it as an error.
tls.outdatedwarningThe endpoint negotiated SSLv3, TLS 1.0 or TLS 1.1.

Exposure policy

The exposure policy says which service may be reachable in which zone. It judges the service that really runs on a port — nmap’s name, or a short probe (TLS, HTTP, SMB negotiate, RDP request; never a login) when nmap had none or only guessed from the port number.

Exposure policy: rules per zone, templates, exceptions and the segmentation matrix.
Exposure policy: rules per zone, templates, exceptions and the segmentation matrix.

Which rule applies — the most specific wins:

  1. a rule for the host, else for its group, else for the tenant,
  2. within those, a rule for the satellite’s zone before a rule for all zones.

Verdicts

VerdictWhen
okthe rule allows the service
violationthe rule forbids it — a finding after two scans in a row (policy.violation)
reviewno rule, or the service could not be identified (policy.review, info)
acceptedan active exception covers it

Exceptions cover one port and one service on one host, optionally per zone and until a date, always with a reason. Another service appearing on the same port alerts again.

Templates (Baseline external, Web server, Mail server, DNS server, Three-tier DMZ, …) are copied after a preview and then belong to the tenant. They are starting points to review, not proof of compliance.

Service details

The Service details check looks closer at what discovery found: SSH algorithms, SMB version and signing, database versions, TLS on PostgreSQL, open DNS recursion. It reads what the protocol reports and never logs in. Test access without a password (Redis, Memcached, Elasticsearch, SNMP public) is off by default and never runs from external satellites.

Segmentation

A zone matrix on the exposure policy page: per pair of zones the allowed ports, none, or empty to skip. Polaris creates one hourly plan per source zone, run by the satellites in that zone. They try a TCP connection to the allowed and to common ports of everything in the destination zone.

  • A connection that opens without being allowed is a finding.
  • An allowed connection that fails is a finding too.

A network in a zone stands for the hosts known in it when the matrix was saved; it is not swept.