İndirilen güvenlik günlüğü arşivi açılamıyor
Belirti
Archived events sekmesinden (olay arşivleri) bir güvenlik günlüğü arşiv dosyası
indirdiniz. Dosyanın uzantısı .csv.gz, ancak açılamıyor:
- Arşivleyici "not in gzip format" veya "invalid format" hatası bildiriyor.
- İndirilen dosya, bu arşiv satırının Size sütunundaki değerden belirgin şekilde daha büyük.
- İndirilen dosyanın sağlama toplamı, tabloda gösterilen sha256 ile eşleşmiyor.
Aynı günlüğün normal CSV ve JSON dışa aktarımları sorunsuz açılır; yalnızca sıkıştırılmış arşiv dosyaları etkilenir.
Nasıl kontrol edilir
Karşılaştığınız sorunun bu olduğunu doğrulayın. Dosya türünü ve sağlama toplamını kontrol edin, ardından arşiv tablosundaki referans değerle karşılaştırın.
# 1. File type: an intact archive must start with the gzip signature 1f 8b
file security_log_*.csv.gz
# 2. First bytes: an intact gzip starts with "1f 8b 08 08 ..."
xxd security_log_*.csv.gz | head -1
# 3. Checksum of the downloaded file
shasum -a 256 security_log_*.csv.gz
Bozuk dosyanın belirtileri:
filekomutugzip compressed datayerinedatagösteriyor.- İmzanın ikinci baytı
8bdeğerinden farklı (örneğin üç bayt olanef bf bdile değiştirilmiş). -
- adımdaki sağlama toplamı, arşiv satırındaki sha256 değeriyle eşleşmiyor.
security-event-archive-list API yöntemi de her arşiv için referans sağlama toplamını
(sha256 alanı) döndürür. Bu, arayüzde gösterilen referans değerin aynısıdır.
Neden
En olası neden (3.0.3 dalındaki sürümler): web arayüzü arşivi, yanıt gövdesini metin olarak işleyen bir yol üzerinden iletir. Arşiv ikili (binary) bir dosyadır ve metin kod çözme işlemi ASCII olmayan tüm baytları bir yer değiştirme karakteriyle değiştirir. Bu, gzip imzasını bozar, dosyanın açılmasını engeller ve boyutunu şişirir (bozulan her bayt üç bayt yer kaplar). İndirilen dosyanın tabloda gösterilenden daha büyük olmasının ve sağlama toplamının eşleşmemesinin nedeni budur. Sorun yalnızca ikili arşiv indirmelerini etkiler; metin dışa aktarımları (CSV/JSON) sağlam kalır.
Diğer nedenler daha seyrektir:
- Arşiv hâlâ oluşturuluyor. Böyle bir dosyanın listede boyutu veya sağlama toplamı yoktur (tamamlanmamış olarak işaretlenmiştir); indirmek için henüz erkendir.
- Dosya yerel olarak bozuldu: kesintiye uğrayan bir aktarım veya yanlış araçla açma. 3. adımdaki sağlama toplamı karşılaştırması bu olasılığı dışlar.
Çözüm
-
İndirilen dosyanın sağlama toplamını tablodaki referans değerle karşılaştırın. Eşleşiyorsa dosya sağlamdır ve sorun açma yöntemindedir; dosyayı gzip uyumlu bir arşivleyiciyle açın.
-
Sağlama toplamları farklıysa ve dosya şişmişse, dosyada yukarıda açıklanan indirme bozulması vardır. Dosyayı "onarmaya" çalışmayın; içeriği geri döndürülemez şekilde değişmiştir.
-
Web üzerinden indirmeyi atlayarak sağlam bir arşiv edinin. Hedef dosya, yönetim düğümünde arşiv depolama dizininde bulunur (varsayılan olarak
/var/db/vstack/security-archive);security-event-archive-exportyöntemi dosyanın yolunufile_pathalanında döndürür. Dosyayı doğrudan yönetim düğümünden alın (örneğin SCP kullanarak) ve sağlama toplamını yeniden karşılaştırın. -
Elde edilen dosyanın açılabildiğini ve doğrulamadan geçtiğini kontrol edin:
gunzip -t security_log_*.csv.gz && echo "archive OK"
Önleme
- Her indirmeden sonra dosyanın sha256 değerini arşiv listesindeki referans değerle karşılaştırın; bu, indirme bozulmasını hemen tespit eder.
- Etkilenen sürümlerde güvenlik günlüğü arşivlerini arayüzdeki indirme düğmesi yerine doğrudan yönetim düğümünden alın.
- Referans sağlama toplamlarını arşivlerle birlikte saklayın: bunlar bütünlük denetimleri için gereklidir ve indirilen dosyanın değiştirilmediğini doğrular.