A useful infrastructure audit answers four questions: what do we run, who can reach or change it, what evidence shows that controls work, and what should we fix first? Treat PaaS, IaaS, networks, firewalls, and operating systems as one connected system. Start with written authorization, an agreed scope, named owners, a time window, and an emergency contact. Use read-only access wherever possible; do not scan or test systems you do not own or have permission to assess.
Map the environment before testing it. Inventory cloud accounts and subscriptions, regions, projects, production and non-production environments, public endpoints, workloads, data stores, identities, and external providers. Draw the important data flows and trust boundaries. For each asset, record its owner, business purpose, data sensitivity, exposure, dependencies, and recovery importance. Compare the inventory with billing, DNS, cloud control-plane exports, endpoint management, and infrastructure-as-code so that forgotten resources and manual changes surface.
First establish the shared-responsibility boundary. In IaaS, the provider operates the physical facilities and underlying service, while your team generally owns guest operating systems, workload configuration, identities, network rules, and data. In PaaS, the provider manages more of the runtime, but your team still owns application code, access policy, data handling, secrets, and service-specific settings. Confirm the exact provider terms for each service; do not assume that a managed label means every security control is managed for you.
For IaaS, inspect account and project boundaries, administrator roles, MFA, workload identities, service accounts, key and secret storage, public IPs, storage exposure, backups, encryption settings, patch status, and configuration drift. Prefer short-lived, narrowly scoped credentials and private management paths. For PaaS, review tenant isolation, authentication and authorization, private connectivity, allowed origins, deployment identities, build and release permissions, environment variables, secret references, data retention, audit logs, and whether non-production services contain production data. Check that diagnostic logs are enabled, retained, access-controlled, and useful during an incident.
For the computer network, verify the actual paths between users, internet ingress, load balancers, application tiers, databases, admin interfaces, and outbound destinations. Review subnet and route design, segmentation, DNS, VPN or private access, remote administration, egress restrictions, and resilience across zones or links. Compare the intended network diagram with flow logs and configuration exports. Investigate unexpected paths, broad flat networks, direct database exposure, unused interfaces, and traffic that bypasses inspection. An approved scanner can help identify reachable services, but coordinate timing and rate limits and treat scan results as evidence to validate, not a complete network assessment.
Review firewall rules on cloud security groups, network ACLs, host firewalls, and dedicated appliances together. For every rule, identify its owner, business purpose, source, destination, protocol, port, direction, environment, and expiry or review date. Look for unrestricted internet sources, broad port ranges, any-to-any rules, shadowed or duplicate rules, stale temporary access, and management ports exposed publicly. Confirm that default-deny behavior and logging match the design, and test rule changes in a safe way. Remove a rule only after its owner confirms the dependency and a rollback path exists.
For each operating system you administer, check supported version and patch level, secure baseline, local and directory accounts, privileged-group membership, MFA for administration, SSH or remote desktop exposure, authentication settings, host firewall, endpoint protection, disk encryption, secure boot where applicable, time synchronization, service inventory, and startup tasks. Verify central log forwarding, alert coverage, backup and restore, and configuration management. Compare settings with a current vendor guide or the applicable CIS Benchmark, then document justified exceptions. In PaaS, audit only the host controls the provider exposes; focus your own review on application and service configuration.
Keep the evidence trail reproducible. For each check, record the asset and account, timestamp, tool or console view, configuration snapshot, expected state, observed state, assessor, and any limitation. Protect exports and screenshots because they may contain identifiers, topology, or secrets; redact sensitive values and store evidence with access controls. Classify each finding by impact and likelihood, affected assets, exposure, exploitability, and compensating controls. Separate confirmed weaknesses from observations that need more evidence, and assign a business owner as well as a technical owner.
Turn findings into a tracked remediation plan with a priority, accountable owner, due date, change record, rollback plan, and validation step. Fix exposed administrative access and excessive privileges early, then address segmentation gaps, vulnerable or unsupported systems, logging blind spots, weak backups, and lower-risk hygiene issues according to context. Retest the control after the change and preserve before-and-after evidence. Report residual risk and exceptions to the person authorized to accept them; an audit is complete when owners understand the risk and verified actions have reduced it.
Use established guidance as a baseline, not as a substitute for context: NIST SP 800-115 describes planning and conducting technical security assessments; CIS Benchmarks provide technology-specific secure configuration guidance across cloud platforms, network devices, and operating systems. Start with the benchmark that matches your provider and exact product version, tailor it through documented risk decisions, and use only the testing techniques permitted by your rules of engagement. References: https://csrc.nist.gov/pubs/sp/800/115/final and https://www.cisecurity.org/cis-benchmarks-overview
Give the next product someone who stays.
Ready to get started? Send me a message - I'm available to start now and to stay. Long-term retainers, not a two-week handoff. Let's discuss your project, requirements, and the best way to move forward.