Cloud Security
Cloud security reviews and fixes for AWS, Azure and Google Cloud accounts
We review identity, networks, secrets, encryption and logging across your cloud accounts, fix the most dangerous issues first, and keep every fix in Terraform and your pipelines so the next deployment cannot quietly undo it.
Cloud & DevOps
What is cloud security?
Cloud security is the set of controls that protect the accounts, workloads and data an organisation runs on platforms such as AWS, Microsoft Azure and Google Cloud, covering the customer's side of the shared responsibility model. It decides who can access what, how networks are segmented, where secrets and keys are held, how data is encrypted, and how misconfigurations and suspicious activity are detected and logged.
Cloud incidents rarely begin with an exotic attack. They start with an access key committed to a repository, a storage bucket left public, an administrator role granted for convenience, or a database reachable from the internet because a firewall rule was opened for a quick test and never closed.
We work through the layers in order of risk: identity and access first, then network exposure, secrets, encryption, logging and continuous posture checks. Each finding is ranked by what an attacker could actually reach from it, not by how many lines a scanner prints, so your team fixes the dangerous issues before the cosmetic ones.
Fixes are delivered as code wherever possible: Terraform modules, policy checks in GitHub Actions and hardened Kubernetes and Linux baselines. That keeps improvements reviewable and repeatable. Where you have compliance requirements, we work within them and prepare the technical evidence your auditors or customers ask for.
Challenges
The problems we are usually brought in to solve
Permissions that grew without review
Administrator roles granted for one task, shared logins and accounts left behind by former staff accumulate while teams move fast, until nobody can say who is able to reach production data.
Flat networks and public endpoints
Databases, admin panels and internal services sit in public subnets or behind firewall rules open to the whole internet, often left over from setup or testing.
Static keys that outlive their purpose
Access keys created years ago for a script, a contractor or a laptop still work, still carry broad permissions and are rarely rotated, so one leak exposes far more than it should.
Resources outside anyone's view
Forgotten test instances, publicly shared snapshots, unused regions and accounts opened by individual teams sit outside Terraform and outside monitoring, so nobody checks them.
Logs that cannot answer basic questions
When something looks wrong, audit logs are switched off, kept too briefly or spread across accounts, so nobody can establish what happened or when.
Security questionnaires without evidence
Enterprise customers ask how access, encryption and logging are controlled, and the honest answer lives in one engineer's memory rather than in documented controls.
Capabilities
What the service covers
Cloud security assessment
A structured review of accounts, IAM, networking, storage, keys and logging, combining automated checks against provider benchmarks with manual review of real access paths.
Identity and access management
Single sign-on with multi-factor authentication, role-based access mapped to real tasks, removal of long-lived keys, scoped workload identities and a sealed break-glass account.
Network segmentation
Private subnets by default, separated production and non-production environments, tight rules between tiers, private endpoints for managed services and a web application firewall in front of public apps.
Secrets store access and rotation
Each database password and API key readable only by the workload role that needs it, rotated automatically where the service supports it, with every read of the secrets store logged.
Encryption and key management
Encryption at rest for databases, volumes, object storage and backups, customer-managed keys where you need control, restrictive key policies and TLS enforced between services.
Continuous posture monitoring
Always-on configuration checks across every account and region for public storage, open management ports, disabled logging and unencrypted volumes, with each finding routed to a named owner.
Audit logging and alerting
Provider audit trails enabled across every account or project, shipped to a restricted log archive, with alerts for root sign-ins, privilege changes and unusual API activity.
Managed Kubernetes and host hardening
Private control-plane endpoints for EKS, AKS or GKE, cluster sign-in through cloud identity, per-pod cloud permissions instead of one broad node role, and hardened Linux and Nginx hosts.
Incident readiness
Runbooks for a leaked key or compromised account, pre-agreed containment steps, preserved logs and restore drills, so the first real incident is not the first rehearsal.
Our process
How an engagement runs
Every engagement has a named lead, a written scope and working software to review every one to two weeks.
- 01
Scope and read-only access
We agree the accounts, environments and constraints in a written scope, then review through a read-only role so nothing changes while we assess.
- 02
Assess and rank by exposure
Automated scans and manual review of identity, network paths, data stores and clusters produce findings ranked by how reachable and damaging each one is.
- 03
Remediation plan
A written plan separates quick fixes, changes that need testing and longer architectural work, with an owner and an agreed order for every item.
- 04
Fix as code
Changes go through Terraform and pipeline pull requests, are tested in non-production first and reach production at agreed times with a clear way back.
- 05
Monitor and review
Posture checks and alerts keep running after the project, and periodic access and findings reviews stop permissions from drifting back to where they started.
Technology
Technology we use
Chosen per project for fit, maintainability and your team's ability to own it.
Cloud platforms
- AWS
- Microsoft Azure
- Google Cloud
Policy and infrastructure as code
- Terraform
- GitHub Actions
Workload hardening
- Kubernetes
- Docker
- Linux
- Nginx
Use cases
Where it makes the biggest difference
Preparing for a customer security review
A software company about to sell to larger organisations tightens access, encryption and logging, then documents how each control works for the customer's questionnaire.
Retiring long-lived access keys
Deployment pipelines switch to short-lived federated credentials, and engineers sign in through single sign-on instead of holding personal keys on laptops.
Taking a database off the internet
A production database reachable from any address moves into private subnets, accessible only from the application tier and audited administrative sessions.
Separating environments into accounts
Production, staging and development split into separate accounts or projects with guardrail policies, so a mistake in testing cannot touch live data.
Central audit trail across accounts
Audit logs from every account or project flow into one restricted archive, with alerts on the events that matter and retention set to your obligations.
Hardening after a leaked credential
Exposed keys are rotated, their reach is traced through the logs, and detection is added so the same kind of leak raises an alert next time.
Industries
Industries we apply this to
Why Softweb Planet
Why teams choose us for this work
Controls that fit how your platform runs
Our DevOps and SRE engineers set up AWS and Google Cloud accounts, networks and Kubernetes clusters for clients, so each recommended control accounts for how deployments, backups and on-call access really work.
Fixes, not just findings
We implement remediation as Terraform and pipeline changes in your repositories, and you review merged work every one to two weeks rather than a report that ages on a shared drive.
Evidence, not certificates
We do not certify environments or declare compliance. We build and document the technical controls, and work within the requirements your compliance lead or auditor sets.
Read-only until you agree a change
Assessment runs through a read-only role, and nothing in your accounts changes until you approve it in writing or through a reviewed pull request.
What you can expect
- A clear, current picture of who can access production and why
- No database or admin interface exposed to the internet without a deliberate decision
- Secrets held in managed stores and rotated, not kept in code or config files
- Risky configuration caught by automated checks before or soon after it reaches production
- Audit logs that let you reconstruct what happened during an incident
Cloud Security FAQ
Frequently asked questions
A cloud security assessment reviews how your accounts, identities, networks, data stores, secrets, encryption and logging are configured, and ranks what needs fixing. We combine automated configuration scans against provider benchmarks with manual review of IAM policies, network paths and, where relevant, Kubernetes clusters. You receive a written report explaining each finding and its likely impact, plus a prioritised remediation plan your team or ours can work through.
Only partly. Under the shared responsibility model, AWS, Microsoft Azure and Google Cloud secure their data centres, hardware and underlying platform, while you remain responsible for how you configure and use it. That includes who has access, which ports are open, whether storage is public, how keys are managed and whether logging is switched on. Managed services move some tasks, such as database patching, to the provider, but access and data settings stay with you. That customer side is where our work sits.
We start by recording who and what actually uses each permission, then replace broad roles with narrower ones that match real tasks. People sign in through single sign-on with multi-factor authentication and assume roles rather than holding personal keys. Applications and pipelines get their own workload identities scoped to the resources they touch. Administrative access is time-bound where the platform supports it, and a sealed break-glass account covers emergencies.
You can tell from the provider's audit logs, which record every API call made with that key, provided logging was enabled before the leak. We deactivate the key first, then review its activity in AWS CloudTrail, the Azure Activity Log or Cloud Audit Logs on Google Cloud from the moment it was exposed. We look for calls from unfamiliar addresses or regions, new users or keys, permission changes, bulk data reads and unexpected compute such as crypto-mining instances, and agree containment steps with you.
Workloads should sit in private subnets by default, with only load balancers or gateways exposed to the internet and every other path explicitly allowed. We separate production from non-production, usually in different accounts or projects, and restrict traffic between tiers so a web server cannot reach systems it does not need. Managed services are reached through private endpoints, and administrative access goes through audited session tooling rather than open SSH or RDP ports.
Many cloud storage and database services encrypt data at rest by default, but that alone rarely answers the questions customers and auditors ask. The important decisions are who controls the keys, who is allowed to use them, whether backups and snapshots are covered, and whether every connection uses TLS. We configure customer-managed keys where you need that control, restrict key usage policies and confirm encryption in transit between services.
Cloud security posture management is the continuous checking of cloud configuration against agreed rules, so risky settings are caught soon after they appear rather than at the next annual review. Typical checks flag public storage, open management ports, disabled logging, unencrypted volumes and over-permissive roles. We run these checks across every account and region, suppress rules that do not apply to your estate with a recorded reason, and route each remaining finding to a named owner.
Start with the native tools, because they already see your provider's identity, configuration and audit data and are quick to enable. Services such as AWS Security Hub, Microsoft Defender for Cloud and Google Security Command Center cover the posture checks most single-cloud estates need. A third-party platform becomes worth its cost when you run several clouds and want one view, or need coverage the native tools lack. We recommend based on your estate, not a preferred vendor.
At a minimum, log every control-plane action, sign-in, permission change and access to sensitive data stores, and keep those logs where an attacker cannot alter them. We enable provider audit trails across all accounts or projects, send them to a separate archive with restricted access and retention set by your legal and contractual needs, and add network flow logs where they help investigations. Alerts then cover high-risk events such as root sign-ins and policy changes.
It can support the technical side, but we do not certify environments, issue audit reports or declare anyone compliant. Those frameworks are assessed by independent auditors across your whole organisation, including policies and people. Our part is implementing and documenting the cloud controls they examine, such as access reviews, encryption, logging and controlled change through code, so your compliance lead has clear evidence to present. We work within the requirements they set.
We need read-only access through a role you create and can revoke at any time, not an administrator login. On AWS that is typically a cross-account role with the SecurityAudit and ViewOnlyAccess policies, on Azure the Reader and Security Reader roles, and on Google Cloud viewer-level roles such as Security Reviewer. Assessing a bucket or database configuration does not require reading the data inside it. Remediation later runs through your pipeline or a separate, time-limited role agreed in the written scope.
It should not, because we change permissions and network rules in stages with a way back at each step. Before removing access we check audit logs to see what is actually used, then apply changes in a non-production environment first. Production changes go through Terraform pull requests at agreed times, with monitoring watched closely afterwards. If a service fails because of a missing permission, the change is reverted from code rather than patched by hand.
Timelines typically depend on the number of accounts or projects, how many services and regions you use, whether Kubernetes is in scope and how quickly we can speak to the people who own each system. A single production account running a handful of services is a far smaller review than an estate spread across several providers. After discovery we give you a written plan, report urgent findings as soon as we confirm them, and run remediation in stages you review every one to two weeks.
Cost depends on scope: the number of accounts and environments, the services in use, whether Kubernetes is involved and how much remediation you want us to carry out rather than advise on. We start with a discovery call, then give a fixed quote for the assessment and a separate estimate for the remediation work it reveals. You decide which findings we fix, which your team handles and which are accepted as known risks.
We tell your named contact as soon as we confirm it, rather than holding it for the final report. Exposed credentials, publicly readable data or signs of unauthorised activity are escalated with a clear description of what we saw and where. We do not change anything without your agreement. Instead we agree immediate containment steps with you, such as rotating a key or closing a port, and record every action for later investigation.
Keep exploring
Related services and solutions
Start your project
Tell us what you're building.
Share the problem, the systems involved and where you want to be. A senior engineer replies with honest advice on scope, architecture and the fastest safe path to production.