Skip to content

v3.6.19

Choose a tag to compare

@syhgorath syhgorath released this 01 Nov 13:58
· 41 commits to main since this release
736a260

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-hardening 0.11.0): 127.0.0.1/8 ::1 her zaman muaf; hardening_fail2ban_ignoreip varsayılanı boş ve yazdığınız adresleri EKLER. Kontrol makinesinin ve hardening_ssh_allow_from'un adresi artık otomatik muaf EDİLMEZ: bağlı adres muaf değilse art arda hatalı denemede (5) bantime (varsayılan 10m, eskiden 1h) kadar banlanabilirsiniz; günlükte tek satır NOT (fail2ban) çıkar. Yükseltmede jail dosyası bir kez yeniden yazılır (ilk koşu changed + 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'ın changed=0 olması ve etkin ban davranışı sınanmadı.

Eklendi

  • 🧪 Kontrol (paket eylem menüsü): pakette preview ve audit ikisi de bu sunucunun platformunda varsa listede yeni satır; ikisini art arda çalıştırır (önce preview, başarısızsa audit ç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; audit kapıya/onaya takılırsa preview sonucu 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ü): apply gibi requires taşı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 .tsv dosya adı) bildiren paketin bulgular.tsv dosyası (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_PROGRESS satı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=0 ise ~ tahmini), bitmeyen alan ⏳, uyarı sayısı. Satır yoksa panel eskisi gibidir; SSHPOCKET_RESULT ayrıştırıcısıyla çakışmaz. Biçim docs/package-standard.md'de.

Düzeltildi

  • Python eklentili paketlerde ikinci koşu reddedilmesi: linux-hardening 0.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 ilk audit platform kapısında durduktan sonra ikinci deneme çalışmadı). Paket artık PYTHONDONTWRITEBYTECODE=1 ile çalışır. Etkilenmiş kurulumda __pycache__ klasörlerini silmek yeter.
  • Test: yürütme: TERM ve HUP testinin sahte ansible-playbook'u sinyalden sonra çıktı borularını bırakır; yetim işlem bats'ı asmaz ve tam koşuda dalgalanmaz.
  • Aynı anda iki paket kurulumu (örn. iki Terminal sekmesinde --components sync) artık mv yüzünden iç içe klasör (0.9.1/linux-hardening-0.9.1) üretmez: kurulum bölümü mkdir tabanlı 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 yeniden sync.

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_list artık yalnızca CIDR/paket geri çağrımlarını verir. Davranış değişmedi. UI_PICK_* ve UI_LIST_* bağlam değişkenleri docs/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-C bö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): bool ve enum iç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] ve list[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/string yanlış 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-O ile grup seçimi. fzf yoksa ya da UI=numbers|arrows ise bugünkü menüler aynen çalışır. Diğer ekranlar değişmedi.
  • components.lock: linux-hardening 0.10.0 → 0.11.0 (sha256 5ed26848…7f0e; 128 değişken, ekleme/silme yok). fail2ban ignoreip sadeleşti: 127.0.0.1/8 ::1 kodda her zaman muaf, hardening_fail2ban_ignoreip varsayılanı artık boş ve yazılan adresleri EKLER (ezmez); kontrol makinesinin ve hardening_ssh_allow_from'un adresi otomatik eklenmez, bağlı adres muaf değilse günlükte tek satır NOT (fail2ban) çıkar. hardening_fail2ban_bantime varsayılanı 1h → 10m. Yükseltmede önceden otomatik eklenen adres jail dosyasından düşer: ilk koşu changed ve 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'ın changed=0 olması ve etkin ban davranışı sınanmadı.
  • components.lock: linux-hardening 0.9.1 → 0.10.0 (sha256 6921e52c…0c8b). Paket artık SSHPOCKET_PROGRESS satırlarını (14 alan, AIDE'de bekle_tahmin=300) ve audit sonrası bulgular.tsv dosyası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-hardening 0.9.0 → 0.9.1 (128 değişken, 11 eylem; 0.9.0 gerçek VM turunun bulgularını düzeltir: kaldir sahiplik testi, modprobe uyarı metni, hardening_ssh_allow_from artık required değil). Gerçek VM doğrulaması sürüyor.
  • Sunucu adı onayı (type-server-name) yazım hatasında 3 deneme verir (her yanlışta 1/3, 2/3 bildirimi); ad yine birebir yazılmalı, girdi bitince (EOF) hemen vazgeçilir.
  • Ansible Incorrect sudo password / Missing sudo password ile düşerse sudo parolasının reddedildiğini ve komutun yeniden çalıştırılabileceğini söyleyen bir not gösterilir.