Container Security: আধুনিক কনটেইনারাইজড অ্যাপ্লিকেশনের সাইবার ঝুঁকি প্রতিরোধ!
Container Security-এর সম্পূর্ণ ecosystem—image, runtime, orchestration, network—সব layer-এ ঝুঁকি প্রতিরোধের কৌশল।
পৃথিবীর বৃহত্তম enterprise application থেকে শুরু করে startup-এর ছোট API—সবই আজ container-এ চলছে। Docker, Kubernetes, OCI, containerd—এই ecosystem-এর প্রতিটি component একদিকে যেমন developer-দের জীবন সহজ করেছে, অন্যদিকে security professional-দের সামনে নতুন চ্যালেঞ্জ এনে দাঁড় করিয়েছে। CNCF-এর সাম্প্রতিক survey অনুযায়ী ৬৫ শতাংশ প্রতিষ্ঠান এখন production-এ container ব্যবহার করছে, কিন্তু এদের অর্ধেকেরও বেশি admit করেছে যে তাদের container security maturity কম। আজকের আলোচনায় আমরা container security-এর সম্পূর্ণ landscape দেখবো—image, runtime, orchestration থেকে শুরু করে supply chain, network এবং observability পর্যন্ত।
Container Security কী
Container Security হলো container-এর entire lifecycle জুড়ে security control implement করা—source code থেকে শুরু করে build, deploy, runtime, এবং decommission পর্যন্ত। প্রচলিত VM-based security থেকে এটি ভিন্ন কারণ container:
- Shared kernel use করে
- Ephemeral (short-lived) হতে পারে
- Massive scale-এ deployed হয়
- Frequently update হয়
- Orchestration platform (Kubernetes)-এ চলে
NIST SP 800-190 (Application Container Security Guide) container security-এর প্রথম authoritative reference। এটি পাঁচটি main concern চিহ্নিত করেছে:
- Image risks
- Registry risks
- Orchestrator risks
- Container risks
- Host OS risks
Container Security Lifecycle
Container security একটি end-to-end concern। প্রতিটি phase-এ আলাদা security practice।
Phase 1 - Code: Application code-এ vulnerability (OWASP Top 10)। SAST tool।
Phase 2 - Build: Dockerfile, image construction। IaC scanning, dependency check।
Phase 3 - Registry: Image storage। Image signing, vulnerability scanning।
Phase 4 - Deploy: Kubernetes manifest, Helm chart। Policy as code, admission controller।
Phase 5 - Runtime: Running container। Runtime security, behavioral monitoring।
Phase 6 - Observability: Logging, monitoring, alerting।
Image Security
Container security-র foundation হলো secure image।
Vulnerability Scanning: Image-এ থাকা OS package ও application dependency-তে known CVE detect করা।
Tools:
- Trivy: Open-source, fast, comprehensive
- Grype: Anchore-র scanner
- Snyk Container: Commercial, IDE integration
- Clair: RedHat-এর OSS
- Microsoft Defender for Containers: Azure-integrated
Image Provenance: Image কোথা থেকে এসেছে তা trace করা গুরুত্বপূর্ণ।
- SBOM (Software Bill of Materials): Image-এ কী কী আছে তার complete list। Syft, SPDX, CycloneDX format।
- In-toto Attestation: Build process-এর cryptographic proof।
- Sigstore (Cosign, Fulcio, Rekor): Image signing, transparency log।
Trusted Registry: Public registry থেকে directly pull না করে private registry use করুন।
- Harbor: OSS container registry with built-in scanning
- JFrog Artifactory
- AWS ECR, Azure Container Registry, Google Artifact Registry
Minimal Base Image: Smaller image মানে fewer vulnerabilities।
- Distroless: Google-র minimal image
- Alpine: Lightweight
- Scratch: Absolutely minimum
- Chainguard: Hardened minimal images
Supply Chain Security
Container supply chain attack increasingly common। SolarWinds, Codecov, 3CX—এসব attack supply chain-এর গভীর vulnerability প্রকাশ করেছে।
SLSA Framework: Supply-chain Levels for Software Artifacts—Google-প্রবর্তিত framework যা supply chain integrity-র জন্য four-level maturity model দেয়।
Key Practices:
- Verify source repository integrity
- Reproducible builds
- Signed commits
- Build provenance attestation
- Dependency pinning
- SBOM generation & verification
Notable Supply Chain Threats:
- Typosquatting (npm, PyPI)
- Dependency confusion
- Malicious base image
- Compromised CI/CD
- Stolen signing key
Runtime Security
Image যতই secure হোক, runtime-এ unexpected behavior সম্ভব। Runtime security এই concern address করে।
Falco: CNCF-graduated runtime security tool। eBPF বা kernel module ব্যবহার করে syscall observe করে।
- rule: Unexpected outbound connection
desc: Detect outbound connections to unexpected destinations
condition: outbound and not allowed_destinations
output: Unexpected outbound (container=%container.id dest=%fd.rip)
priority: WARNING
Tetragon (Cilium): eBPF-based observability ও enforcement।
Tracee (Aqua): eBPF runtime security।
Microsoft Defender for Containers: Cloud-integrated।
Commercial CWPP:
- Sysdig Secure
- Prisma Cloud
- Aqua Security
- Wiz
Behavioral Detection: Container-এর normal behavior baseline তৈরি করে anomaly detect করা।
Orchestrator Security (Kubernetes)
Kubernetes-এর own security concerns বিশাল।
API Server Hardening:
- TLS everywhere
- Anonymous auth disabled
- RBAC strict
- Audit logging
- Admission controllers
Pod Security:
- Pod Security Standards (Restricted profile)
- Security Context: runAsNonRoot, readOnlyRootFilesystem, capabilities drop
- Resource limits
Network Policy:
- Default deny
- Explicit allow
- Egress control
- Service mesh (Istio, Linkerd) for mTLS
Secret Management:
- etcd encryption at rest
- External secret managers
- Sealed Secrets
- Workload identity (avoid mounted SA token)
Admission Controllers:
- OPA Gatekeeper
- Kyverno
- Validating policy before pod creation
Network Security
Container network-এ unique challenges আছে।
East-West Traffic: Cluster-এর ভিতরে service-to-service communication। Traditionally unencrypted ও unauthenticated।
Solution: Service Mesh
- mTLS automatic between services
- Fine-grained authorization
- Traffic encryption
- Observability
North-South Traffic: Cluster-এর বাইরে user-এর সাথে communication।
Ingress Security:
- WAF (Web Application Firewall)
- Rate limiting
- DDoS protection
- TLS termination
DNS Security:
- CoreDNS hardening
- DNS over TLS
Egress Control:
- Network Policy
- Egress gateway (Istio)
- DNS allowlisting
Secret Management
Secret container-এ properly handle করা সবচেয়ে challenging।
Don't:
- Hardcode in image
- ENV variable (visible in process list)
- ConfigMap (not encrypted)
- Plain Kubernetes Secret (base64 only)
Do:
- External secret manager: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault
- External Secrets Operator (sync from external to K8s Secret)
- CSI Secret Driver (mount as volume)
- Workload Identity (no static credential)
- SOPS for GitOps
- Sealed Secrets (encrypted in Git)
- Rotation automation
Cloud-Specific Container Security
প্রতিটি cloud-এ specific container security service আছে।
AWS:
- ECR Image Scanning
- Fargate (managed, no host access)
- GuardDuty for EKS
- AWS App Mesh
Azure:
- Azure Container Registry vulnerability scanning
- AKS-managed nodes with autopatching
- Microsoft Defender for Containers
- Azure Policy for AKS
GCP:
- Artifact Analysis (formerly Container Analysis)
- Binary Authorization (signed image only)
- GKE Autopilot (managed)
- Anthos Service Mesh
Compliance ও Standards
Container deployment-এ compliance requirement বিভিন্ন।
Standards:
- CIS Docker Benchmark
- CIS Kubernetes Benchmark
- NIST SP 800-190
- PCI DSS for containerized payment system
- HIPAA for healthcare
- SOC 2
Audit Tools:
- kube-bench (CIS K8s)
- docker-bench-security
- Kubescape (multi-framework)
- Polaris (Fairwinds)
DevSecOps Integration
Container security-কে CI/CD-তে integrate করা অপরিহার্য।
Shift-Left Practices:
- IDE plugin (Snyk, Checkov)
- Pre-commit hook (gitleaks, hadolint)
- PR-time scan (Trivy in GitHub Actions)
- Build-time scan & policy
- Pre-deployment admission control
- Runtime monitoring
Sample GitHub Action:
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'myapp:${{ github.sha }}'
format: 'sarif'
output: 'trivy-results.sarif'
severity: 'CRITICAL,HIGH'
exit-code: '1'
- name: Sign image with Cosign
run: cosign sign --yes myapp:${{ github.sha }}
Observability ও Forensics
Container security incident detect ও respond করার জন্য proper observability দরকার।
Logging:
- Centralized log aggregation (ELK, Loki)
- Structured logs (JSON)
- Audit log retention
Metrics:
- Prometheus + Grafana
- Security-specific metrics
Tracing:
- Distributed tracing (Jaeger, Tempo)
- Service dependency visualization
Incident Response:
- Container forensics ephemeral, তাই log shipping crucial
- Snapshot containers before terminate
- Forensic-capable runtime tool (Tetragon, Falco)
বাস্তব Threat ও Attack Patterns
TeamTNT: Cryptojacking gang যা exposed Docker API, K8s, Redis target করে।
Kinsing: Cryptominer যা container vulnerability exploit করে।
Hildegard: TeamTNT-র K8s-targeted।
Siloscape: Windows container থেকে K8s escape।
Common Attack Patterns:
- Exposed Docker/Kubernetes API
- Default credential
- Vulnerable image (Log4j, etc.)
- Misconfigured RBAC
- Compromised CI/CD credential
- Supply chain (malicious dependency)
- Container escape via runtime CVE
প্রতিরোধ ও সর্বোত্তম অনুশীলন
Comprehensive container security strategy:
Image Security:
- Minimal base image
- Vulnerability scanning in CI/CD
- Image signing (Cosign)
- SBOM generation
- Private registry
Build Security:
- Multi-stage build
- Non-root user
- Reproducible builds
- Dependency pinning
Runtime Security:
- Pod Security Standards (Restricted)
- Network Policy (default deny)
- Resource limits
- Runtime security tool (Falco)
- No privileged container
Orchestrator Security:
- RBAC least privilege
- Audit logging
- Admission controller (OPA/Kyverno)
- etcd encryption
Supply Chain:
- SLSA Level 3+
- In-toto attestation
- Signed commits
- Reproducible builds
Operational:
- Patch kernel, runtime, K8s timely
- Disaster recovery
- Regular pentest
- Security training
- Incident response playbook
বাংলাদেশের প্রেক্ষাপট
বাংলাদেশের fintech, e-commerce ও SaaS প্রতিষ্ঠানগুলো দ্রুতগতিতে container adoption করছে। কিন্তু security maturity প্রায়শই lag করে। একটি common pattern হলো production K8s cluster-এ default configuration, no network policy, exposed dashboard। Bangladesh Bank, BTRC এবং BGD e-GOV CIRT-এর নির্দেশিকা অনুসরণ করে এবং international best practice apply করে এই gap পূরণ করা সম্ভব।
Container Security একটি বহুমাত্রিক ক্ষেত্র যা শুধু একটি tool বা একটি framework দিয়ে solve করা যায় না। Image থেকে runtime, supply chain থেকে orchestration—প্রতিটি layer-এ deliberate security control প্রয়োজন। Modern cloud-native application দ্রুত deploy হয়, frequent update পায়, এবং massive scale-এ চলে—এই dynamic environment-এ traditional security approach অপ্রতুল। DevSecOps culture, automation, observability, এবং continuous improvement-এর মাধ্যমেই কেবল strong container security posture তৈরি করা সম্ভব। মনে রাখবেন, container security একটি destination নয়, একটি journey। Threat landscape প্রতিদিন পরিবর্তিত হচ্ছে, নতুন CVE প্রকাশিত হচ্ছে, attacker নতুন technique invent করছে। নিজেকে updated রাখুন, community resource (CNCF, OWASP, CISA) follow করুন, এবং প্রতিটি deployment-এ security-কে প্রথম-শ্রেণীর citizen হিসেবে বিবেচনা করুন।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Container Security MCQ Quiz-টি দিন!
Related articles
CI/CD Security: Hardening the Software Development Pipeline
8 min
Container Breakout: Breaking Docker Limitations to Infiltrate the Host System
12 min
Container Hardening: A Guide to Strengthening Docker and Kubernetes Security
13 min
DevSecOps: Ensuring Cyber Security in Every Phase of Software Development
8 min

