Çoğu "hardening" dökümü %90 gürültüdür
Tek aramayla 200 satırlık "Linux hardening checklist" bulabilirsiniz. Çoğu demode veya yanlış. Aşağıdaki 2026'da gerçekten önemli olan.Kimlik doğrulama
- Parola SSH girişi yok. Sadece public key.
PasswordAuthentication no. - Root SSH girişi yok.
PermitRootLogin no. - SSH'ı non-default port'a kısıtlama bir güvenlik değil, bot taramasına karşı hijyendir.
- ~10+ sunuculu filolar için SSH sertifikaları.
- İnsan kullanıcılar için donanım-destekli anahtarlar (YubiKey, ed25519-sk).
Patching
- Unattended security upgrade'ler etkin.
- Reboot politikası — kernel yükseltmeleri reboot gerektirir.
- Yığınınızı etkileyen CVE advisory'leri takip edin.
Firewall
- Default-deny inbound.
- Cloud security group olsa bile host'ta
nftables. - Outbound — mümkün olduğunca kısıtla.
- Source control'de on-host firewall kuralları.
Loglama ve audit
- Logları merkezîleştir.
auditdönemli olaylar için kurallarla etkin.- Log retention politikası — rutin için en az 90 gün.
- Anomalik desenlerde uyar — brute-force SSH (fail2ban).
En az ayrıcalık ilkesi
- Servis başına service account, paylaşılan account yok.
- Sudo kuralları role göre spesifik komutlara daraltılmış.
- Uygulama süreçleri spesifik root sebebi olmadıkça non-root çalışır.
- Dosya sistem izinleri uygulanır.
Süreç ve dosya bütünlüğü
AppArmor(Ubuntu/Debian) veyaSELinux(RHEL) etkin.- Uygulamaya özel seccomp / capabilities profile'ları.
- Kritik yollarda dosya bütünlük izleme (AIDE, Tripwire).
Disk şifreleme
- Çekip gidebilecek host'lar için LUKS.
- Bulut disk şifrelemesi çoğu sağlayıcıda varsayılan; doğrula.
- Yedek şifreleme — disk şifrelemesinden ayrı.
Container'lar
- Mümkün yerlerde read-only filesystem.
- Gereksiz capabilities düşür.
- Use case gerektirmedikçe privileged container yok.
- Build'de + registry pull'da image tarama.
- Runtime güvenlik tooling (Falco, Tetragon).
Secret yönetimi
- Source code'da, repo'lardaki env var'larda secret yok.
- Secret manager (Vault, AWS Secrets Manager) source of truth.
- Servis başına kimlik bilgileri, takvimle rotated.
- Secret erişiminde audit log.
Dürüst özet
İki tutarlı boşluk:- Hiçbir yere gitmeyen audit logging.
- Patch sıklığı — unattended-upgrade yapılandırılmış ama reboot olmuyor.
Uyaracağımız bir desen
İnternetten indirilmiş "hardening script"i üretim sunucusunda çalıştırmak.Her zaman karşılığını veren bir desen
Belgelenmiş baseline.Baseline'ınız nedir?
Most "hardening" docs are 90% noise
You can find a 200-line "Linux hardening checklist" with one search. Most is dated or wrong.Authentication
- No password SSH. Public key only.
- No root SSH.
- Restrict SSH to non-default port is hygiene, not security.
- SSH certificates for fleets >~10 servers.
- Hardware-backed keys (YubiKey, ed25519-sk) for humans.
Patching
- Unattended security upgrades enabled.
- Reboot policy — kernel upgrades require reboot.
- Track CVE advisories.
Firewall
- Default-deny inbound.
nftableson host even with cloud security group.- Outbound — restrict where possible.
- On-host firewall rules in source control.
Logging and audit
- Centralise logs.
auditdenabled with rules.- Log retention — at least 90 days for routine.
- Alert on anomalous patterns.
Least privilege
- Service accounts per service.
- Sudo rules narrowed.
- Application processes run as non-root.
- Filesystem permissions enforced.
Process and file integrity
AppArmororSELinuxenabled.- Application-specific seccomp/capabilities profiles.
- File integrity monitoring (AIDE, Tripwire).
Disk encryption
- LUKS for any host that might walk away.
- Cloud disk encryption — verify.
- Backup encryption separate.
Containers
- Read-only filesystem where possible.
- Drop unnecessary capabilities.
- No privileged containers unless needed.
- Image scanning at build + at registry pull.
- Runtime security tooling (Falco, Tetragon).
Secrets management
- No secrets in source code or env vars in repos.
- Secrets manager is source of truth.
- Per-service credentials, rotated.
- Audit log on secret access.
The honest summary
Two consistent gaps:- Audit logging that goes nowhere.
- Patch cadence — unattended-upgrades configured but not actually rebooting.
One pattern we'd warn about
Running a "hardening script" downloaded from the internet against a production server.One pattern that always pays off
A documented baseline.What's your baseline?