DNS report
seferian.dev
Complete DNS, mail, web and security analysis.
Cached report
Report created: 2026-09-20 11:03:13 EDT
53 min 12 sec ago
Refresh report
DNS cache tools
If you have recently made DNS changes and they are not yet reflected in the report, you can try to flush the DNS cache of these public resolvers: The domain name will be copied to your clipboard automatically when clicking on a button
Category Status Test Details
WHOIS0.1 ms
Domain Status
Source: RDAP (registry API)
RegistrarPorkbun LLC
Name Serverscuritiba.ns.porkbun.com
fortaleza.ns.porkbun.com
maceio.ns.porkbun.com
salvador.ns.porkbun.com
WHOIS NS match DNS
Updated Date2026-09-20 15:03:14.277
Creation Date2021-05-30 06:01:33.399
Registry Expiry Date✅ 2027-05-30 06:01:33.399
Domain Statusclient delete prohibited
client transfer prohibited
Registrar lock enabled
The domain exposes a transfer lock status, such as clientTransferProhibited or serverTransferProhibited.
PARENT0.0 ms
Domain NS records
Nameserver records returned by the parent servers are:

curitiba.ns.porkbun.com [173.245.58.37, 2400:cb00:2049:1::adf5:3a25] (NO GLUE) [TTL=10800]
fortaleza.ns.porkbun.com [162.159.8.140, 2400:cb00:2049:1::a29f:88c] (NO GLUE) [TTL=10800]
salvador.ns.porkbun.com [162.159.10.150, 2400:cb00:2049:1::a29f:a96] (NO GLUE) [TTL=10800]
maceio.ns.porkbun.com [162.159.11.180, 2400:cb00:2049:1::a29f:bb4] (NO GLUE) [TTL=10800]

ns-tld3.charlestonroadregistry.com was kind enough to give us that information.
TLD Parent Check
ns-tld3.charlestonroadregistry.com has information for your TLD.
This is a good thing as there are some other domain extensions like "co.us" for example that are missing a direct check.
Your nameservers are listed
ns-tld3.charlestonroadregistry.com has your nameservers listed.
This is a must if you want to be found as anyone that does not know your DNS servers will first ask the parent nameservers.
DNS Parent sent Glue
0 of 4 nameservers sent GLUE.

The parent nameserver a.gtld-servers.net is not sending out GLUE for every nameserver listed, meaning it is sending your nameserver hostnames without their corresponding A records. This is acceptable, but it requires an extra A record lookup, which may slightly delay DNS resolution. This often occurs when nameservers are on a different TLD (e.g., domain.com with nameserver ns.otherdomain.com).
Nameservers A records
Every nameserver listed has A records.
This is a must if you want to be found.
NS3622.4 ms
NS records from your NameServers
NS records returned by the currently delegated nameservers are:

Hostname IP TTL Latency Last SOA change Last WHOIS change
curitiba.ns.porkbun.com 173.245.58.37 86400 46 ms N/A 2026-09-20 15:03:14.277
fortaleza.ns.porkbun.com 162.159.8.140 86400 51 ms N/A 2026-09-20 15:03:14.277
maceio.ns.porkbun.com 162.159.11.180 86400 44 ms N/A 2026-09-20 15:03:14.277
salvador.ns.porkbun.com 162.159.10.150 86400 45 ms N/A 2026-09-20 15:03:14.277

All NS records have the same TTL: 86400 seconds.

Public Resolver
🌐 Cloudflare (GLOBAL)
1.1.1.1
🌐 Google DNS (GLOBAL)
8.8.8.8
🌐 Quad9 (GLOBAL)
9.9.9.9
OpenDNS (US)
208.67.222.222
CIRA Canadian Shield (CA)
149.112.121.10
CleanBrowsing (EU)
185.228.168.9
Quad9 (MX)
149.112.112.112
OpenDNS (ZA)
208.67.220.220
AdGuard DNS (EU)
94.140.14.14
ControlD (EU)
76.76.2.0
Yandex (RU)
77.88.8.8
114DNS (CN)
114.114.114.114
Mismatched NS records
The NS records at all your nameservers are identical to those listed by the parent.
DNS servers responded
All nameservers listed at the parent server responded.
Name of nameservers are valid
All of the NS records that your nameservers report seem valid.
Multiple Nameservers
You have 4 nameservers. According to RFC2182 section 5, this is recommended.
Missing nameservers reported by parent
All NS records are the same at the parent and at your nameservers.
Missing nameservers reported by your nameservers
All nameservers returned by the parent server are the same as the ones reported by your nameservers.
Domain CNAMEs
OK. RFC1912 2.4 and RFC2181 10.3 state that there should be no CNAMEs if an NS (or any other) record is present.
NSs CNAME check
OK. RFC1912 2.4 and RFC2181 10.3 state that there should be no CNAMEs if an NS (or any other) record is present.
Different subnets
You have nameservers on different subnets.
Recursive Queries
curitiba.ns.porkbun.com → ❌ This DNS server allows recursion, which may pose a security risk (it responds to out-of-zone queries).
fortaleza.ns.porkbun.com → ❌ This DNS server allows recursion, which may pose a security risk (it responds to out-of-zone queries).
maceio.ns.porkbun.com → ❌ This DNS server allows recursion, which may pose a security risk (it responds to out-of-zone queries).
salvador.ns.porkbun.com → ❌ This DNS server allows recursion, which may pose a security risk (it responds to out-of-zone queries).
Same Glue
Mismatch between parent GLUE and zone A records:
curitiba.ns.porkbun.com → Parent: 173.245.58.37, 2400:cb00:2049:1::adf5:3a25 | Zone: 173.245.58.37
fortaleza.ns.porkbun.com → Parent: 162.159.8.140, 2400:cb00:2049:1::a29f:88c | Zone: 162.159.8.140
salvador.ns.porkbun.com → Parent: 162.159.10.150, 2400:cb00:2049:1::a29f:a96 | Zone: 162.159.10.150
maceio.ns.porkbun.com → Parent: 162.159.11.180, 2400:cb00:2049:1::a29f:bb4 | Zone: 162.159.11.180
Make sure both match to comply with DNS best practices.
NS Self-IP Consistency
All nameservers return consistent IP addresses with what they declare in the zone.
Glue for NS records
GLUE was not sent when I asked your nameservers for your NS records.
This is ok but you should know that in this case an extra A record lookup is required.
The nameservers without glue are:
    173.245.58.37
    162.159.8.140
    162.159.11.180
    162.159.10.150
You can fix this by adding A records to your nameservers.

⚠️ One or more DNS servers appear to use a shared Anycast IP.
This may explain apparent differences in GLUE records or resolved IPs. In this case, everything's OK.
Nameservers are lame
All the nameservers listed at the parent servers answer authoritatively for your domain.
IPs of nameservers are public
Ok. Looks like the IP addresses of your nameservers are public.
This is a good thing because it will prevent DNS delays and other problems.
DNS servers allow TCP connection
OK. Seems all your DNS servers allow TCP connections.
This is a good thing and useful even if UDP connections are used by default.
Different autonomous systems
All authoritative name servers appear to be in the same autonomous system: AS13335.
Using a single AS reduces resiliency and increases the blast radius of network incidents.
Consider hosting your NS records across multiple autonomous systems.


WARNING: Single point of failure.
Stealth NS records sent
Ok. No stealth NS records are sent
DNSSEC259.8 ms
Zone signed
DNSSEC: Unsigned
No RRSIG record found. The zone is not signed with DNSSEC.
DNSKEY records
No DNSKEY records found.
DS record in parent
No DS record found in the parent zone.
NSEC/NSEC3 record
No NSEC or NSEC3 record found when querying a non-existent subdomain.
This may indicate a misconfiguration or lack of proper DNSSEC denial-of-existence support.
SOA0.0 ms
SOA Record
The SOA (Start of Authority) record is:
    Primary nameserver: curitiba.ns.porkbun.com
    Hostmaster E-mail address: dns@cloudflare@com
    Serial #: 2414995775
    Refresh: 10000
    Retry: 2400
    Expire: 604800
    Default TTL: 1800
NSs have same SOA serial
OK. All your nameservers agree that your SOA serial number is 2414995775.
SOA MNAME entry
OK. curitiba.ns.porkbun.com is listed at the parent servers.
SOA Serial
Your SOA serial number is: 2414995775. This appears to follow the recommended YYYYMMDDnn format.
SOA REFRESH
Your SOA REFRESH interval is: 10000. OK.
SOA RETRY
Your SOA RETRY value is: 2400. OK.
SOA EXPIRE
Your SOA EXPIRE number is: 604800. Looks OK.
SOA MINIMUM TTL
Minimum TTL is low (1800). Recommended: 1h+ (3600).
A low minimum TTL results in more frequent DNS queries, which can increase server load. A higher value improves cache efficiency.
MX
...
MX Records
TXT0.1 ms
TXT Records
Host Type Value Size TTL
seferian.dev TXT "protonmail-verification=1c8e449f36b6c18a33a07573c908f2d7be3ada0f" 64 600
seferian.dev TXT "v=spf1 include:_spf.protonmail.ch ~all" 38 600
SPF
...
SPF Analysis
DMARC59.7 ms
DMARC Configuration
DMARC Record was found:
v=DMARC1; p=quarantine

Policy summary:
  • Policy: quarantine
  • Subdomain policy: quarantine
  • Percentage applied: 100%
Report settings:
  • Aggregate Reports (rua): not set
  • Forensic Reports (ruf): not set
Parsed DMARC tags:
TagValueDescription
vDMARC1Version (must be DMARC1)
pquarantinePolicy for domain
spdefault (sp=quarantine)Subdomain policy
ruadefault (rua=none)Aggregate report URI(s)
rufdefault (ruf=none)Forensic report URI(s)
fodefault (fo=0)Failure reporting options
pctdefault (pct=100)Percentage of mail to apply policy to
adkimdefault (adkim=r)Alignment mode for DKIM
aspfdefault (aspf=r)Alignment mode for SPF
ridefault (ri=86400)Report interval (in seconds)
rfdefault (rf=afrf)Report format
Your real DMARC is:
v=DMARC1; p=quarantine; sp=quarantine; rua=none; ruf=none; fo=0; pct=100; adkim=r; aspf=r; ri=86400; rf=afrf;
DMARC Evaluation Score: 0.5/3
To improve your score:
  • Policy is 'quarantine'. Consider upgrading to 'reject' for full protection.
  • No valid aggregate report (rua=) URI defined.
  • Missing DKIM/SPF alignment settings (adkim, aspf), default to relaxed.
MTA-STS / TLS-RPT204.2 ms
Mail TLS security
TXT _mta-stsNot found
Policy URLhttps://mta-sts.seferian.dev/.well-known/mta-sts.txt (HTTP 0, policy missing)
Modenot set
Authorized MXnot set
max_agenot set
Policy fileNo valid MTA-STS policy file was fetched.
TXT _smtp._tlsNot found
MTA-STS score 0/5
Recommendations:
  • Publish an _mta-sts TXT record containing v=STSv1; id=. Change id whenever the HTTPS policy changes.
  • Publish the MTA-STS policy at https://mta-sts.seferian.dev/.well-known/mta-sts.txt with version: STSv1, mode, mx, and max_age.
  • Use mode: enforce to prevent delivery to MX hosts that do not satisfy the TLS policy.
  • Add at least one mx: line matching the domain's legitimate MX hosts.
  • Set max_age to at least 604800 seconds once the policy is stable.
  • Publish an _smtp._tls TXT record with v=TLSRPTv1; rua=mailto:tlsrpt@yourdomain to receive TLS reports.
DKIM
...
DKIM Records Detected
BIMI43.7 ms
BIMI Record
No BIMI record found at: default._bimi.seferian.dev.
SSL
...
SSL Certificate Summary
CAA
...
CAA Records
HSTS
...
HSTS
HTTPS
...
HTTPS
HTTPS (DNS)
...
HTTPS DNS record
WWW
...
A Record
AXFR
(Zone Transfer)122.6 ms
AXFR status for the zone
AXFR is refused by the authoritative nameservers for seferian.dev.
Nameservers tested:
    curitiba.ns.porkbun.com, fortaleza.ns.porkbun.com, maceio.ns.porkbun.com, salvador.ns.porkbun.com
Security note
Zone transfers (AXFR) should be disabled in production unless explicitly required and restricted.
Leaving AXFR open allows anyone to enumerate your entire DNS zone (subdomains, MX, TXT, internal hosts, etc.).
PORTS
...
Open ports detected (99.225.110.201)
REPUTATION
...
IP in blacklists (99.225.110.201)
DNS found
...
Test Details
Website Preview0.0 ms
Snapshot is generated through DNSprobe's rendering proxy and may be served from a short cache.
Security Headers224.0 ms
Score: 11/100 (F)
Failing, very weak or absent security headers

HeaderValue
HTTP/2
HTTP/2 502
HTTP version reported by the server.
set-cookie
None
Session cookies should include the Secure attribute to ensure they are never sent over unencrypted connections.
expires
None
Legacy caching header. Prefer Cache-Control.
cache-control
None
Controls caching. For sensitive pages consider 'no-store'.
pragma
None
Legacy HTTP/1.0 directive. Prefer Cache-Control.
content-type
text/html
Declares MIME type; pair with X-Content-Type-Options: nosniff.
content-encoding
None
Compression used for the response (gzip, br…).
vary
None
Tells caches which request headers affect the response.
date
Sun, 20 Sep 2026 15:03:20 GMT
Origin date of the response.
age
None
Indicates how long the response has been cached.
x-powered-by
Not defined
May reveal framework/version. Removing lowers fingerprinting.
strict-transport-security
Not defined
Enforces HTTPS for a period, strengthening TLS.
Enable HTTP Strict Transport Security (HSTS) to enforce secure connections.
x-xss-protection
Not defined
Deprecated. X-XSS-Protection sets the configuration for the legacy XSS Auditor in older browsers.
The recommended value used to be "X-XSS-Protection: 1; mode=block" but you should now look at Content Security Policy instead.
x-content-type-options
Not defined
Stops MIME sniffing. Only valid value: 'nosniff'.
Use X-Content-Type-Options: nosniff.
x-permitted-cross-domain-policies
Not defined
Controls Flash/Adobe cross-domain policies. Use 'none'.
Prefer X-Permitted-Cross-Domain-Policies: none.
referrer-policy
Not defined
Controls referrer information sent on navigation.
Recommended: strict-origin-when-cross-origin.
permissions-policy
Not defined
Restricts powerful features (camera, mic, geolocation…).
Add a Permissions-Policy to restrict powerful features.
expect-ct
Not defined
Deprecated control, should be removed if present.
x-frame-options
Not defined
Protects against clickjacking. Prefer CSP frame-ancestors today.
Add frame-ancestors (CSP) or X-Frame-Options.
content-security-policy
Not defined
CSP limits content sources to mitigate XSS.
No CSP detected; add one to mitigate XSS.
cross-origin-embedder-policy
Not defined
COEP is part of cross-origin isolation (with COOP).
cross-origin-embedder-policy-report-only
Not defined
COEP in report-only mode (not enforced).
cross-origin-opener-policy
Not defined
COOP isolates browsing context groups when set to same-origin.
cross-origin-opener-policy-report-only
Not defined
COOP in report-only mode (not enforced).
cross-origin-resource-policy
Not defined
CORP restricts who can load this resource.
access-control-allow-origin
Not defined
CORS: which origins are allowed to read this response.
access-control-allow-methods
Not defined
CORS: which methods are allowed.
access-control-allow-headers
Not defined
CORS: which request headers are allowed.
alt-svc
Not defined
Advertises alternative services (e.g., HTTP/3 via QUIC).
Other detected headers
Additional headers returned by the server. Shown for information only and not included in the score.
HeaderValue
content-length3566
etag"6a15ab07-dee"
Recommended starter configuration (.htaccess)
Starter configuration to copy and adapt. CSP, CORS and cookie rewriting are intentionally commented because they can break some sites if enabled blindly.


#BEGIN SECURITY HEADERS

# -------------------------------------------------------
# Safe baseline
# -------------------------------------------------------
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Options -Indexes

<IfModule mod_headers.c>
  # Reduce fingerprinting
  # The Server header usually cannot be removed from .htaccess; configure it at the web server level if needed.
  Header always unset X-Powered-By
  Header always unset X-Redirect-By

  # TLS / transport security (only when HTTPS)
  Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS

  # MIME sniffing protection
  Header always set X-Content-Type-Options "nosniff"

  # Referrer policy
  Header always set Referrer-Policy "strict-origin-when-cross-origin"

  # Adobe cross-domain policy
  Header always set X-Permitted-Cross-Domain-Policies "none"

  # Clickjacking protection (consistent with CSP frame-ancestors 'self')
  Header always set X-Frame-Options "SAMEORIGIN"

  # Cross-Origin isolation headers (sane defaults)
  Header always set Cross-Origin-Opener-Policy "same-origin"
  Header always set Cross-Origin-Resource-Policy "same-origin"
  # COEP is powerful but can break third-party embeds/resources if not CORP/CORS-enabled.
  # Header always set Cross-Origin-Embedder-Policy "require-corp"

  # Deprecated header; modern browsers rely on CSP instead, but some scanners still like to see it.
  Header always set X-XSS-Protection "0"

  # Permissions-Policy (balanced: blocks sensitive features, allows reasonable ones on self)
  Header always set Permissions-Policy "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=(), display-capture=(), autoplay=(self), encrypted-media=(self), fullscreen=(self), picture-in-picture=(self), clipboard-write=(self), publickey-credentials-get=(self)"

  # Vary (keep small; don’t add Referer/User-Agent unless you truly vary by them)
  Header always merge Vary "Accept-Encoding"
</IfModule>

# -------------------------------------------------------
# Cache-Control (HTML pages)
# -------------------------------------------------------
<IfModule mod_headers.c>
  # Apply to HTML responses (works for WordPress permalinks too). Requires Apache 2.4+ expressions.
  # If you do not use a page cache (LiteSpeed Cache, cache plugins, etc.), you can uncomment the line below. Keep it commented if a page cache is active.
  # Header always set Cache-Control "private, no-cache, must-revalidate" "expr=%{CONTENT_TYPE} =~ m#^text/html#"
  # Header always unset Pragma "expr=%{CONTENT_TYPE} =~ m#^text/html#"
  # Header always unset Expires "expr=%{CONTENT_TYPE} =~ m#^text/html#"
</IfModule>

# -------------------------------------------------------
# CSP - Content Security Policy (minimal safe baseline)
# -------------------------------------------------------
<IfModule mod_headers.c>
  # (Keeps your current intent; strengthen later with default-src/script-src/etc.)
  # Adjust img-src, script-src, style-src, font-src, connect-src as needed (e.g., add trusted CDNs).
  # Header always set Content-Security-Policy "default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; img-src 'self' data: https:; script-src 'self'; style-src 'self'; font-src 'self' data:; connect-src 'self'; form-action 'self'; upgrade-insecure-requests"
</IfModule>

# -------------------------------------------------------
# CORS - Cross-Origin Ressource Sharing (optional; keep commented unless needed)
# -------------------------------------------------------
<IfModule mod_headers.c>
  # IMPORTANT:
  # - Do NOT enable global CORS unless you have a real API need.
  # If you need CORS, uncomment and set a fixed allowlist.
  # SetEnvIf Origin "^https?://(seferian\.dev|www\.seferian\.dev)(:\d{1,5})?$" CORS_ALLOW_ORIGIN=$0
  # Header always set Access-Control-Allow-Origin "%{CORS_ALLOW_ORIGIN}e" env=CORS_ALLOW_ORIGIN
  # Header always merge Vary "Origin" env=CORS_ALLOW_ORIGIN
  # Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS" env=CORS_ALLOW_ORIGIN
  # Header always set Access-Control-Allow-Headers "Content-Type, Authorization" env=CORS_ALLOW_ORIGIN
  # Header always set Access-Control-Max-Age "86400" env=CORS_ALLOW_ORIGIN
</IfModule>

# -------------------------------------------------------
# Cookies hardening (optional)
# -------------------------------------------------------
<IfModule mod_headers.c>
  # Apache only: uses Header edit/edit* to append Secure/HttpOnly/SameSite when missing. Not valid / not supported reliably on LiteSpeed/OpenLiteSpeed.
  # Header always edit* Set-Cookie "(?i)^((?:(?!;\s*Secure).)+)$" "$1; Secure" env=HTTPS
  # Header always edit* Set-Cookie "(?i)^((?:(?!;\s*HttpOnly).)+)$" "$1; HttpOnly"
  # Header always edit* Set-Cookie "(?i)^((?:(?!;\s*SameSite=).)+)$" "$1; SameSite=Lax"
</IfModule>

# -------------------------------------------------------
# Reporting headers (optional)
# -------------------------------------------------------
<IfModule mod_headers.c>
  # Header always set Reporting-Endpoints "default=\"https://seferian.dev/reporting\""
  # Header always set Cross-Origin-Opener-Policy-Report-Only "same-origin"
  # Header always set Cross-Origin-Embedder-Policy-Report-Only "require-corp"
</IfModule>

#END SECURITY HEADERS
WHOIS0.1 ms
Source: RDAP (registry API)
WHOIS Summary
Domain Name: SEFERIAN.DEV
Registry Domain ID: 46708D515-DEV
Creation Date: 2021-05-30 06:01:33.399
Registry Expiry Date:✅ 2027-05-30 06:01:33.399
Updated Date: 2026-09-20 15:03:14.277
Updated Date: 2026-04-20 04:19:42.776
Domain Status: client delete prohibited
Domain Status: client transfer prohibited
Name Server: curitiba.ns.porkbun.com
Name Server: fortaleza.ns.porkbun.com
Name Server: maceio.ns.porkbun.com
Name Server: salvador.ns.porkbun.com
Registrar: Porkbun LLC
Registrar IANA ID: 1861
Registrar URL: https://pubapi.registry.google/rdap/entity/1861
DNSSEC: signed

You like this tool?

Buy Me A Coffee

Processed in 0.009 seconds.
Made with with PHP and a bit of JS.
Lines of code: 20,351

⚙️ Configuration
(Check / Uncheck All)