Ana içeriğe geç

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.

AlanNe gösterir
idsayısal kayıt kimliği; sıralama ve kayda başvurmak için kullanılır
event_uuidolay UUID'si
tsolay zamanı, saniye cinsinden Unix zaman damgası
event_typeolay türü kodu, örneğin auth.login.success
user_ideylemi gerçekleştiren kullanıcının kimliği
usernameeylemi gerçekleştiren kullanıcının adı
object_typeeylemin gerçekleştirildiği nesnenin türü
object_idnesne kimliği
object_namenesne adı
resultsonuç: success veya failure
detailsek bilgiler
remote_ipistemci adresi
request_idkaydı oluşturan küme isteğinin UUID'si
record_hashSHA-256 kayıt karması — zincirin bir halkası
acknowledgedgeç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_successbir düğümde başarılı SSH oturum açmaauthinfo
os.ssh_login_failurebir düğümde başarısız SSH oturum açmaauthwarning
os.user_local_createdbir düğümde yerel hesap oluşturmaauthnotice
os.user_local_deletedbir düğümde yerel hesap silmeauthnotice
os.sysctl_changedbir düğüm çekirdek parametresinin (sysctl) değiştirilmesiconfigwarning
os.bootdüğümün başlatılmasısystemnotice
os.shutdowndüğümün normal şekilde kapatılmasısystemnotice
os.shutdown_uncleandüğümün anormal şekilde kapanmasısystemerror
os.kernel_panicdüğüm çekirdek paniğisystemcritical
system.service_stopped_uncleansanallaştırma yazılımının anormal şekilde sonlanması: yönetim makinesinde işlemin sonlandırılması, çökme veya güç kesintisisystemerror
vm.console_connectedWSS üzerinden bir VM konsoluna bağlantıvminfo
vm.console_connect_failedbir VM konsoluna başarısız bağlantıvmwarning

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 kodFiltre panelindeki etiketAlan
authauthenticationkimlik doğrulama ve erişim yönetimi
vmvirtual machinessanal makineler
configconfigurationaltyapı yapılandırması
rolerolerol yönetimi
systemsystemsistem olayları
integrityintegritybü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.

DurumAnlamı
Never Startedkümede henüz hiç doğrulama başlatılmadı
Runningdoğrulama çalışıyor; rapor tamamlanma yüzdesini gösterir
Completeddoğrulama bitti; zincir sağlam
Faileddoğrulama tamamlanmadı
Chain Brokenzincir 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.

AyarNeyi denetlerSınırlar
security_log_archive_enabledotomatik arşivlemenin etkin olup olmadığı—
security_log_archive_target_sizebayt cinsinden günlük tablosu boyut eşiği10 MB ile 16 GB arası
security_log_archive_patharşiv depolama diziniad uzunluğu 1–256
security_log_disk_alert_thresholdbayt cinsinden, altına düşüldüğünde kümenin uyarı verdiği boş alan eşiğien 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.

idRol kartındaki adVerildiği rollerNeye izin verir
10000View Security LogCluster master, Security Adminolayları, tür kataloğunu, kritik olay sayısını ve doğrulama durumunu okuma
10001Export Security LogCluster master, Security Adminolayları CSV ve JSON olarak dışa aktarma
10002Verify Security LogCluster master, Security Adminkarma zinciri doğrulamasını başlatma
10003View Security ArchiveCluster master, Security Adminarşivleri listeleme
10004Export Security ArchiveCluster master, Security Adminbir arşivi indirme
10005View Security Archive SettingsCluster master, Security Adminarşiv ayarlarını okuma
10006Edit Security Archive Settingsyalnızca Cluster masterarşiv ayarlarını düzenleme
10007Acknowledge Security EventCluster master, Security Adminbir olayı okundu olarak işaretleme
10008View Security Notify SettingsCluster master, Security Admine-posta ayarlarını okuma
10009Edit Security Notify Settingsyalnızca Cluster mastere-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​