Bezbednost kontrolnog panela napravljena tako da jedan sajt ne može da dopre do drugog
Negde na prometnom serveru, neki sajt će pokretati zastareli dodatak. Dobra bezbednost kontrolnog panela odlučuje šta se dešava posle toga. Dashmox je napravljen tako da odgovor bude: vrlo malo.
Kako je sklopljeno
Panel na koji se prijavljujete nema root.
Dashmox su dva programa. Panel, koji odgovara vašem pregledaču, radi kao običan nalog bez privilegija. Sve što zahteva root traži se od posebnog agenta.
- Agent sluša samo na ograničenom lokalnom soketu, nikada na mreži.
- Prihvata utvrđenu listu tipiziranih operacija, a nikada komandu ljuske koja mu je predata.
- Svaku putanju i Linux nalog sam zaključuje iz internog identifikatora, pa zahtev ne može da ga usmeri negde drugde.
- Svaki zahtev se ovlašćuje na panelu u odnosu na resurs koji dodiruje.
- Vaš pregledač do njega dolazi na sopstvenom portu panela, nikada na onom na koji odgovaraju sajtovi vaših klijenata.
Svaki sajt
Zaštita koja je uključena pre nego što pomislite da je uključite.
Sopstveni nalog
Svaki sajt radi kao sopstveni Linux korisnik sa sopstvenim PHP pulom i soketom, i ne može da čita fajlove drugog sajta.
Pošta držana odvojeno
Pošta se čuva pod posebnim nalogom izvan sajta, pa provaljen sajt ne može da čita poštanska sandučad svog klijenta.
Bez skripti iz otpremljenih fajlova
Ništa se ne izvršava iz foldera u koji aplikacija upisuje, pa otpremljeni fajl ne može da postane program.
PHP ne može da pokreće komande
Funkcije koje veb ljusci trebaju su isključene, a to je ono za šta se provaljeni sajtovi najčešće koriste.
Skeneri odbijeni
Putanje koje skeneri ranjivosti traže, i fajlovi koji nikada nisu veb sadržaj, odbijaju se odmah.
Pogađanje lozinki usporeno
Ponovljeni pokušaji prijave na stranice za prijavu nekog sajta ograničeni su po brzini, po sajtu.
Nepoznata imena odbijena
Ime za koje ovaj server nema sertifikat odbija se već pri uspostavljanju bezbedne veze, umesto da mu odgovori sajt koji je prvi došao.
Vi i vaši klijenti
Prijavljivanje, i zadržavanje kontrole.
Prijava u dva koraka
Kodovi iz bilo koje aplikacije za autentifikaciju. Skenirajte kod da biste je podesili, ili ručno upišite ključ. Jednokratni kodovi za oporavak, čuvani samo kao heševi.
Snažno čuvanje lozinki
Lozinke se heširaju Argon2id algoritmom. Podrazumevane lozinke nema: prvi nalog se pravi jednokratnim tokenom.
Pravila za ceo server
Postavite zahteve za lozinke i prijavu za sve koji se prijavljuju na vaš server.
Firewall koji vas neće zaključati
Pravilo koje bi preseklo adresu sa koje se povezujete odbija se po imenu, a portovi na koje server mora da odgovara ostaju otvoreni.
Potpisana ažuriranja
Ažuriranje se odbija ako ga Dashmox nije potpisao. Instalira se kada pritisnete dugme, prvo pravi snimak panela i pokušava da sve vrati ako ne uspe.
Vaš hosting nadživljava vašu licencu
Licenca koja istekne stavlja server na besplatni plan. Nikada ne obara sajt, poštansko sanduče ni zonu.
Čemu ovo služi
Napad oko kog je ovo građeno.
Ne neko ko provaljuje u vaš server. Neko ko provaljuje u sajt na njemu.
Hosting server je mašina koja pokreće kod koji su napisali drugi ljudi, ažuriran po tuđim rasporedima. Dodatak provede godinu bez ažuriranja. Tema ima otpremanje fajlova koje niko nije isprobao. Lozinka se ponavlja. Ništa od toga nije neobično i ništa nije vaša krivica, a na prometnom serveru to je pitanje kada, a ne da li.
Zato korisno pitanje nije kako to sprečiti. Pitanje je šta napadač drži kada se to već desilo. Izvršava kod kao taj sajt: čita njegove fajlove, upisuje u njegove foldere, otvara veze. Sve posle toga zavisi od toga šta mašina dozvoljava tom nalogu da dodirne.
Važna su tri odgovora, a Dashmox je napravljen tako da sva tri budu ne.
- Može li da čita sajtove, poštu ili rezervne kopije drugog klijenta? Svaki sajt je sopstveni Linux nalog sa sopstvenim PHP servisom i soketom. Fajlovi drugog klijenta nisu mu čitljivi, kao ni njihova poštanska sandučad, podaci za pristup bazama ni njihovi privatni TLS ključevi.
- Može li da dođe do nečega što radi kao root? Panel na koji se prijavljujete uopšte nema root. Jedini program koji ga ima sluša na lokalnom soketu koji nalog sajta ne može da otvori.
- Može li da postane root? Direktorijumi koji bi to omogućili, oni sa podešavanjima veb servera i sistemskim servisima, nisu upisivi za njega.
To nisu argumenti. Dana 29. septembra 2026, na serveru koji je pokretao izdanje 0.97.128 i hostovao trideset pet sajtova, pokrenuto je petnaest sondi sa sopstvenog Linux naloga jednog sajta prema drugom: registar koji preslikava svaki nalog, privilegovani soket, ključ za upravljanje DNS-om, podaci za pristup rezervnim kopijama, rezervne kopije drugog klijenta, fajlovi okruženja kontejnera, privatni TLS ključevi i pošta drugog klijenta, sopstvena podešavanja panela, sistemski fajl sa lozinkama, matični direktorijum drugog klijenta, i dva pokušaja upisa u direktorijume veb servera i upravljača servisima. Svih petnaest je odbijeno. Pokretanje prvo proverava da li je nalog mogao da pročita sopstveni koren dokumenata, jer sonda pokrenuta kao pogrešan nalog biva odbijena u svemu i ne dokazuje ništa.
Privilegovana polovina
Šta će root program zaista uraditi.
Odgovara na listu imenovanih poslova. Na toj listi nema stavke za pokretanje komande.
Deljenje panela na dva dela pomaže samo ako je privilegovana polovina uska. Root program koji prihvata „pokreni ovo“ jeste panel sa rootom, uz jedan korak više.
Dashmoxov agent prihvata 136 imenovanih operacija i ništa više. Svaka je posao sa oblikom: napravi ovaj sajt, izdaj mu sertifikat, upiši ovaj DNS zapis, vrati ovu rezervnu kopiju. Zahtev koji imenuje bilo šta što nije na listi odbija se pre nego što bude pročitan.
- Uzima identifikatore, ne putanje. Zahtev imenuje sajt njegovim internim identifikatorom, a agent sam zaključuje direktorijum i Linux nalog. Ne postoji polje u koje bi se poslala putanja, pa nema šta da se usmeri negde drugde.
- Nikada ne prima komandnu liniju. Tamo gde mora da pokrene program, argumente gradi sam iz vrednosti koje je već proverio.
- Sluša samo na lokalnom soketu, u vlasništvu roota, u direktorijumu u koji nalog sajta ne može da uđe. Nije na mreži ni na jednoj adresi.
- Panel prvo ovlašćuje. Svaki zahtev se proverava u odnosu na osobu koja ga postavlja i stvar koju dodiruje, pre nego što se agent uopšte pita.
Broj vredi reći otvoreno jer je iskrena mera granice. Manji spisak značio bi manji panel. Važno je to što spisak postoji, što je svaka stavka posao a ne uputstvo, i što je dodavanje na njega izmena koju neko mora namerno da napravi.
Ažuriranja
Ažuriranje mora da dokaže da je došlo od nas.
Ažuriranje je najopasnija stvar koju panel radi, jer je to jedini trenutak kada mašina dobrovoljno zamenjuje sopstveni kod. Panel koji instalira šta god mu se preda ima zadnja vrata sa trakom napretka.
- Potpis se proverava nad samom arhivom, a ne nad njenim opisom. Potpis na listi kontrolnih zbirova vredi onoliko koliko i veza između liste i bajtova, pa Dashmox potpisuje bajtove.
- U odnosu na ključ ugrađen u izdanje koje već koristite. Ključ se ne preuzima, pa bi usluga koja bi bila preuzeta mogla da prestane da odgovara, ali ne bi mogla da potpiše ništa što bi vaš server prihvatio.
- Ništa se ne instalira samo. Panel kaže da je ažuriranje dostupno. Administrator pritisne dugme. To je sve, na svakom planu, uključujući i besplatni.
- Pravi snimak pre nego što počne, i vraća prethodno izdanje, njegova podešavanja i njegovu bazu podataka ako se novo ne podigne zdravo. Neuspelo ažuriranje ne troši svoj broj verzije: ispravljena verzija se instalira pod istim.
- Oštećeno izdanje se odbija, a ne zaobilazi. Ako se fajl unutar instaliranog izdanja ne poklapa sa onim za šta izdanje jemči, panel to kaže, imenuje fajl i kaže koju arhivu da dostavite.
Bezbednosne ispravke nisu plaćena mogućnost. Svakoj instalaciji se nudi svako izdanje, na kom god planu bila.
Iskreno o tome
Od čega vas ovo ne štiti.
Stranica o bezbednosti koja navodi samo prednosti jeste reklama. Ovo su ograničenja, istim rečima kojima ih opisujemo interno.
- Provaljen sajt je i dalje provaljen. Ništa ovde ne spasava sajt koji je pokretao zastareli dodatak. Njegovi fajlovi, njegova baza podataka i sesije njegovih posetilaca pripadaju onome ko je ušao. Ono što je ograničeno jeste dokle to dopire.
- Root je root. Svako ko se na vaš server prijavi kao root, ili ko drži ključ koji to može, prošao je pored svega ovoga. Isto važi i za onoga ko drži vlasnički nalog sa njegovim drugim faktorom.
- Vaš provajder je ispod vas. Ko god vodi hardver ili hipervizor može da dođe do diska. To važi za svaki panel na svakom hostu.
- Ne krpimo aplikacije koje instalirate. Dashmox vam kaže kada neka ima ažuriranje i instalira ga kada vi kažete. Održavanje njih je vaše.
- Imejl je uobičajena ograda. Pošta se čuva odvojeno od sajta i šalje preko TLS-a, a poruka u prenosu između dva druga servera nije naša da je štitimo.
Poređenje koje vredi povući nije sa nekim određenim proizvodom. Već sa oblikom: panel čiji veb interfejs radi kao root nema granicu koju bi opisao, jer je propust bilo gde u njemu propust sa rootom. To je aranžman koji Dashmox postoji da izbegne, i razlog zašto je odgovor na „do čega provaljen sajt može da dopre“ spisak odbijanja, a ne umirivanje.
Vaši serveri, bez ičega na njima što se broji.
Ceo panel je besplatan na jednom serveru, bez ograničenja broja sajtova, poštanskih sandučadi, DNS zona ili klijentskih naloga. Pro, za do pet servera, još nije dostupan.