format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightSunucu Güvenliğinde Gelişmiş Yetkilendirme ve Kullanıcı Grupları
- arrow_rightYetkilendirme Nedir ve Neden Bu Kadar Önemli?
- arrow_rightRol Tabanlı Erişim Kontrolü (RBAC)
- arrow_rightRBAC'ın Temel Bileşenleri
- arrow_rightRBAC vs. Geleneksel ACL Karşılaştırması
- arrow_rightLinux'ta Kullanıcı Grupları ve İzin Yönetimi
- arrow_rightTemel Unix İzinleri
- arrow_rightÖzel İzin Bitleri
- arrow_rightPAM (Pluggable Authentication Modules) Yapılandırması
- arrow_rightyaygın PAM Modülleri
- arrow_rightWindows Server'da Yetkilendirme
- arrow_rightActive Directory Yetkilendirme Yapısı
- arrow_rightEn İyi Uygulamalar ve Güvenlik Önlemleri
- arrow_rightTemel Güvenlik İlkeleri
- arrow_rightİzleme ve Günlükleme
- arrow_rightOtomasyon ve İlke Olarak Kod (Policy as Code)
- arrow_rightTerraform ile Yetkilendirme Örneği
- arrow_rightSonuç ve Öneriler
Sunucu Güvenliğinde Gelişmiş Yetkilendirme ve Kullanıcı Grupları
Sunucu güvenliğinin temel taşlarından biri olan yetkilendirme mekanizmaları, sistem yöneticilerinin altyapılarını korumak için kullandıkları en kritik araçlardan biridir. Doğru yapılandırılmamış bir yetkilendirme sistemi, siber saldırganlara kapı açarak veri sızıntılarına ve sistem compromise'lerine yol açabilir. 2023 verilerine göre, tüm siber saldırıların %67'si hedef sistemlerdeki yetkisiz erişim exploit'lerinden kaynaklanmaktadır.
Yetkilendirme Nedir ve Neden Bu Kadar Önemli?
Yetkilendirme (authorization), bir kullanıcının veya sistemin hangi kaynaklara erişebileceğini, hangi işlemleri gerçekleştirebileceğini belirleyen güvenlik mekanizmasıdır. Kimlik doğrulama (authentication) ile birlikte kullanıldığında, güvenlik zincirinin en önemli halkasını oluşturur.
Sunucu ortamlarında yetkisiz erişim, port tarama gibi aktif keşif tekniklerinden sonra en sık karşılaşılan saldırı vektörüdür. Yetkilendirme sistemlerinin doğru tasarımı, "en az yetki prensibi" (principle of least privilege) üzerine kurulmalıdır.
Rol Tabanlı Erişim Kontrolü (RBAC)
RBAC (Role-Based Access Control), modern sunucu güvenliğinin temel taşıdır. Bu modelde, kullanıcılara doğrudan izinler atanmak yerine, roller tanımlanır ve kullanıcılar bu rollere atanır.
RBAC'ın Temel Bileşenleri
- Roller: İşlevsel görevlere karşılık gelen yetki kümeleri
- Kullanıcılar: Sisteme erişen bireyler veya servis hesapları
- İzinler: Kaynaklara erişim ve işlem yetkileri
- Kaynaklar: Dosya, dizin, servis veya ağ kaynakları
RBAC vs. Geleneksel ACL Karşılaştırması
| Kriter | RBAC | Geleneksel ACL |
|---|---|---|
| Yönetim Kolaylığı | Yüksek - merkezi rol atama | Düşük - bireysel izinler |
| Ölçeklenebilirlik | Binlerce kullanıcıya ölçeklenir | Limitli, karmaşıklaşır |
| Denetim Yeteneği | Kolay - rol bazlı raporlama | Zor - ayrıntılı izin takibi |
| Risk Seviyesi | Düşük - varsayılan reddetme | Yüksek - aşırı yetkilendirme riski |
Linux sistemlerde sudo yapılandırması, RBAC'ın en yaygın uygulamasıdır. /etc/sudoers dosyası üzerinden kullanıcılara belirli komutlar için yetki verilebilir.
Linux'ta Kullanıcı Grupları ve İzin Yönetimi
Linux sistemlerde izin modeli, dosya sahipliği ve izin bitleri üzerine kuruludur. Her dosya ve dizin için üç ana izin kategorisi mevcuttur:
Temel Unix İzinleri
- Okuma (r): Dosya içeriğini görüntüleme veya dizin listesini okuma
- Yazma (w): Dosya içeriğini değiştirme veya dizinde öğe oluşturma/silme
- Çalıştırma (x): Dosyayı program olarak çalıştırma veya dizine erişme
Özel İzin Bitleri
- SUID: Dosyayı çalıştıran kullanıcının değil, dosya sahibinin yetkileriyle çalışır
- SGID: Dizin içinde oluşturulan dosyalar, dizin grubunu miras alır
- Sticky Bit: Sadece dosya sahibi silme yetkisi kazanır (örneğin /tmp)
Modern Linux dağıtımlarında ACL'ler (Access Control Lists) ile daha granüler izinler tanımlanabilir. Örneğin, belirli bir kullanıcıya dosya sahibi veya grubun dışında özel izinler vermek mümkündür.
PAM (Pluggable Authentication Modules) Yapılandırması
PAM, Linux sistemlerde kimlik doğrulama mekanizmalarını soyutlayan bir çerçevedir. /etc/pam.d/ dizini altındaki yapılandırma dosyaları aracılığıyla farklı auth mekanizmaları entegre edilebilir.
yaygın PAM Modülleri
- pam_unix: Geleneksel /etc/passwd ve /etc/shadow tabanlı auth
- pam_ldaps: LDAP dizin servisi entegrasyonu
- pam_krb5: Kerberos tabanlı kimlik doğrulama
- pam_faillock: Başarısız giriş denemelerinde kilitleme
- pam_google_authenticator: İki faktörlü auth desteği
Özellikle çok faktörlü kimlik doğrulama (MFA) entegrasyonu için PAM yapılandırması kritik öneme sahiptir. IP beyaz liste stratejileri ile birlikte kullanıldığında, çok katmanlı bir güvenlik modeli oluşturulabilir.
Windows Server'da Yetkilendirme
Windows Server ortamlarında yetkilendirme, Active Directory (AD) altyapısı üzerine kuruludur. Grup İlkesi (Group Policy) ve AD yetkilendirme mekanizmaları, merkezi yönetim imkanı sunar.
Active Directory Yetkilendirme Yapısı
| AD Bileşeni | İşlev |
|---|---|
| Organizational Units (OU) | Hiyerarşik organizasyon yapısı |
| Security Groups | Kullanıcı ve bilgisayar grupları |
| Domain Controllers | Merkezi kimlik ve yetkilendirme servisi |
| Group Policy Objects (GPO) | Merkezi yapılandırma ve güvenlik politikaları |
Windows'ta NTFS izinleri ve Share izinleri birlikte çalışarak kapsamlı bir yetkilendirme modeli oluşturur. Etkili izin hesaplamasında, paylaşım izinleri ile NTFS izinlerinin kesişimi (daha kısıtlayıcı olan) geçerli olur.
En İyi Uygulamalar ve Güvenlik Önlemleri
Sunucu güvenliğinde yetkilendirme sistemlerinin etkinliği, sürekli denetim ve güncelleme gerektirir. Aşağıdaki en iyi uygulamalar, güvenlik açıklarını minimize eder:
Temel Güvenlik İlkeleri
- En Az Yetki Prensibi: Kullanıcılara yalnızca görevlerini yerine getirmek için gereken minimum izinleri verin
- Düzenli Denetim: Kullanıcı hesaplarını ve grup üyeliklerini aylık olarak gözden geçirin
- Ayrıcalıklı Hesap Yönetimi: root/Administrator gibi ayrıcalıklı hesapları MFA ile koruyun
- Şifre Politikaları: Güçlü şifre gereksinimleri ve süre sonu politikaları uygulayın
- Oturum Zaman Aşımları: Etkin olmayan oturumları otomatik olarak sonlandırın
İzleme ve Günlükleme
Yetkilendirme olaylarının kapsamlı kaydı, güvenlik ihlallerinin tespiti ve forensik analiz için kritiktir. Aşağıdaki log türlerini izleyin:
- Başarısız oturum açma denemeleri
- Yükseltilmiş yetki kazanma girişimleri (sudo, su)
- Dosya ve dizin izin değişiklikleri
- Grup üyelik değişiklikleri
- Servis hesabı etkinlikleri
Tehdit istihbaratı sistemleri ile entegre edildiğinde, şüpheli yetkilendirme kalıpları otomatik olarak tespit edilebilir.
Otomasyon ve İlke Olarak Kod (Policy as Code)
Büyük ölçekli altyapılarda manuel yetkilendirme yönetimi hata oranını artırır. Ansible gibi otomasyon araçları kullanılarak tutarlı yetkilendirme politikaları uygulanabilir.
Terraform ile Yetkilendirme Örneği
Infrastructure as Code (IaC) yaklaşımı, sunucu oluşturma aşamasında yetkilendirme kurallarını tanımlamayı sağlar:
resource "aws_iam_user" "deploy_user" {
name = "deploy-service-account"
}
resource "aws_iam_role_policy" "s3_read_only" {
name = "s3-read-only-policy"
role = aws_iam_role.deploy_role.id
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:ListBucket"]
Resource = "*"
}]
})
}
Sonuç ve Öneriler
Sunucu güvenliğinde gelişmiş yetkilendirme, tek seferlik bir yapılandırma değil, sürekli bakım gerektiren bir süreçtir. İşletmeler, aşağıdaki adımları izleyerek yetkilendirme olgunluk seviyelerini artırabilir:
- Mevcut kullanıcı hesaplarını ve grup yapılarını belgelendirin
- En az yetki prensibi doğrultusunda izinleri revize edin
- Merkezi kimlik yönetimi çözümlerine geçiş yapın (AD, LDAP)
- MFA ve SSO çözümlerini entegre edin
- Otomatik uyum denetimi ve izleme sistemleri kurun
Doğru uygulandığında, yetkilendirme sistemleri siber saldırılara karşı ilk savunma hattını oluşturur. Blog sayfamızda sunucu güvenliği konusunda daha fazla bilgi bulabilirsiniz.