Repository navigation
v3.6.19
Bu yama sürümü kullanıcıya görünür özellikler de taşır: paket menüsünde 🧪 Kontrol ve ön koşul önerisi, bulgular ekranı, canlı ilerleme, ortak arayüz parçaları ve linux-hardening 0.11.0.
Dikkat
- fail2ban davranışı değişti (
linux-hardening0.11.0):127.0.0.1/8 ::1her zaman muaf;hardening_fail2ban_ignoreipvarsayılanı boş ve yazdığınız adresleri EKLER. Kontrol makinesinin vehardening_ssh_allow_from'un adresi artık otomatik muaf EDİLMEZ: bağlı adres muaf değilse art arda hatalı denemede (5)bantime(varsayılan10m, eskiden1h) kadar banlanabilirsiniz; günlükte tek satırNOT (fail2ban)çıkar. Yükseltmede jail dosyası bir kez yeniden yazılır (ilk koşuchanged+ fail2ban yeniden başlatması). Gerçek VM doğrulaması (Ubuntu + Proxmox) henüz yapılmadı (yalnızca birim/Ansible testleri ve Docker LAB e2e yeşil); ikinci apply'ınchanged=0olması ve etkin ban davranışı sınanmadı.
Eklendi
- 🧪 Kontrol (paket eylem menüsü): pakette
previewveauditikisi de bu sunucunun platformunda varsa listede yeni satır; ikisini art arda çalıştırır (öncepreview, başarısızsaauditçalışmaz) ve sonunda tek özet yazar: apply'da değişecek sayısı, Lynis puanı, bulgular. Zorunlu değişken eksikse ⛔ ve hiçbir şey çalışmaz;auditkapıya/onaya takılırsapreviewsonucu korunur ve özet nedenini söyler. Paket kodu değişmez, eylemlerin kendi kapıları ve onayları aynen geçerlidir. Menü satırları kayar: Geçmiş artık Kontrol'den sonra gelir. - Ön koşul eylemini önermek (etkileşimli menü):
applygibirequirestaşıyan bir eylem seçilince ön koşul (örn.preview) yok ya da süresi dolmuşsa menü "önce çalıştırılsın mı? [e/H]" diye sorar, çalıştırır, sonucu gösterir ve "devam edilsin mi?" diye ikinci kez sorar; eylemin kendi onayı (sunucu adını yazma) ayrıca aynen sorulur. Ön koşul başarısız olursa ya da "H" denirse eylem çalışmaz; girdi biterse (EOF) "hayır" sayılır. Komut satırı (--components run) ve kapı (comp_gate_requires) değişmedi: atlama değil, çalıştırma kolaylığı. - Denetim bulguları: manifestte
outputs.findings(düz.tsvdosya adı) bildiren paketinbulgular.tsvdosyası (10 sütun: kimlik, risk, tur, aciklama, ayrinti, oneri, alan, deger, kapanir_varsayilan, platform) ayrıştırılır (component_findings.py; geçersiz satır atlanır, en çok 2000 satır, başlık bozuksa gösterilmez). Paket menüsünde hazırlık özetinde sayı ve eşleşen bulgular, "🔎 Bulgular" ekranında önem sırasıyla liste ve kartlar (ayrıntı, öneri, paket karşılığı, "elle ayarlayın / apply yeterli"), "yalnız eşlemeli" süzgeci. Biçim:docs/package-standard.md"Bulgular". - Canlı ilerleme (fzf çalışma paneli): paket
SSHPOCKET_PROGRESSsatırları yazıyorsa çıktı çerçevesinin başlığı çalışırken güncellenir ("Çıktı: apply — srv (çalışıyor) · aide 9/14 · bekleniyor ~300 sn"). Günlüğe saniyede bir bakan ayrı bir arka plan izleyici yapar; ana çıktı akışına dokunmaz (parola istemleri gecikmez), önceki koşunun günlüğünü yok sayar, panel bitince durur. - İlerleme satırı ayrıştırıcısı: paketin
SSHPOCKET_PROGRESS alan=… sira=n/toplam durum=basladi|bitti [degisen atlanan kesin uyari bekle_tahmin]satırları (comp_progress_parse) sonuç panelinde alan tablosu olur: uygulamada "değişen", önizlemede "değişecek" (+ toplam;kesin=0ise~tahmini), bitmeyen alan ⏳, uyarı sayısı. Satır yoksa panel eskisi gibidir;SSHPOCKET_RESULTayrıştırıcısıyla çakışmaz. Biçimdocs/package-standard.md'de.
Düzeltildi
- Python eklentili paketlerde ikinci koşu reddedilmesi:
linux-hardening0.10.0'ın callback/filter eklentileri ilk koşuda kurulu paket klasörüne__pycache__yazıyor, bir sonraki eylem "kurulu paketin dosyaları değişmiş" bütünlük denetimine takılıyordu (gerçek Proxmox'ta ilkauditplatform kapısında durduktan sonra ikinci deneme çalışmadı). Paket artıkPYTHONDONTWRITEBYTECODE=1ile çalışır. Etkilenmiş kurulumda__pycache__klasörlerini silmek yeter. - Test:
yürütme: TERM ve HUPtestinin sahteansible-playbook'u sinyalden sonra çıktı borularını bırakır; yetim işlembats'ı asmaz ve tam koşuda dalgalanmaz. - Aynı anda iki paket kurulumu (örn. iki Terminal sekmesinde
--components sync) artıkmvyüzünden iç içe klasör (0.9.1/linux-hardening-0.9.1) üretmez: kurulum bölümümkdirtabanlı kilitle (<paket>/.install.lock, sahibi ölmüşse temizlenir, doluysa ~10 sn bekler) korunur ve kilit altında "zaten kurulu mu" yeniden bakılır. Bozuk iç içe kurulumda eski davranış korunur: "kurulu paketin dosyaları değişmiş", elle silip yenidensync.
Değişti
- Paket eylem paneli kozmetiği: rozetler düz sembol (✎ / ☠; emoji genişliği sarmayı bozuyordu), kart uyarıları ve başlık özeti terminal genişliğine göre sözcük sınırından bölünür; "Geçmiş ve son sonuçlar" satırı son 5 çalıştırmayı ve son günlüğün sonunu sağ bölmede gösterir.
- Ortak arayüz parçaları (
UI.sh): menülerdeki seçici (ui_pick), kaydırma bölgeli ekran (ui_region_begin/end/reset,ui_rule_label) ve genel liste editörü (ui_edit_list) paket menüsünden çıkarıldı;comp_menu_edit_listartık yalnızca CIDR/paket geri çağrımlarını verir. Davranış değişmedi.UI_PICK_*veUI_LIST_*bağlam değişkenleridocs/ui-design.md§5b'de belgelendi (yeni paketler, örn.utility, aynı altyapıyı kullanır). Paketten bağımsız yeni testler. - Eylem paneli (fzf): eylem listesinde hazırlık özeti başlıkta, seçili eylemin kartı (etkiler, onay, ön koşul, kapı durumu, son sonuç, uyarılar) sağ bölmede; eylem bitince sonuç paneli (durum, süre,
ok/changed/failedözeti, sonuç anahtarları, günlük yolu, sıradaki adım). Terminal ≥ 24 satır ve 60 sütunsa çalışma sırasında üst bölüm sabit kalır, alt bölüm kaydırma bölgesi olur: onay soruları,BECOME password:istemi ve çıktı aynı ekranda akar,Ctrl-Cbölgeyi sıfırlar. Küçük terminalde ve numaralı modda eski akış. Çok satırlı açıklama desteği eklendi. - Değişken düzenleme (etkileşimli modda, ok tuşlu/fzf):
boolveenumiçin seçici liste (izinli değerler, imleç şimdikinin tersinde, sağda açıklama, riskli değer işaretli, "Varsayılana dön");list[string],list[int]velist[cidr]için liste editörü (öğeler liste, Enter ile sil/değiştir, ➕ Ekle, CIDR için öneri ve sunucunun gördüğü adres, 🧹 Temizle, 💾 Kaydet; Vazgeç dosyayı değiştirmez);int/stringyanlış değerde ekran kapanmadan 3 deneme. Kayıt sonrası "Devam için Enter" duraksaması yok, ileti değişken listesinde görünür.describeçıktısına 10. alan (enum değerleri) eklendi. Numaralı modun akışı değişmedi. - fzf geniş düzen (Değişkenler ekranı): yol çubuğu kenarlık etiketi (
Sunucu › … › Değişkenler), üstte grup ve sayı özeti, sağda açıklama bölmesi (fzf ≥ 0.35 etiketli kenarlık, ≥ 0.58 etiketli liste/giriş çerçeveleri; eski fzf'te yalnız sağ önizleme),Ctrl-Oile grup seçimi. fzf yoksa ya daUI=numbers|arrowsise bugünkü menüler aynen çalışır. Diğer ekranlar değişmedi. components.lock:linux-hardening0.10.0 → 0.11.0 (sha2565ed26848…7f0e; 128 değişken, ekleme/silme yok). fail2banignoreipsadeleşti:127.0.0.1/8 ::1kodda her zaman muaf,hardening_fail2ban_ignoreipvarsayılanı artık boş ve yazılan adresleri EKLER (ezmez); kontrol makinesinin vehardening_ssh_allow_from'un adresi otomatik eklenmez, bağlı adres muaf değilse günlükte tek satırNOT (fail2ban)çıkar.hardening_fail2ban_bantimevarsayılanı1h→10m. Yükseltmede önceden otomatik eklenen adres jail dosyasından düşer: ilk koşuchangedve bir fail2ban yeniden başlatması gösterir. Doğrulama: kilit kuru koşusu (sha256 + imza ad alanı) ve 128 değişken denetimi geçti; fail2ban değişikliği gerçek VM'de (Ubuntu + Proxmox) henüz doğrulanmadı: ikinci apply'ınchanged=0olması ve etkin ban davranışı sınanmadı.components.lock:linux-hardening0.9.1 → 0.10.0 (sha2566921e52c…0c8b). Paket artıkSSHPOCKET_PROGRESSsatırlarını (14 alan, AIDE'debekle_tahmin=300) veauditsonrasıbulgular.tsvdosyasını (0600,summary.json'ın yanında) üretir; ikisi de Docker LAB'da gerçek koşuyla doğrulandı (preview, apply, audit: 22 bulgu = 20 öneri + 2 uyarı). Gerçek VM doğrulaması sürüyor.components.lock:linux-hardening0.9.0 → 0.9.1 (128 değişken, 11 eylem; 0.9.0 gerçek VM turunun bulgularını düzeltir:kaldirsahiplik testi, modprobe uyarı metni,hardening_ssh_allow_fromartıkrequireddeğil). Gerçek VM doğrulaması sürüyor.- Sunucu adı onayı (
type-server-name) yazım hatasında 3 deneme verir (her yanlışta1/3,2/3bildirimi); ad yine birebir yazılmalı, girdi bitince (EOF) hemen vazgeçilir. - Ansible
Incorrect sudo password/Missing sudo passwordile düşerse sudo parolasının reddedildiğini ve komutun yeniden çalıştırılabileceğini söyleyen bir not gösterilir.