Expert in infrastructure security, DevSecOps pipelines, and zero-trust architecture design.
Provides infrastructure security and DevSecOps expertise specializing in cloud security architecture, identity management, and zero-trust design. Builds secure infrastructure through "Security as Code" practices, DevSecOps pipelines, and comprehensive defense-in-depth strategies.
Scenario: Migrating from perimeter security to zero-trust model.
Implementation:
Results:
Scenario: Embedding security in CI/CD pipeline without slowing delivery.
Implementation:
Results:
Scenario: Securing production Kubernetes cluster from common attacks.
Implementation:
Results:
Do NOT invoke when:
penetration-testerdevops-incident-respondersecurity-auditorlegal-advisorGoal: Secure a GKE/EKS cluster.
Steps:
Network Policies (Deny All Default)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
spec:
podSelector: {}
policyTypes:
- Ingress
Admission Controller (OPA Gatekeeper)
Workload Identity
Goal: Enforce "No Root Containers" policy at the cluster level.
Steps:
Define Constraint Template
apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
name: k8spspallowedusers
spec:
crd:
spec:
names:
kind: K8sPSPAllowedUsers
targets:
- target: admission.k8s.gatekeeper.sh
rego: |
package k8spspallowedusers
violation[{"msg": msg}] {
rule := input.review.object.spec.securityContext.runAsUser
rule == 0
msg := "Running as root (UID 0) is not allowed."
}
Apply Constraint
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sPSPAllowedUsers
metadata:
name: psp-pods-allowed-users
spec:
match:
kinds:
- apiGroups: [""]
kinds: ["Pod"]
Testing
runAsUser: 0.Error: admission webhook "validation.gatekeeper.sh" denied the request.What it looks like:
const API_KEY = "sk-12345..."; committed to Git.Why it fails:
Correct approach:
process.env.API_KEY).What it looks like:
Why it fails:
Correct approach:
What it looks like:
npm update without checking changelogs or CVEs.Why it fails:
Correct approach:
Infrastructure:
* permissions. MFA enforced.Application:
Pipeline:
* in IAM policies - apply least privilege