1. Konfigürasyon Yönetimi Nedir?

Konfigürasyon yönetimi; bir sunucunun/altyapının “nasıl olması gerektiğini” tanımlayıp bunu sürdürülebilir şekilde korumaktır. Amaç; ortamları (prod/stage) tutarlı yapmak ve değişiklikleri izlenebilir kılmaktır. Güvenlik perspektifinde bu; açık portlar, kullanıcı yetkileri, paket sürümleri, firewall kuralları, security group’lar ve sertifika/anahtar politikaları gibi ayarların kontrolüdür.
Konfigürasyon yönetimi ve IaC nedir, neden önemlidir?
Konfigürasyon yönetimi; sistem ayarlarını standartlaştırıp izlenebilir hale getirmektir. IaC (Infrastructure as Code) ise bu altyapı ve güvenlik ayarlarını kod olarak tanımlayıp repo üzerinden yönetmeyi sağlar. Önemlidir çünkü drift’i azaltır, “kim bu portu açtı?” sorusuna cevap verir ve tekrarlanabilir, denetlenebilir güvenlik sağlar.
Drift (sapma) neden oluşur?
- •Elle yapılan “geçici” değişiklikler kalıcılaşır
- •Farklı sunuculara farklı paket/sürüm kurulur
- •Acil durumlarda prosedür dışı ayar yapılır
- •Staging/prod ayrımı ya yoktur ya da sürdürülemez
☑ Mini Check: Drift sinyalleri
- •Aynı rol sunucular farklı port/paket seviyelerinde mi?
- •Staging’de çalışan prod’da bozuluyor mu?
- •Kim değişiklik yaptı sorusunun net cevabı yok mu?
- •Güvenlik ayarları “dokümanda” ama sunucuda farklı mı?
- •Acil değişiklikler geri toplanmıyor mu?
Ne yapmalıyım?
- • “Desired state” mantığını benimse (nasıl olmalı?).
- • Güvenlik ayarlarını dokümandan çıkarıp koda taşı.
- • Değişiklikleri PR/code review ile yönet.
- • Drift’i ölçmek için periyodik kontrol/rapor kur.

2. Infrastructure as Code (IaC) Temelleri
IaC, altyapıyı kodla yönetme yaklaşımıdır. Temel kazanım; kurulumun “adım adım” değil “tanım olarak” yapılmasıdır. Bu tanım repo’da yaşar; kim neyi değiştirdi, ne zaman değiştirdi, neden değiştirdi cevaplanır.
Terraform vs Ansible (rol ayrımı)
- •Terraform: altyapı kaynaklarını (network, compute, security group, load balancer) tanımlar ve yönetir.
- •Ansible: sunucu üzerinde konfigürasyon/paket/kullanıcı gibi “iç ayarları” idempotent şekilde uygular.
- •Pratikte çoğu mimaride birlikte kullanılır: Terraform “ne var?”, Ansible “içinde ne var?”
IaC pipeline mantığı (repo → plan → apply)
IaC’de değişiklikler; PR açılır, plan alınır, review edilir, sonra uygulanır. Bu akış; güvenlik değişikliklerini “gözden geçirilmiş” hale getirir. Otel/B2B projelerinde özellikle “sezonda acil değişiklik” baskısı varsa, bu pipeline kontrol mekanizmasıdır.
☑ Mini Check: IaC temeli
- •Altyapı tanımı repo’da mı?
- •PR ile değişiklik onayı var mı?
- •Plan çıktısı review ediliyor mu?
- •Apply için yetki kontrollü süreç var mı?
- •Staging/prod ayrımı kodda net mi?
Ne yapmalıyım?
- • Terraform ve Ansible sınırlarını çiz (kaynak vs konfig).
- • Repo + PR + plan-review standardı kur.
- • Staging/prod ayrımını ayrı ortamlarla yönet.
- • Apply yetkisini “en az yetki” ile sınırla.

3. Güvenlik Ayarlarını Kodla Takip Etmek
Security-as-Code yaklaşımında hedef; güvenlik ayarlarını “kişilerin hafızası”ndan çıkarıp sistematik hale getirmektir. Burada kritik alanlar: security group/firewall, kullanıcı-yetki yönetimi, paket politikaları, hardening rolleri ve secret/state güvenliği.
Terraform/Ansible ile güvenlik ayarlarını nasıl yönetirim?
Terraform ile security group/firewall benzeri ağ güvenliğini kodla tanımlayıp değişiklikleri plan-review üzerinden kontrol edersiniz. Ansible ile kullanıcı/yetki, paket güncellemeleri ve hardening adımlarını idempotent rollere çevirirsiniz. İkisini birlikte kullanarak hem dış yüzeyi (portlar/erişim) hem de sunucu içini (kullanıcı/paket) denetlenebilir hale getirirsiniz.
Kritik ayarları kod tabanına taşımak (örnek kategori)
- •Security group / firewall kuralları (hangi port kimden erişir?)
- •Kullanıcı/grup/rol (root/admin politikası, sudo)
- •Paket ve servis baseline (gereksiz servisler kapalı)
- •SSH/RDP politikaları (key/MFA yaklaşımı, erişim daraltma)
- •Loglama/izleme ajanları kurulumu (SIEM entegrasyonu gibi)
Version control + code review neden güvenlik kontrolüdür?
Çünkü değişiklik “görünür” olur: kim açtı, ne açtı, neden açtı. Review süreci; hatalı port açma veya fazla yetki verme gibi riskleri daha prod’a gitmeden yakalar.
☑ Mini Check: Security-as-Code kontrol seti
- •Security group/firewall kuralları kodda mı?
- •Kullanıcı/yetki politikaları otomatik uygulanıyor mu?
- •Paket baseline ve hardening rolleri var mı?
- •Değişiklikler PR ile onaylanıyor mu?
- •Drift tespit/raporlama mekanizması var mı?
Ne yapmalıyım?
- • En riskli 10 ayarı seç ve önce onları koda taşı.
- • PR review’de “security checklist” zorunlu olsun.
- • Drift tespitini düzenli çalıştır; fark varsa geri al.
- • Bakım ve patch süreçlerini IaC akışına bağla: https://dgtlface.com/tr/yazilim/bakim-ve-destek

4. Terraform/Ansible Örnekleri (Konsept + pratik)
Bu rehber “komut listesi” değil; tekrar kullanılabilir model verir. Aşağıdaki örnekler, otel/B2B altyapısında en sık karşılaşılan güvenlik değişikliklerini temsil eder.
Terraform tarafı — güvenlik kaynakları (security group, network)
- •“Sadece gerekli portlar”: 80/443 public, yönetim portları allowlist/VPN
- •Ortam bazlı farklılık: staging daha esnek, prod daha sıkı
- •Modül yaklaşımı: tekrar eden güvenlik kuralları tek modülden
Terraform state güvenliği (kritik not)
State dosyası, altyapı “gerçeği”ni tutar; yanlış yönetilirse hassas bilgi sızdırabilir veya altyapı kontrolü bozulur. State’in erişimi ve saklanması (yetki, şifreleme, ayrık ortam) güvenlik planının parçasıdır.
Ansible tarafı — idempotent güvenlik rolleri
- •Kullanıcı/grup tanımı ve sudo politikası
- •Paket baseline (kurulacaklar/kaldırılacaklar)
- •Servis kapatma, firewall kuralları (sunucu içi)
- •SSH hardening (key zorunluluğu, root login kısıtı gibi)
☑ Mini Check: Örnekleri “model”e çevirme
- •Tekrarlanan kural setleri modülleştirildi mi?
- •Prod/stage farkı değişkenlerle yönetiliyor mu?
- •State erişimi ve şifreleme güvenli mi?
- •Ansible rolleri idempotent mi (tekrar çalışınca bozmuyor mu)?
- •Rollback planı var mı (yanlış değişiklikte geri dönüş)?
Ne yapmalıyım?
- • Security group/firewall için “golden module” çıkar.
- • State’i güvenli sakla ve erişimi sınırla.
- • Ansible’da hardening rollerini idempotent tasarla.
- • Release/Değişiklik yönetimini web projeleriyle hizala: https://dgtlface.com/tr/yazilim/web-sitesi-gelistirme
5. Otel ve B2B İçin Tekrarlanabilir Altyapı
Otel tarafında çok sunuculu cluster (yük dengeleme, çoklu node) ve sezon trafik dalgalanması; B2B’de staging/prod ayrımı ve entegrasyon çeşitliliği; IaC’ye en çok ihtiyaç duyulan durumlardır.
Otel örneği — çok sunuculu cluster standardizasyonu
- •Her node aynı baseline güvenlik rolüyle gelir
- •Trafik artınca yeni node aynı kodla ayağa kalkar
- •“Kim bu portu açtı?” sorusu PR geçmişinden görülebilir
B2B örneği — staging/prod ayrımı ve kontrollü değişiklik
- •Staging’de plan-review ile test
- •Prod’a aynı tanımın “sıkı” varyantı uygulanır
- •Entegrasyonların erişim kuralları (IP allowlist) kodla yönetilir
Elle sunucu ayarı yerine IaC kullanmanın avantajları neler?
IaC; tekrarlanabilir kurulum, izlenebilir değişiklik geçmişi, drift azaltma ve güvenlik regresyonlarını erken yakalama avantajı sağlar. Elle ayarlarda bilgi kişilere bağımlı kalır; IaC’de bilgi repo’da yaşar ve review ile kalite kontrol edilir.
☑ Mini Check: Tekrarlanabilirlik testi
- •Yeni sunucu 30–60 dakikada aynı baseline ile kurulabiliyor mu?
- •Staging/prod farkı net ve kodla yönetiliyor mu?
- •Güvenlik değişiklikleri PR ile izleniyor mu?
- •Drift raporu düzenli üretiliyor mu?
- •Bakım/patch süreçleri IaC ile uyumlu mu?
Ne yapmalıyım?
- • “Golden baseline”ı çıkar ve yeni node’larda zorunlu kıl.
- • Staging/prod ayrımını IaC’de netleştir.
- • Değişiklik yönetimini bakım-destek süreciyle birleştir.
- • Sunucu güvenliği sayfası ile entegre bir standart oluştur: https://dgtlface.com/tr/yazilim/sunucu-guvenlik

6. Terraform/Ansible Güvenlik Modülleri Özeti
| Güvenlik Alanı | Terraform ile | Ansible ile | Kontrol/Kanıt |
|---|---|---|---|
| Ağ erişimi | Security group, LB kuralları | Host firewall | Plan çıktısı + kural envanteri |
| Kullanıcı/yetki | IAM/role tanımı (varsa) | User/group/sudo | Audit log + drift raporu |
| Paket baseline | AMI/image seçimi | Paket/servis rolleri | İdempotent playbook |
| SSH hardening | Ağ kısıtı (allowlist) | SSH config/keys | Başarısız login trendi |
| İzleme/loglama | Agent altyapısı | Agent kurulumu | SIEM log akışı |

7. “Terraform/Ansible Güvenlik Konfigürasyonu” Planlama Şablonunu İndir
Template İçeriği
“Terraform/Ansible Güvenlik Konfigürasyonu” Planlama Şablonunu İndir — Yazılım / Sunucu ve Güvenlik (v1.0)
Bu şablon; security group/firewall, kullanıcı-yetki, paket baseline ve hardening adımlarını Terraform/Ansible ile Security-as-Code yaklaşımında planlamak için hazırlanmıştır. Repo→plan→apply pipeline’ında hangi kontrol noktalarının olması gerektiğini netleştirir. Drift’i azaltmak ve “kim bu portu açtı?” problemini PR geçmişiyle çözmek için kullanılır.
Kim Kullanır?
DevOps/BT, ajans teknik lideri, otel IT, B2B platform ekibi.
Nasıl Kullanılır?
- Güvenlik ayar envanterini çıkar ve “koda taşınacak”ları işaretle.
- Terraform modülleri ve Ansible rolleri için planı doldur, staging/prod farkını yaz.
- PR/review/plan kontrollerini ekle ve drift doğrulama takvimini belirle.
Ölçüm & Önceliklendirme (Kısa sürüm)
- ▢ ✅ Security group kuralları modülleştirildi
- ▢ ✅ Ansible hardening rolleri idempotent
- ▢ ✅ State güvenliği sağlandı (erişim/şifreleme)
- ▢ ✅ PR + review zorunlu
- ▢ ✅ Drift raporu ve geri alma süreci var
PDF içinde: Problem→Kök Neden→Çözüm tablosu + 14 gün sprint planı + önce/sonra KPI tablosu
6) Kontrol Listesi
- •Security group kuralları modülleştirildi
- •Ansible hardening rolleri idempotent
- •State güvenliği sağlandı (erişim/şifreleme)
- •PR + review zorunlu
- •Drift raporu ve geri alma süreci var

Bir Sonraki Adım
Güvenlik ayarlarını koda taşıyıp drift’i azaltmak ve değişiklikleri denetlenebilir hale getirmek isteyen otel ve B2B DevOps ekipleri için.
Sık Sorulan Sorular
Konfigürasyon yönetimi ve IaC nedir, neden önemlidir?▾
Terraform/Ansible ile güvenlik ayarlarını nasıl yönetirim?▾
Elle sunucu ayarı yerine IaC kullanmanın avantajları neler?▾
Otel ve B2B projeleri için IaC pipeline’ı nasıl kurgulanmalı?▾
Terraform state neden güvenlik konusu?▾
IaC drift’i tamamen bitirir mi?▾
İlgili İçerikler
