Kod Olarak Altyapı Güvenliği
Terraform ile kod olarak tanımlanan bulut altyapısını güvenceye almayı, şablonları yanlış yapılandırmalara karşı taramayı ve sapmaları ile güvensiz varsayılanları önlemeyi öğrenin.
Kod Olarak Altyapı Güvenliği, CoddyKit'te ücretsiz bir Secure Coding & OWASP Top 10 for Backend dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Secure Coding & OWASP Top 10 for Backend öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Secure Coding & OWASP Top 10 for Backend kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
What Is IaC?
Infrastructure as Code (IaC) defines cloud resources in declarative files (Terraform, CloudFormation, Bicep) instead of clicking through consoles. It makes infrastructure repeatable, reviewable, and version-controlled.
That same automation means a single mistake can be deployed everywhere instantly.
Security Benefits of IaC
IaC enables security at scale:
- Changes go through code review and version history
- Configurations are consistent across environments
- Security policies can be enforced automatically
The goal is to catch insecure config before it ever reaches the cloud.
Common Misconfigurations
The most frequent IaC security mistakes include:
- Storage buckets open to the public
- Security groups allowing 0.0.0.0/0 on sensitive ports
- Unencrypted volumes and databases
- Overly broad IAM permissions
An Insecure Example
This Terraform snippet exposes a database port to the entire internet.
resource 'aws_security_group_rule' 'db' {
type = 'ingress'
from_port = 5432
to_port = 5432
protocol = 'tcp'
cidr_blocks = ['0.0.0.0/0'] # INSECURE: open to all
}The Secure Version
Restrict access to a known private range and enforce encryption by default.
resource 'aws_security_group_rule' 'db' {
type = 'ingress'
from_port = 5432
to_port = 5432
protocol = 'tcp'
cidr_blocks = ['10.0.1.0/24'] # private app subnet only
}Static Scanning
Tools like Checkov, tfsec, and Terrascan scan IaC files for insecure patterns before deployment. Run them in CI so risky templates fail the build automatically.
# Example CI step (conceptual)
# checkov -d ./infra --quiet
rules_failed = ['CKV_AWS_24: SSH open to 0.0.0.0/0']
for r in rules_failed:
print('FAIL', r)Policy as Code
Policy as Code tools like Open Policy Agent (OPA) and Sentinel let you write rules such as 'no public buckets' that block non-compliant plans automatically, turning security standards into enforceable code.
Securing State Files
Terraform state can contain secrets and resource details. Store it in an encrypted, access-controlled backend (such as an encrypted S3 bucket with locking), never in the git repository.
- Encrypt state at rest
- Restrict who can read it
- Enable state locking to prevent corruption
Avoiding Hardcoded Secrets
Never put credentials directly in IaC files. Reference a secrets manager or inject values at apply time so secrets never land in version control or state.
Detecting Drift
Drift happens when someone changes infrastructure manually, diverging from the code. Run drift detection regularly so unauthorized or accidental changes are caught and reconciled.
Least-Privilege Modules
Build reusable modules with secure defaults: encryption on, public access off, minimal IAM. Teams that consume hardened modules inherit good security without having to be experts.
Quick Check
Test your understanding of IaC security.
Recap
You learned how to secure Infrastructure as Code: review changes, scan templates with tools like Checkov, enforce policy as code, protect state files, keep secrets out of templates, and detect drift. Catching misconfiguration in code stops it before it reaches production.
Sıkça Sorulan Sorular
“Kod Olarak Altyapı Güvenliği” dersi ücretsiz mi?
Evet — “Kod Olarak Altyapı Güvenliği” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Secure Coding & OWASP Top 10 for Backend kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Secure Coding & OWASP Top 10 for Backend kursu toplamda 4 dersten oluşur.
“Kod Olarak Altyapı Güvenliği” dersinde ne öğreneceğim?
Terraform ile kod olarak tanımlanan bulut altyapısını güvenceye almayı, şablonları yanlış yapılandırmalara karşı taramayı ve sapmaları ile güvensiz varsayılanları önlemeyi öğrenin. Secure Coding & OWASP Top 10 for Backend ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Secure Coding & OWASP Top 10 for Backend öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Secure Coding & OWASP Top 10 for Backend, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Kod Olarak Altyapı Güvenliği” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Secure Coding & OWASP Top 10 for Backend dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Secure Coding & OWASP Top 10 for Backend dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Güvenli Bulut Dağıtımı (AWS/Azure/GCP)
- Kapsayıcı Güvenliği (Docker/Kubernetes)
- Sunucusuz Mimari Güvenliği için En İyi Uygulamalar
- Kod Olarak Altyapı Güvenliği