🔐 1. NEDİR: Sistem Sertleşmesi (Hardening)
Sistem sertleşmesi (system hardening), bir sistemin saldırılara karşı daha dayanıklı hale getirilmesi amacıyla yapılan yapılandırma, sınırlandırma ve denetim adımlarının bütünüdür.
Hedef: Saldırganın istismar edebileceği zayıflıkları minimuma indirmektir.
🎯 2. TEMEL HEDEF: Saldırı Yüzeyini Azaltmak
| Güvenlik Katmanı | Örnek Zafiyet | Sertleşme Müdahalesi |
|---|---|---|
| İşletim Sistemi | Açık portlar | Kullanılmayan portları kapat |
| Servisler | Eski/boşta çalışan servisler | Gereksiz servisleri durdur |
| Kullanıcı Erişimi | Root ile uzaktan giriş | Root girişi yasakla, sudo kullan |
| Uygulamalar | Varsayılan ayarlar | Config dosyalarını düzenle |
| Ağ Güvenliği | Geniş açık firewall kuralları | Yalnızca gerekli portları aç |
🧰 3. SERTLEŞTİRME AŞAMALARI (Genel)
🔸 3.1. İşletim Sistemi Sertleşmesi
Windows:
-
Güncellemeler: Windows Update açık olmalı, düzenli yama uygulanmalı.
-
PowerShell üzerinden script kontrolü yapılmalı:
Get-WindowsFeature,Get-EventLog -
Defender ve Firewall aktif olmalı
-
Local Security Policy (secpol.msc) ayarları gözden geçirilmeli
-
Sistem restore point oluşturulmalı
Linux:
-
SSH üzerinden root erişimi engellenmeli:
/etc/ssh/sshd_configiçinde:
PermitRootLogin no -
SSH portu değiştirilip sadece whitelist’ten bağlantı kabul edilmeli.
-
Gereksiz servisler kontrol edilmeli:
systemctl list-units --type=service -
Loglama sistemi kurulmalı (
rsyslog,auditd) -
SELinux/AppArmor aktif olmalı.
🔸 3.2. Ağ Sertleşmesi
-
Kullanılmayan portlar kapatılmalı:
Linux:ufw,iptables
Windows:Windows Firewall with Advanced Security -
Gelen/giden trafiğe filtre uygulanmalı.
-
Port taramasına karşı IDS/IPS (Snort, Suricata) kurulmalı.
-
MAC adres filtreleme uygulanmalı.
-
ICMP (ping) cevapları kapatılmalı (gizlilik için).
🔸 3.3. Servis & Uygulama Sertleşmesi
-
Apache/Nginx:
-
ServerTokens Prod→ Sürüm bilgisi gösterilmez -
DirectoryIndexkapatılır -
X-Frame-Options,X-Content-Type-Optionsgibi başlıklar eklenir
-
-
Veritabanı:
-
Varsayılan kullanıcılar silinmeli (örneğin:
root,test) -
bind-addresssadece localhost olmalı -
SQL injection’a karşı parametreli sorgular kullanılmalı
-
🔸 3.4. Kullanıcı Hesap Sertleşmesi
-
Parola politikası uygulanmalı:
-
En az 12 karakter
-
Karmaşık yapı (harf, sayı, sembol)
-
-
2FA (Two-Factor Authentication) etkinleştirilmeli.
-
Kullanıcılar gereksiz yetkilere sahip olmamalı (minimum yetki prensibi).
-
sudokullanımı loglanmalı. -
last,who,wkomutları ile giriş geçmişi kontrol edilmeli.
🔸 3.5. Dosya Sistemi ve Log Sertleşmesi
-
/etc/fstabiçindenosuid,nodev,noexecseçenekleri uygulanmalı. -
Loglar ayrı bir diskte tutulmalı ve yalnızca root yazma iznine sahip olmalı.
-
logrotateile log arşivleme yapılmalı. -
Dosya/dizin izinleri:
-
chmodvechownile kontrol edilmeli -
Yalnızca yetkili kullanıcılar erişebilmeli
-
🔸 3.6. BIOS ve Donanım Sertleşmesi
-
BIOS’a parola konmalı.
-
USB portları BIOS üzerinden devre dışı bırakılabilir (veri sızıntısı önlemi).
-
Secure Boot aktif edilmeli.
🧪 4. OTOMASYON & ARAÇLAR
| Amaç | Araçlar |
|---|---|
| Zafiyet tarama | Lynis, OpenVAS, Nessus |
| Log izleme | Syslog, Logwatch, ELK Stack |
| Sertleşme testi | Lynis, osquery |
| Dosya izleme | AIDE, Tripwire |
✅ 5. CHECKLIST (Kontrol Listesi)
| İşlem | Yapıldı mı? |
|---|---|
| SSH root girişi kapalı mı? | ☐ |
| Kullanılmayan servisler kapalı mı? | ☐ |
| Sistem güncel mi? | ☐ |
| Firewall yapılandırıldı mı? | ☐ |
| Loglar güvenli ve yedekleniyor mu? | ☐ |
| Parola politikası uygulandı mı? | ☐ |