Overview
Crawlithβs infrastructure audit examines the technical foundation of your website, including TLS/SSL configuration, DNS resolution, security headers, and certificate validity. These checks help identify security vulnerabilities, configuration issues, and compliance problems.What Gets Audited
The infrastructure audit performs parallel checks across multiple layers:Audit Components
- DNS Resolution: Validates domain resolution and DNS configuration
- Transport Security: Analyzes TLS/SSL version, cipher suites, and certificate
- Security Headers: Checks for critical HTTP security headers
- Performance Metrics: Measures connection and response times
DNS Health Checks
DNS validation ensures your domain resolves correctly:DNS Checks Include
- A records: IPv4 address resolution
- AAAA records: IPv6 support
- MX records: Email server configuration
- CNAME records: Domain aliasing
- Resolution errors: DNS failures or timeouts
Proper DNS configuration is critical for website availability. Missing or incorrect DNS records can cause complete site outages.
TLS/SSL Analysis
Crawlith validates transport layer security:TLS/SSL Checks
TLS Version:- TLS 1.3 (optimal)
- TLS 1.2 (acceptable)
- TLS 1.1 or lower (deprecated, insecure)
- Valid certificate chain
- Not expired
- Matches domain name
- Issued by trusted CA
- Strong ciphers (AES-GCM, ChaCha20)
- Weak or deprecated ciphers flagged
Certificate Information
- Expiry date: When the certificate expires
- Issuer: Certificate authority (e.g., Letβs Encrypt, DigiCert)
- Subject: Domain names covered by the certificate
- Days until expiry: Early warning for expiration
Security Headers
Crawlith checks for critical HTTP security headers:Critical Security Headers
| Header | Purpose | Recommended Value |
|---|---|---|
| Strict-Transport-Security | Force HTTPS connections | max-age=31536000; includeSubDomains |
| Content-Security-Policy | Prevent XSS and injection attacks | Depends on site architecture |
| X-Frame-Options | Prevent clickjacking | DENY or SAMEORIGIN |
| X-Content-Type-Options | Prevent MIME sniffing | nosniff |
| Referrer-Policy | Control referrer information | strict-origin-when-cross-origin |
| Permissions-Policy | Control browser feature access | Depends on features used |
Header Status
Each header is evaluated:- Present: Header is set with valid value
- Missing: Header not found (potential security issue)
- Invalid: Header present but misconfigured
SSRF Protection
Crawlith includes built-in protection against Server-Side Request Forgery (SSRF):- Private IP ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
- Loopback addresses: 127.0.0.0/8, ::1
- Link-local addresses: 169.254.0.0/16, fe80::/10
- AWS metadata endpoints: 169.254.169.254
SSRF protection prevents attackers from using the audit tool to scan internal networks or access cloud provider metadata services.
Audit Scoring
The infrastructure audit produces an overall security score:Grade Scale
| Score | Grade | Description |
|---|---|---|
| 90-100 | A | Excellent security posture |
| 80-89 | B | Good, minor improvements needed |
| 70-79 | C | Acceptable, several issues present |
| 60-69 | D | Poor, significant security gaps |
| 0-59 | F | Critical issues, immediate action required |
Issue Severity
- Critical: Certificate invalid, TLS 1.0/1.1, no HSTS on HTTPS site
- High: Missing CSP, weak cipher suite, certificate expiring soon (<30 days)
- Medium: Missing X-Frame-Options, no IPv6 support
- Low: Missing Referrer-Policy, suboptimal cipher suite
CLI Usage
Run Infrastructure Audit
Audit with JSON Output
Audit Multiple URLs
Best Practices
Enable HSTS on all HTTPS sites
Enable HSTS on all HTTPS sites
Set
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload to force HTTPS connections and prevent protocol downgrade attacks.Use TLS 1.3 or 1.2
Use TLS 1.3 or 1.2
Disable TLS 1.0 and 1.1 on your servers. Configure strong cipher suites (ECDHE-RSA-AES256-GCM-SHA384 or better).
Implement Content Security Policy
Implement Content Security Policy
A properly configured CSP prevents XSS attacks. Start with a restrictive policy and gradually relax as needed.
Monitor certificate expiration
Monitor certificate expiration
Set up alerts 30+ days before certificate expiration. Use automated renewal (e.g., Letβs Encrypt with certbot).
Configure all security headers
Configure all security headers
Implement X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy for defense in depth.
Common Issues and Fixes
Missing HSTS Header
Problem: NoStrict-Transport-Security header on HTTPS site
Risk: Users vulnerable to man-in-the-middle attacks
Fix (Nginx):
Expired Certificate
Problem: TLS certificate has expired Risk: Browsers show security warnings, users canβt access site Fix: Renew certificate immediately using your CAβs renewal process or Letβs Encrypt:Weak TLS Configuration
Problem: Using TLS 1.0/1.1 or weak cipher suites Risk: Vulnerable to protocol downgrade and cipher attacks Fix (Nginx):Missing X-Frame-Options
Problem: No clickjacking protection Risk: Attackers can embed your site in iframes for phishing Fix (Apache):See Also
SEO Analysis
Analyze on-page elements and content quality
Export Data
Export audit results for compliance reporting