Güvenlik günlüğü
Sorun ve amaç
Güvenlik günlüğü; kümede kimin oturum açtığına, rolleri ve ayarları kimin değiştirdiğine ve sanal makinelere ne olduğuna ilişkin ayrı bir kayıt akışıdır. vStack Center veritabanında bileşen tanılama günlüklerinden ayrı olarak kendi tablosunda bulunur ve özel bir ekranda açılır — Security Event Log.
Gereksinimleri bir tanılama günlüğününkilerden farklıdır. Bir güvenlik günlüğü kaydı fark edilmeden değiştirilmemeli veya kaldırılmamalıdır: olay soruşturmaları ve mevzuat denetimleri bu kayıtlara dayanır. Bu nedenle her kayıt, onu diğerlerine bağlayan bir SHA-256 karma değeri taşır ve küme zincirin tamamını tarayıp nerede kırıldığını bildirebilir.
Bu durum, yöneticilerin yanıtlaması gereken sorular doğurur. Hangi olaylar eylem gerektirir, hangileri arka plan etkinliğidir? "Zincir kırık" durumu ne anlama gelir? Tablo büyüdüğünde günlük nereye gider ve arşiv dışa aktarımdan nasıl farklıdır?
Bu sayfa modeli açıklar. Olayları okumak ve filtrelemek için Günlüğü okuma ve olayları filtreleme; günlüğü dışa aktarmak, bir arşivi indirmek ve bütünlük denetimini başlatmak için Günlüğü dışa aktarma, arşiv indirme ve bütünlüğü doğrulama sayfasına bakın.
Model ve varlıklar
Olay kaydı
Kayıt düz bir alan kümesidir. Üç bölümden oluşur: ne zaman ne olduğu, eylemi kimin gerçekleştirdiği ve hangi nesnenin etkilendiği.
| Alan | Ne gösterir |
|---|---|
id | sayısal kayıt kimliği; sıralama ve kayda başvurmak için kullanılır |
event_uuid | olay UUID'si |
ts | olay zamanı, saniye cinsinden Unix zaman damgası |
event_type | olay türü kodu, örneğin auth.login.success |
user_id | eylemi gerçekleştiren kullanıcının kimliği |
username | eylemi gerçekleştiren kullanıcının adı |
object_type | eylemin gerçekleştirildiği nesnenin türü |
object_id | nesne kimliği |
object_name | nesne adı |
result | sonuç: success veya failure |
details | ek bilgiler |
remote_ip | istemci adresi |
request_id | kaydı oluşturan küme isteğinin UUID'si |
record_hash | SHA-256 kayıt karması — zincirin bir halkası |
acknowledged | geçerli kullanıcının olayın okunduğunu belirten işareti |
Olayda eylemi gerçekleştiren veya nesne yoksa, ilgili alanlar boştur: kümede oturum açmanın
nesnesi yoktur, sistem olayının da kullanıcısı yoktur. request_id alanı olayı, onu
oluşturan küme isteğine bağlar — bir eylem birden fazla kayıt ürettiğinde soruşturma için
yararlı bir başlangıç noktasıdır.
Günlük CSV veya JSON olarak dışa aktarıldığında bu alanlar dosya sütunlarına dönüşür. Ekrandaki tablo yalnızca bazılarını gösterir; geri kalanlar tek tek kaydın kartında görünür.
Tür kataloğu
Olay türü, noktalı bir dize kodudur: auth.login.success, auth.login.failure. Tür
listesini küme yönetir: her kodun bir kategorisi, bir önem düzeyi ve okunabilir bir adı
vardır. Bu katalog olay türü filtresini ve tablo etiketlerini sağlar; bu nedenle tür
kümesini istemci değil, küme sürümü belirler.
Düğümlerin kendisinden gelen olaylar
3.0.5'ten önce günlük yalnızca yönetim düzlemindeki olayları kaydediyordu. 3.0.5'te düğüm işletim sistemi olayları ve sanallaştırma yazılımı olayları eklendi — bunlar düğüm aracılarından gelir ve aynı karma zincirine girer.
| Olay türü | Kaydın açıkladığı | Kategori | Önem düzeyi |
|---|---|---|---|
os.ssh_login_success | bir düğümde başarılı SSH oturum açma | auth | info |
os.ssh_login_failure | bir düğümde başarısız SSH oturum açma | auth | warning |
os.user_local_created | bir düğümde yerel hesap oluşturma | auth | notice |
os.user_local_deleted | bir düğümde yerel hesap silme | auth | notice |
os.sysctl_changed | bir düğüm çekirdek parametresinin (sysctl) değiştirilmesi | config | warning |
os.boot | düğümün başlatılması | system | notice |
os.shutdown | düğümün normal şekilde kapatılması | system | notice |
os.shutdown_unclean | düğümün anormal şekilde kapanması | system | error |
os.kernel_panic | düğüm çekirdek paniği | system | critical |
system.service_stopped_unclean | sanallaştırma yazılımının anormal şekilde sonlanması: yönetim makinesinde işlemin sonlandırılması, çökme veya güç kesintisi | system | error |
vm.console_connected | WSS üzerinden bir VM konsoluna bağlantı | vm | info |
vm.console_connect_failed | bir VM konsoluna başarısız bağlantı | vm | warning |
Bu olaylardan yalnızca os.kernel_panic kritik olay sayısına katkıda bulunur: önem düzeyi
critical olup sayaç en üst üç düzeyi sayar. Hem düğümün hem de sanallaştırma yazılımının
anormal kapanmaları error önem düzeyine sahiptir: sayaca katkıda bulunmazlar, ancak eşik
error veya daha düşük olduğunda e-posta bildirimlerini tetiklerler.
os.shutdown_unclean ve system.service_stopped_unclean kayıtları arıza anında değil,
bir sonraki başlatmada görünür: o zamana kadar arızayı bildirebilecek hiçbir şey yoktur.
Temiz bir kurulumda ilk başlatma yanlış bir kayıt oluşturmaz.
Kategoriler ve önem düzeyi
Kategori, türleri alana göre gruplar. Kayıtlar ve dışa aktarımlar kısa bir kod kullanır, filtre paneli ise arayüz etiketini gösterir — altısından üçü farklıdır:
| Kayıttaki kod | Filtre panelindeki etiket | Alan |
|---|---|---|
auth | authentication | kimlik doğrulama ve erişim yönetimi |
vm | virtual machines | sanal makineler |
config | configuration | altyapı yapılandırması |
role | role | rol yönetimi |
system | system | sistem olayları |
integrity | integrity | bütünlük izleme |
Önem düzeyinin en yüksekten en düşüğe yedi düzeyi vardır: emergency, alert,
critical, error, warning, notice, info. Küme en üst üç düzeyi — emergency,
alert, critical — kritik kabul eder. Okunmamış sayacı ve e-posta bildirimi ayarları
için kullanılan düzeyler bunlardır.
Nasıl çalışır
Karma zinciri
Her kayıt kendi SHA-256 karmasını record_hash alanında saklar ve bu karma onu komşu
günlük kayıtlarına bağlar. Ortadaki bir kaydın kaldırılması veya değiştirilmesi bağlantıyı
koparır: sonraki kayıtların karmaları artık eşleşmez ve doğrulama, zincirin kırıldığı
kaydın kimliğini bildirir.
Bu tasarım günlüğe ana özelliğini kazandırır: yalnızca ekleme yapılabilir. Günlük okunabilir, okundu olarak işaretlenebilir, dışa aktarılabilir ve arşivlenebilir — tek tek kayıtlar düzenlenemez veya silinemez. Tablonun boyutunu küçültmenin tek yolu arşivlemedir.
Bütünlük doğrulaması
Zincir doğrulaması arka planda çalışır. Başlatıldığında küme işi hemen dağıtır: günlüğü eşit parçalara böler ve bunları kendi parçalarını eşzamanlı olarak işleyen çalışanlara atar. Doğrulama çalışırken başlatma düğmesi tamamlanma yüzdesini gösterir; bittiğinde düğmenin yanında zaman, sonuç ve denetlenen kayıt sayısını içeren bir rapor görünür.
Sonuç beş durumdan biridir. Durum kümesini ve etiketlerini küme yönetir.
| Durum | Anlamı |
|---|---|
| Never Started | kümede henüz hiç doğrulama başlatılmadı |
| Running | doğrulama çalışıyor; rapor tamamlanma yüzdesini gösterir |
| Completed | doğrulama bitti; zincir sağlam |
| Failed | doğrulama tamamlanmadı |
| Chain Broken | zincir kırık; rapor zincirin kırıldığı kaydın kimliğini gösterir |
Tek tek çalışanların kendi durumları vardır: Running, Completed, Failed, Chain Broken, Stopped, Pending. Bunlar takılıp kalmış bir doğrulamayı incelemeye yardımcı olur: bir çalışanın mı yoksa tüm çalışanların mı başarısız olduğunu gösterir.
Kümede aynı anda yalnızca bir doğrulama çalışır. Bitene kadar başka bir başlatma isteği reddedilir.
Kritik olaylar ve tepkiler
Okundu işareti kişiseldir. "Ekip bunu inceledi mi?" sorusunu değil, "geçerli kullanıcı bu olayı gözden geçirdi mi?" sorusunu yanıtlar: iki yönetici aynı olay için farklı değerler görür.
İki mekanizma bu işarete dayanır. Başlıktaki gösterge geçerli kullanıcının okunmamış kritik olay sayısını gösterir ve günlük tablosunda bu olayların satırları vurgulanır. Olayları okundu olarak işaretlemek ikisini de temizler — seçili olaylar için veya tüm okunmamış kritik olaylar için tek seferde. Aynı olayı yeniden işaretlemek hataya neden olmaz.
Üçüncü mekanizma e-postadır. Küme, bir önem düzeyi eşiğiyle birlikte bir adres listesine
bildirim gönderir: eşiğin altındaki olaylar e-posta oluşturmaz. Varsayılan eşik alert
düzeyidir ve yalnızca bütünlük ihlallerini kapsar. E-postalar, vStack Center dağıtıcısı
tarafından yönetim VM'sinde ayarlanan bir SMTP sunucusu üzerinden gönderilir. Bu sunucu
olmadan bildirimler, arayüzde etkinleştirilmiş olsalar bile çalışmaz. Kurulum
Güvenlik günlüğü e-posta bildirimleri nasıl ayarlanır
sayfasında açıklanmıştır.
Tablo büyümesi ve arşivleme
Günlüğe yalnızca ekleme yapılabildiği için tablosu büyür ve bu büyümenin sınırlanması gerekir. Otomatik arşivleme, tablo boyut eşiğini aştığında eski kayıtları sıkıştırılmış bir CSV dosyasına taşır.
| Ayar | Neyi denetler | Sınırlar |
|---|---|---|
security_log_archive_enabled | otomatik arşivlemenin etkin olup olmadığı | — |
security_log_archive_target_size | bayt cinsinden günlük tablosu boyut eşiği | 10 MB ile 16 GB arası |
security_log_archive_path | arşiv depolama dizini | ad uzunluğu 1–256 |
security_log_disk_alert_threshold | bayt cinsinden, altına düşüldüğünde kümenin uyarı verdiği boş alan eşiği | en az 100 MB |
Günlük tablosunun üzerindeki bir anahtar otomatik arşivlemeyi etkinleştirir ve devre dışı bırakır. Diğer üç ayar arşiv ayarları formundadır; bu formdaki her iki boyut da megabayt cinsinden belirtilir.
Arşiv, security_log_a3f1b2c4_03_01_2025.csv.gz gibi bir ada sahip bir .csv.gz
dosyasıdır. Tamamlanmış bir arşiv için liste; dönemi, boyutu, kayıt sayısını, arşivleme
zamanını ve SHA-256 sağlama toplamını gösterir. Hâlâ oluşturulmakta olan bir arşiv de
listede görünür, ancak bu alanlar olmadan — indirmek için henüz erkendir.
Arşiv ve dışa aktarım farklı amaçlara hizmet eder. Dışa aktarım, filtrelere dayalı tek seferlik bir seçimdir: dosya yönetim düğümündeki geçici bir dizinde oluşturulur, tarayıcıya gönderilir ve silinir. Arşiv ise tablodan kaldırılan kayıtları kalıcı olarak saklar: dosya arşiv dizininde bulunur ve indirildikten sonra da orada kalır.
Kim neyi görebilir
Güvenlik günlüğü küme düzeyinde bir nesnedir. İki genel rol tarafından kullanılabilir:
Cluster master (rol 1) ve Security Admin (rol 6). VDC rolleri günlüğü göremez:
olayları kümenin tamamını kapsar.
Erişim rol numarasıyla değil yetkilerle verilir, bu nedenle yetkiyi kontrol edin.
| id | Rol kartındaki ad | Verildiği roller | Neye izin verir |
|---|---|---|---|
| 10000 | View Security Log | Cluster master, Security Admin | olayları, tür kataloğunu, kritik olay sayısını ve doğrulama durumunu okuma |
| 10001 | Export Security Log | Cluster master, Security Admin | olayları CSV ve JSON olarak dışa aktarma |
| 10002 | Verify Security Log | Cluster master, Security Admin | karma zinciri doğrulamasını başlatma |
| 10003 | View Security Archive | Cluster master, Security Admin | arşivleri listeleme |
| 10004 | Export Security Archive | Cluster master, Security Admin | bir arşivi indirme |
| 10005 | View Security Archive Settings | Cluster master, Security Admin | arşiv ayarlarını okuma |
| 10006 | Edit Security Archive Settings | yalnızca Cluster master | arşiv ayarlarını düzenleme |
| 10007 | Acknowledge Security Event | Cluster master, Security Admin | bir olayı okundu olarak işaretleme |
| 10008 | View Security Notify Settings | Cluster master, Security Admin | e-posta ayarlarını okuma |
| 10009 | Edit Security Notify Settings | yalnızca Cluster master | e-posta ayarlarını düzenleme |
Ayrıca iki güvenlik ayarları yetkisi vardır: View Security Settings (9000) ve
Edit Security Settings (9001). İkincisi, düzenlemenin yanı sıra kilitleme ayarlarını
okumaya da izin verir — bkz.
Oturumlar ve oturum açma ayarları.
Okuma ile düzenleme arasındaki ayrımın pratik sonuçları vardır. Security Admin günlüğü, arşivleri ve her iki ayar grubunu görebilir, ancak arşiv eşiklerini ve e-posta alıcı listesini yalnızca Cluster master değiştirebilir. Yetki ve kapsam modeli roller ve yetkiler başvurusunda açıklanmıştır.
Sınırlamalar
Bir dışa aktarım 100 000 kayıtla sınırlıdır. Tek bir dışa aktarım daha fazlasını döndüremez: dosya yönetim düğümünün diskinde oluşturulur ve sınır bu işlemin boyutuna uygulanır. Geçici çözüm — seçimi filtreler ve bir zaman aralığıyla daraltın veya günlüğü parçalar hâlinde alın; geçmiş kayıtlar arşivlerde saklanır.
Dışa aktarımlar kümede saklanmaz. Dosya geçici bir dizinde oluşturulur, tarayıcıya gönderilir ve silinir. Geçici çözüm — uzun süreli saklama için dışa aktarım yerine arşiv kullanın; aynı seçimi yeniden elde etmek için dışa aktarımı tekrarlayın.
Aynı anda yalnızca bir zincir doğrulaması çalışır. İlk doğrulama bitene kadar ikinci bir başlatma isteği reddedilir. Geçici çözüm — geçerli doğrulamanın bitmesini bekleyin: ilerlemesi düğmede yüzde olarak görünür, zincirin kırıldığı kaydın kimliği ise son doğrulama raporunda görünür.
Tamamlanmamış bir arşiv indirilemez. Hâlâ oluşturulmakta olan bir dosya listede görünür, ancak onu indirme istekleri reddedilir. Geçici çözüm — girdide bir sağlama toplamı, bir kayıt sayısı ve bir arşivleme zamanı görünene kadar bekleyin.
Okundu işareti kişiseldir. Bir vardiyanın çalışmasını değerlendirmek için kullanılamaz: yalnızca geçerli kullanıcıyı yansıtır. Geçici çözüm teknik bir çözüm değil, üzerinde anlaşılmış bir süreçtir: bir olayın incelenip incelenmediğini harici bir süreçle takip edin ve işareti kişisel bir filtre olarak kullanın.
API yöntemleri
Bu sayfada ele alınan API işlemleri: security-event-list, security-event-get,
security-event-types, security-event-critical-count,
security-event-acknowledge, security-event-notify-settings-get,
security-event-notify-settings-set, security-event-export,
security-event-archive-list, security-event-archive-export,
security-event-archive-settings-get, security-event-archive-settings-set,
security-event-log-verify, security-event-log-status,
security-verification-statuses — bkz.
API başvurusu.
Daha fazla bilgi
- Günlüğü okuma ve olayları filtreleme — günlük ekranı, liste filtreleri, tek bir kayıt ve okundu işareti.
- Günlüğü dışa aktarma, arşiv indirme ve bütünlüğü doğrulama — CSV ve JSON olarak dışa aktarma, arşivler, arşiv ayarları ve zincir doğrulamasını başlatma.
- Güvenlik günlüğü e-posta bildirimleri nasıl ayarlanır — SMTP sunucusu, alıcılar, önem düzeyi eşiği ve e-posta içeriği.
- Roller ve yetkiler — erişimin yetki ve kapsama göre nasıl belirlendiği.
- İndirilen güvenlik günlüğü arşivi açılamıyor —
bozuk bir
.csv.gzdosyasının sorununu giderme.