Sunucu standartlarını kodla tanımlamak tek başına yeterli değildir; canlı sistemlerin gerçekten o tanıma uyup uymadığını da düzenli kontrol etmek gerekir. Drift tespiti, özellikle manuel müdahale, acil düzeltme veya unutulmuş paket değişiklikleri nedeniyle oluşan farkları görünür kılar. Ansible bu iş için yalnızca dağıtım aracı değil, aynı zamanda denetim aracı olarak da oldukça etkilidir.
Drift tam olarak nedir?
Bir sunucunun beklenen durumdan sapmasıdır. Bu sapma şu alanlarda görülebilir:
- Kurulu paket listesi
- Konfigürasyon dosyası içeriği
- Çalışan servis durumu
- Açık port ve dinleyen süreçler
- Yetkili kullanıcı veya grup üyelikleri
Bu farklar küçük görünse de güvenlik, operasyon ve denetlenebilirlik tarafında ciddi sorun üretir.
Yaklaşım: uygulamak yerine önce gözlemlemek
İlk aşamada hedef, drift’i otomatik düzeltmek değil görünür kılmaktır. Bunun için --check modu, changed_when, failed_when ve özel doğrulama görevleri birlikte kullanılabilir.
Basit bir örnek:
- name: SSH ayarini denetle
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: '^PasswordAuthentication'
line: 'PasswordAuthentication no'
check_mode: true
register: ssh_policy
- name: Sapma varsa raporla
ansible.builtin.debug:
msg: "SSH politikasi beklenen durumdan sapmis"
when: ssh_policy.changed
Bu model, canlı sunucuyu değiştirmeden farkı görmenizi sağlar.
En yararlı denetim alanları
Başlangıç için şu kontrol setleri yüksek değer üretir:
- Paket ve repo standardı
- SSH ve temel sertleştirme ayarları
- Güvenlik ajanlarının çalışıyor olması
- Zaman senkronizasyonu ve log iletimi
- Yetkili kullanıcı listesi
Özellikle yönetim erişimi olan sunucularda bu alanlar hızlı güvenlik geri bildirimi verir.
Örnek raporlama yaklaşımı
Ansible çalışmasının çıktısını sadece terminalde bırakmak yerine JSON veya Markdown rapora dönüştürmek daha kullanışlıdır. Basit yaklaşım şöyledir:
- Envanteri takım veya ortam bazında gruplayın
- Her denetim için
registerçıktısı toplayın - Sonuçları tek rapor dosyasında derleyin
- Kritik sapmaları CI veya cron üzerinden bildirin
Bu sayede drift tespiti tek seferlik deneme değil, sürekli kontrol haline gelir.
Ne zaman otomatik düzeltme eklenmeli?
Önce gözlemleyin, sonra desenleri anlayın. Eğer aynı sapmalar tekrar ediyorsa iki soru sorun:
- Bu sapma gerçekten istenmeyen bir manuel müdahale mi?
- Yoksa standart tanım güncel değil mi?
Cevap netleşmeden otomatik düzeltme eklemek yanlış pozitifi büyütebilir. Sağlıklı sıra; görünürlük, sınıflandırma, onaylı düzeltme ve en son tam otomasyondur.
Sonuç
Ansible ile sunucu konfigürasyon drift tespiti, altyapı standardını yaşayan bir kontrole dönüştürür. Özellikle Linux sunucular, bastion sistemleri ve kurumsal servis düğümleri için düzenli drift denetimi; güvenlik açıklarını, belge dışı değişiklikleri ve operasyon riskini erken aşamada görünür hale getirir. Değişikliği yalnızca uygulamak değil, sapmayı sürekli ölçmek de altyapı disiplininin parçasıdır.