🔐 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_config
iç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 -
DirectoryIndex
kapatılır -
X-Frame-Options
,X-Content-Type-Options
gibi başlıklar eklenir
-
-
Veritabanı:
-
Varsayılan kullanıcılar silinmeli (örneğin:
root
,test
) -
bind-address
sadece 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).
-
sudo
kullanımı loglanmalı. -
last
,who
,w
komutları ile giriş geçmişi kontrol edilmeli.
🔸 3.5. Dosya Sistemi ve Log Sertleşmesi
-
/etc/fstab
içindenosuid
,nodev
,noexec
seçenekleri uygulanmalı. -
Loglar ayrı bir diskte tutulmalı ve yalnızca root yazma iznine sahip olmalı.
-
logrotate
ile log arşivleme yapılmalı. -
Dosya/dizin izinleri:
-
chmod
vechown
ile 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ı? | ☐ |