Pobieranie

Pobierz podpisane wydanie DH20.29

DH20.29 odpowiada technicznemu pakietowi DCSF 15.10.32. Publiczny bootstrap przyjmuje wyłącznie to dokładne podpisane wydanie i jego zamknięty wykaz artefaktów.

DCSF

DH20.29: co nowego

Wydanie łączy poprawki kontekstu WHM, stanu LFD i instalatora z naprawą regresji znalezionej na canary. Zastępuje DH20.28; 51 pozycji rejestru bezpieczeństwa pozostaje oddzielną liczbą, bez doliczania testów jako podatności.

01

Zwalidowany kontekst sesji WHM

CGI WHM zachowuje zwalidowany cp_security_token wymagany przez natywną sesję cPanel. Pozostają dotychczasowe kontrole żądań, taint mode i granice odpowiedzi same-origin.

02

Ograniczone kompaktowanie stanu LFD

LFD kompaktuje csf.temppids w ramach istniejących limitów rozmiaru i liczby rekordów, używając LF_FLUSH do usuwania przeterminowanego stanu procesów. Nagromadzony stan tymczasowy nie blokuje zapisu nowych tożsamości procesów.

03

Uprawnienia tylko publicznych modułów META cPanel

Poprawka zgodności ustawia właściwe prawa wyłącznie publicznych modułów META cPanel. Nie rozszerza dostępu do prywatnej konfiguracji ani całego drzewa cPanel.

04

Poprawiona naprawa pliku resellerów

DH20.29 bezpiecznie uzupełnia brakujący końcowy LF w csf.resellers i poprawia błąd powłoki wykryty na canary. DH20.28 / 15.10.31 zostało zastąpione z powodu błędu tej ścieżki naprawy.

05

Porównanie równoważnych polityk nftables

Porównanie uwzględnia inną kolejność prezentacji niezależnych łańcuchów, zachowując kolejność reguł w każdym łańcuchu i pozostałe kontrole polityki. Samo przestawienie niezależnych łańcuchów nie powoduje już fałszywej rozbieżności.

06

77/77 testów Linux i zakończony canary

Kwalifikacja projektu zaliczyła wszystkie 77 plików testowych Linux. Aktualizacja canary autossltest2 zakończyła się z aktywnymi CSF/LFD i zachowaną konfiguracją. Oddzielnie sprawdzony host produkcyjny przeszedł tylko dry-run; nie oznacza to wykonanej aktualizacji produkcji.

Modele, dane i koszty API

Modele dostępne do wyboru w tym wydaniu: gpt-5-mini, gpt-5.4-mini, gpt-5.6-terra. Dostępność zależy od konta OpenAI API administratora.

Po włączeniu wybrane lokalne dane diagnostyczne bezpieczeństwa są wysyłane do OpenAI. Rozpoznane sekrety są maskowane, ale nie jest to gwarancja anonimowości. store=false nie gwarantuje Zero Data Retention; nadal obowiązują ustawienia konta API i zasady dostawcy. Opcjonalne użycie API jest rozliczane osobno od bezpłatnego DCSF. Wnioski wymagają oceny administratora i nie gwarantują wykrycia wszystkich problemów bezpieczeństwa.

Zasady przechowywania danych OpenAI API

Zachowane wcześniejsze poprawki instalacji i zgodności
  • Przywrócone natywne osadzenie w WHM Jupiter. DH20.27 naprawiło regresję cPanel, w której samodzielny dokument HTML DCSF zastępował stronę WHM. Interfejs jest renderowany przez csf.tmpl i natywny master_templates/master.tmpl, z zachowaniem nawigacji panelu i responsywnego układu.
  • CGI w taint mode i ograniczony helper szablonu. Główny CGI zachowuje perl -T, walidację żądań i odpowiedzi same-origin. Stały helper root:root 0700 używa prywatnego Perla cPanel i Cpanel::Template::process_template przez listową postać IPC::Open2. Czyści zmienne sterujące interpreterem, ustala PATH, nie przyjmuje argumentów ścieżki ani szablonu i ogranicza stdin do 32 MiB.
  • nginx rozstrzyga o adresie klienta. W zweryfikowanej topologii cPanel EA-Nginx ustawienie SERVER="auto" wybiera nginx na publicznych portach 80/443. Jego ustrukturyzowany log wejściowy dostarcza rzeczywistego IP klienta. WebGuard nie ufa dowolnym wartościom X-Forwarded-For ani nie wyznacza klientów ze zwykłego logu backendu Apache.
  • Apache wskazuje obciążenie, nie klienta do blokady. Apache nasłuchuje na prywatnych portach 81/444. Jego server-status i opcjonalny log o roli backend dostarczają tylko sygnału przeciążenia. Lokalny adres nginx 127.0.0.1 nie staje się kandydatem do blokady. Nie zakładamy takiej samej granicy zaufania dla nieobsługiwanych lub niezweryfikowanych układów proxy.
  • Jedno zaufane drzewo bibliotek podczas diagnostyki. Diagnostyczne uruchomienie rozpakowanego, podpisanego pakietu obok starszego cPanel CSF zachowuje pierwszeństwo jego własnych bibliotek. Próba dodania /usr/local/csf/lib przez stary moduł ponownie ustawia wybrane źródło na początku, a bibliotekę instalacji pozostawia tylko jako fallback. Normalne uruchomienie zainstalowanej wersji nie zmienia się.
  • Natywna kopia przed migracją. Gdy iptables-save nie potrafi wyeksportować rozpoznanej niezgodnej tabeli iptables-nft, migracja cpanel-csf zapisuje pełny nft list ruleset i diagnostykę eksporterów z sumami SHA-256. Kontynuuje dopiero po potwierdzeniu bezczynności równoległego backendu legacy i zabezpieczeniu dokładnego pakietu RPM do wycofania zmiany.
  • Ograniczona przebudowa przez zaufane CSF. Bootstrap przebudowuje wyłącznie niezgodne standardowe tabele filter, nat, mangle, raw i security rodzin ip oraz ip6, używając już zainstalowanego, zaufanego csf -r. Pozostałe natywne tabele nie są wybierane do normalizacji.
  • Porównanie polityki i automatyczny rollback. Kanoniczne polityki IPv4/IPv6 są porównywane przed przebudową i po niej. Brak tabeli, różnica semantyczna, przerwanie lub późniejszy błąd instalacji uruchamia przywracanie. Testy objęły wszystkie dziesięć standardowych tabel, w tym wymuszoną rozbieżność z odtworzeniem pierwotnej polityki i konfiguracji.
  • Opcjonalny AI System Scan. AI System Scan dodaje szybki i pogłębiony przegląd do interfejsu administracyjnego DCSF. Funkcja jest domyślnie wyłączona i wymaga podania przez administratora własnego klucza OpenAI API oraz wyboru modelu.
  • Ograniczony zakres dowodów i chroniony klucz. Pojedynczy skan w tle zbiera ograniczony zestaw lokalnych danych bezpieczeństwa, z limitami odczytów, procesów, rozmiaru danych i czasu wykonania. Klucz API jest w osobnym pliku dostępnym tylko dla roota i nigdy nie wraca do interfejsu.
  • Wnioski powiązane z przekazanymi dowodami. Żądania OpenAI Responses API używają store=false, bez narzędzi i ze ścisłym formatem odpowiedzi. Wnioski oraz zalecenia muszą wskazywać prawidłowe identyfikatory dowodów z wysłanego zestawu. Raport doradza, ale nie wykonuje automatycznie napraw.
  • Istniejące katalogi prywatnego stanu AI. Instalator sprawdza właściciela, grupę i uprawnienia prywatnych katalogów stanu AI bez wymagania jednej referencji katalogu. Istniejące podkatalogi na systemach plików ext nie powodują już błędnej odmowy instalacji; niebezpieczny właściciel lub prawa nadal ją zatrzymują.
  • Zachowane rygorystyczne kontrole migracji. Sam kod wyjścia 0 eksportera nie dowodzi kompletności. Migracja jest odrzucana przy nieznanej diagnostyce lub aktywnej równoległej polityce legacy. Kopia pomijająca aktywną standardową tabelę nftables albo zmiana polityki kanonicznej uruchamia rollback.
  • Oddzielny budżet kontekstu procfs. Kontrole kontekstowej tożsamości mają osobny, ograniczony budżet skanowania procfs. Przy wielu procesach nie powstają już fałszywe alarmy excessive usage spowodowane kolizją tych budżetów; zwykłe limity procesu, UID i całego skanowania nie są osłabiane.
  • Aktywne LFD po aktualizacji produkcyjnej. Po udanej aktualizacji profilu produkcyjnego (TESTING=0) instalator restartuje LFD i sprawdza wynik, w tym aktywność usługi na systemd. Nowy kod demona działa od razu; instalacje z TESTING=1 nie są uruchamiane.
  • Ograniczone ponawianie rejestracji. Rejestracja instalacji korzysta z API HTTPS bez rozszerzenia pliku oraz ograniczonych prób retry i backoff. Chwilowy błąd można ponowić bez nieograniczonego oczekiwania; podpis tożsamości i kontrola adresu źródłowego pozostają wymagane.
  • Instalacja świadoma stanu SELinux. Instalator sprawdza stan SELinux przed użyciem chcon. Wyłączony SELinux nie powoduje już mylących ostrzeżeń o etykietowaniu, a aktywne środowiska zachowują obsługę kontekstów.
  • Natywna obsługa systemd. Host działający wyłącznie na systemd nie zgłasza braku starych plików startowych SysV ani nie próbuje zmieniać właściciela nieistniejących plików. Starszy init pozostaje obsługiwany.
  • Trafna kontrola Apache i ModSecurity. Nieaktywny Apache i domyślne ścieżki logów ModSecurity mają status informacyjny. Na systemd rozstrzyga rzeczywisty stan usługi: prywatny /opt/zimbra/common/bin/httpd nie jest mylony z systemowym Apache. Starszy init zachowuje kontrolę procesu.
  • Sprawdzony transport poczty Zimbra. Kanoniczny symlink sendmail Zimbry jest rozpoznawany przez kontrolę zaufanej ścieżki. Ta celowana poprawka zgodności nie nadaje zaufania dowolnym symlinkom.

Kwalifikacja wydania Linux: 77/77. Kontrole publicznego bootstrapu: 85/85.

DCSF

DH20.29 domyka zależność JSON::PP bez osłabiania zaufania

Pakiet 15.10.32 dodaje JSON::PP do preflightu instalatora i kontroli runtime os.pl, zachowując rozdział systemowego Perla, prywatnego środowiska cPanel oraz jawnego fallbacku CPAN.

01

Najpierw pakiety systemowe

Poza cPanel DCSF naprawia zamkniętą listę modułów przez dokładne możliwości RPM lub mapowanie pakietów Debiana. DNF i YUM zachowują weryfikację GPG, a APT odrzuca repozytoria nieuwierzytelnione i niezabezpieczone.

02

Pomiar postępu i ponowna kontrola

Instalator inwentaryzuje wymagane moduły przed preflightem i po naprawie. Próby są ograniczone, muszą wykazać postęp, a powodzenie wymaga ponownego importu całej zamkniętej listy.

03

CPAN wyłącznie po jawnej zgodzie

Systemowy fallback CPAN jest domyślnie wyłączony. Operator musi podać --allow-cpan-fallback; używany jest stały mirror MetaCPAN przez HTTPS, zamknięte nazwy modułów i zweryfikowane katalogi robocze.

04

Prywatny Perl cPanel

Na cPanel DCSF zawsze sprawdza /usr/local/cpanel/3rdparty/bin/perl, wyznacza pasujący wersjonowany cpanm i uruchamia go jawnie przez ten sam prywatny interpreter, bez mieszania bibliotek z /usr/bin/perl.

05

Wymagane JSON::PP

Runtime OLSPanel wymaga JSON::PP. RPM wybiera podpisaną możliwość perl(JSON::PP), Debian pakiet libjson-pp-perl, cPanel używa prywatnego cpanm, a systemowy CPAN nadal wymaga jawnego --allow-cpan-fallback.

Canary PASS: Wcześniejszy publiczny test canary --dryrun uwierzytelnił sprawdzane wtedy wydanie, wybrał właściwy instalator i pozostawił każdy zwykły plik bezpośrednio w /etc/csf bez zmian.

DCSF

DH20.29 utrzymuje działania OLSPanel w widocznym obszarze

Pakiet 15.10.32 ogranicza iframe do 640–1200 pikseli, przewija go wewnętrznie i wraca na górę po nawigacji. Maskowany modal, Watch System Logs, Search for IP i Firewall Allow pozostają widoczne, a zaufana polityka i rzeczywisty test backendu są zachowane.

01

Wykrywanie bez fałszywego wymagania

Katalog modules jest opcjonalny. Detektor przyjmuje wyłącznie wspierane katalogi kanoniczne i bezpieczną deklarację /etc/olspanel/base_dir należącą do roota.

02

Preflight chronionej konfiguracji

Przed zapisem adapter tylko odczytuje metadane /etc/csf, /etc/csf/csf.conf i /etc/csf/csf.cloudflare. Tryb --dryrun wykonuje tę samą kontrolę bez zmiany plików.

03

Odrzucenie aliasów i dokładna diagnoza

Symlinki, pliki inne niż zwykłe, własność inną niż root, zapis grupy lub świata oraz chronione pliki z więcej niż jednym hardlinkiem są odrzucane przed instalacją ze wskazaniem dokładnej ścieżki.

04

Finalizacja bez zmiany treści

Po instalacji /etc/csf otrzymuje root:root 0700, a csf.conf i csf.cloudflare root:root 0600 z dokładnie jednym hardlinkiem. Istniejąca treść obu plików pozostaje identyczna bajtowo.

05

Uwierzytelniony brakujący plik

Jeżeli csf.cloudflare nie istnieje, może pochodzić wyłącznie ze zweryfikowanego, podpisanego pakietu; istniejący plik nie jest zastępowany.

06

Brak fałszywego sukcesu

Instalator ogólny kończy pracę błędem, gdy rekurencyjny chmod lub chown nie powiedzie się, zamiast kontynuować do komunikatu PASS.

07

Kontrolowane utworzenie modules

Brakujący katalog powstaje dopiero podczas rzeczywistej instalacji jako root:root 0755. DCSF zapisuje prywatną informację, że sam go utworzył.

08

Ostrożne odinstalowanie

Uninstall usuwa katalog nadrzędny wyłącznie wtedy, gdy utworzył go DCSF i katalog nadal jest pusty. Obce lub niepuste dane pozostają nietknięte.

09

Runtime JSON::PP

Preflight i kontrola os.pl wymagają JSON::PP. Naprawa korzysta z podpisanej możliwości RPM perl(JSON::PP), pakietu Debian libjson-pp-perl, prywatnego cpanm cPanel lub jawnie włączonego fallbacku systemowego CPAN.

10

Izolowana kompilacja backendu

Po instalacji ogólnej, lecz przed publikacją lub restartem integracji panelu, adapter wykonuje izolowany test backendu perl -T -c. Błąd zatrzymuje integrację OLSPanel.

11

Właściwe zasoby panelu

OLSPanel podaje obrazy z uwierzytelnionego drzewa /usr/local/csf/lib/webmin/csf/images, w którym podpisany pakiet umieszcza między innymi ikonę csf.svg.

12

Jawna zaufana polityka

Backend ładuje /usr/local/csf/lib/ConfigServer/panel-action-policy.json z require_trusted => 1 zamiast używać domyślnej ścieżki CyberPanelu. Cały łańcuch nadrzędny i plik muszą być kontrolowane przez roota i niezapisywalne dla innych.

13

Test rzeczywistej ramki backendu

Instalator wysyła ograniczone żądanie binarne tylko do odczytu przez rzeczywisty backend w taint mode. Odpowiedź nie może przekroczyć 16 MiB i musi zawierać marker interfejsu DCSF, zanim integracja zostanie opublikowana lub zrestartowana. Po aktualizacji extmail.uck.katowice.pl pełna ścieżka Django do backendu Perla zwróciła HTTP 200.

14

Maskowane ponowne uwierzytelnienie

Chronione działania używają osobnego okna z ograniczonym polem type="password" zamiast window.prompt(). Escape, przycisk anulowania i kliknięcie tła bezpiecznie przerywają operację, a widoczne pole jest czyszczone natychmiast po przekazaniu danych do żądania.

15

Działające logi systemowe

Search System Logs i Watch System Logs przyjmują wyłącznie nocache o długości od jednej do dwudziestu cyfr. Stan postępu kończy się po każdej odpowiedzi, błąd pokazuje status HTTP, a produkcyjne testy wyszukiwania i podglądu zwróciły HTTP 200.

16

Widoczne odpowiedzi chronionych akcji

Przechwycona nawigacja jest deduplikowana, odraczana do następnego obrotu pętli zdarzeń i jawnie wysyłana do _self z widocznym postępem. Quick Allow i zapis konfiguracji zachowują pełną, niepustą odpowiedź zamiast pustej ramki.

17

Search for IP i Firewall Allow

Testy przez rzeczywisty backend Perla potwierdziły wyszukanie dodanego adresu, listę Firewall Allow oraz kontrolki Done i Return. Tymczasowy wpis testowy został usunięty, a końcowy skrót csf.allow wrócił dokładnie do wartości sprzed testu.

18

Ograniczony przewijany obszar akcji

Iframe działań pozostaje między 640 a 1200 pikseli, przewija długą treść wewnętrznie i wraca na górę po każdej nawigacji. Test produkcyjny utrzymał zewnętrzną stronę na wysokości 1000 pikseli i pozycji przewijania zero, dzięki czemu wyniki Search for IP, Firewall Allow, Watch System Logs i modal reautoryzacji pozostały widoczne.

DCSF

Co zawiera wydanie

Instalator, podpisany manifest aktualizacji, publiczny klucz weryfikacyjny, skrót pakietu i tożsamość wydania są publikowane razem.

01

Podpisany pakiet

Archiwum 15.10.32 jest związane skrótem z podpisanym manifestem.

02

Weryfikacja

Bootstrap przypina klucz RSA-3072, podpis, SHA-256, rozmiar i zamknięty wykaz plików.

03

Pakiety systemowe Perla

JSON::PP jest wymagane przez preflight i runtime os.pl; RPM używa podpisanej możliwości perl(JSON::PP), a Debian pakietu libjson-pp-perl.

04

Jawny fallback CPAN

Systemowy CPAN działa wyłącznie po podaniu --allow-cpan-fallback i korzysta ze stałego mirroru MetaCPAN przez HTTPS.

05

Prywatny Perl cPanel

Instalator sprawdza /usr/local/cpanel/3rdparty/bin/perl i używa pasującego cpanm uruchomionego przez ten sam interpreter.

06

Zaufana polityka OLSPanel

Backend ładuje /usr/local/csf/lib/ConfigServer/panel-action-policy.json z require_trusted => 1; cały łańcuch ścieżki musi być pod kontrolą roota.

07

Kontrola backendu OLSPanel

Po instalacji ogólnej i przed publikacją lub restartem integracji adapter wykonuje perl -T -c i rzeczywiste żądanie ramkowe tylko do odczytu. Odpowiedź ma limit 16 MiB i musi zawierać marker interfejsu DCSF.

08

Maskowane uwierzytelnienie OLSPanel

Chronione działania używają ograniczonego pola type="password" bez window.prompt(); Escape, anulowanie i kliknięcie tła przerywają operację, a widoczne pole jest natychmiast czyszczone.

09

Logi i odpowiedzi OLSPanel

Search System Logs i Watch System Logs poprawnie kończą stan postępu. Odroczona nawigacja _self zachowuje wyniki Quick Allow, zapisu konfiguracji, Search for IP i Firewall Allow.

10

Przewijany obszar akcji OLSPanel

Iframe pozostaje między 640 a 1200 pikseli, przewija się wewnętrznie i wraca na górę po nawigacji, dzięki czemu wyniki i modal reautoryzacji są widoczne.

11

Zasoby OLSPanel

Obrazy są podawane z /usr/local/csf/lib/webmin/csf/images; podpisany pakiet dostarcza tam również csf.svg.

12

Czysty OLSPanel

Detekcja nie wymaga katalogu modules, sprawdza bezpieczny base_dir i cp.service, a ten sam preflight działa w --dryrun.

13

Bezpieczna konfiguracja OLSPanel

Preflight tylko odczytuje metadane /etc/csf, csf.conf i csf.cloudflare; symlinki oraz niebezpieczne hardlinki są odrzucane z dokładną ścieżką.

14

Końcowe uprawnienia

/etc/csf jest finalizowane jako root:root 0700, a csf.conf i csf.cloudflare jako root:root 0600 bez zmiany istniejącej treści.

15

Brak fałszywego PASS

Błąd rekurencyjnego chmod lub chown w instalatorze ogólnym zatrzymuje instalację.

16

Bezpieczny moduł

Modules powstaje jako root:root 0755 dopiero podczas instalacji; uninstall usuwa go tylko z zapisem pochodzenia i gdy pozostaje pusty.

17

WebGuard

Wydanie zachowuje ograniczony replay, audyt, korelację i odizolowany kolektor logu OpenLiteSpeed.

18

Informacje o wydaniu

DH20.29 jednoznacznie odpowiada technicznej wersji DCSF 15.10.32.

19

Kwalifikacja

Pakiet przeszedł 77 z 77 bramek, a publiczny bootstrap 85 z 85 testów.

DCSF

Trzy obsługiwane ścieżki instalacji

Bootstrap rozpoznaje stan serwera przed zmianą plików i nie traktuje aktualizacji jak nowej instalacji.

01

Nowa instalacja

Wymaga jawnego wyboru --testing albo --production. Zalecany pierwszy przebieg to --testing.

02

Aktualizacja DCSF

Instalator wykrywa bieżącą wersję, odmawia obniżenia wersji i prosi o potwierdzenie aktualizacji lub reinstalacji.

03

Migracja z cpanel-csf

Najpierw weryfikuje cały podpisany pakiet i prywatny Perl cPanel z pasującym cpanm, potem prosi o zgodę. Po potwierdzeniu tworzy prywatną kopię konfiguracji i reguł, sprawdza rollback, usuwa RPM cPanelu i instaluje DCSF.

Wydane

Podpisany pakiet publiczny i instalator są dostępne.

Dla nowej instalacji zacznij od --testing. Przy aktualizacji uruchom skrypt bez flagi profilu, aby zachować istniejące TESTING, i odpowiedz na pytanie instalatora.

Pobierz install.sh
DCSF

Bezpieczna instalacja

Pobierz skrypt do pliku, sprawdź podaną sumę i treść, a następnie uruchom go jawnie.

curl -fsSLo dcsf-install.sh https://dcsf.pl/install.sh
printf '%s  %s\n' '86cf07a9c45c1cc9a5eab7b8f9b360af98455a67927f7e52c78be2c5ff7d34f8' dcsf-install.sh | sha256sum -c -
less dcsf-install.sh
sudo sh dcsf-install.sh --testing
SHA-256 install.sh: 86cf07a9c45c1cc9a5eab7b8f9b360af98455a67927f7e52c78be2c5ff7d34f8
DCSF

Tożsamość wydania i pliki weryfikacyjne

Każda z trzech domen udostępnia te same bajty z jednego, chronionego katalogu publikacyjnego.

Wydanie publiczneDH20.29
Wersja techniczna15.10.32
SHA-256 pakietuba8e5a738dec83bf4ef3abd8b59add85e88f495555f5dd8f116d837b70f86268
Rozmiar pakietu5 869 701 bajtów
Zamknięty inwentarz585 wpisów · SHA-256 be8bc9f4b9a04c505394c0ca3a6aa5a79aa3a819dcbb1e687daf687f7cdbc1a9
SHA-256 manifestu60c115a5d63f91725c40c66ce0647436a500cc27930edbf8614d22b4463c003f
Bramki wydania77/77 PASS
Testy publicznego bootstrapu85/85 PASS
Commit źródłowy pakietu784481c2223e709ec9ab0a3e9bcc8cc41071293f
Commit tagu wydania3849ed6a3f0b58cd5f1afaca1241d0e73f6fb90a
Gałąź wydaniafix/centos6-compat
TagDH20.29
Manifestmanifest.txt · podpis
Metadane publicznerelease.json · install.sh.sha256
LicencjaGNU GPLv3