Prehľad
Bantion je môj vlastný projekt na monitorovanie bezpečnosti webov. Majiteľom stránok, nezávislým vývojárom a agentúram dáva jedno miesto na sledovanie podozrivých súborov, WordPress komponentov a stavu agentov na spravovaných weboch.
Cieľom je nahradiť opakované ručné kontroly prehľadom, z ktorého je jasné, ktorý web potrebuje pozornosť a prečo.
Problém
Pri správe viacerých webov sa informácie ľahko roztrúsia medzi hostingové účty, administrácie WordPressu a samostatné nástroje. Kontrola verzií, podozrivých súborov a priebehu skenovania potom znamená opakované prihlasovanie a manuálnu prácu.
Bantion tieto informácie zhromažďuje v spoločnom rozhraní a zachováva pri každom náleze kontext konkrétnej domény.
Riešenie
Každý monitorovaný web používa ľahkého PHP agenta. Používateľ ho vygeneruje v aplikácii, nahrá na hosting cez SFTP a zadá jeho verejnú URL. Inštalácia nevyžaduje SSH ani zásah do aplikačného frameworku.
- Spoločný prehľad: domény, pripojení agenti a priebeh skenovania na jednej obrazovke.
- Kontrola súborov: hľadanie podozrivých PHP vzorov a známych indikátorov škodlivého kódu.
- WordPress inventár: informácie o jadre, pluginoch a témach rozpoznanej inštalácie.
- Bezpečnostné upozornenia: cesta k súboru, dôvod detekcie, závažnosť a stav riešenia.
Agent funguje aj na PHP weboch bez WordPressu; pri WordPresse poskytuje ďalšie informácie o jeho komponentoch.
Moja úloha
Na Bantione prepájam návrh produktu s vývojom frontendu, backendu a vzdialeného PHP agenta. Súčasťou projektu je aj verejná landing page, ktorá vysvetľuje produkt a jeho používanie.
Technická realizácia
Dashboard je postavený na Vue a TypeScript, s Pinia na správu stavu a Vue Router na navigáciu. Backend v PHP zabezpečuje API, správu domén, plánovanie kontrol a spracovanie výsledkov. Dátovú vrstvu a API podporujú knižnice TPsoft DBmodel a TPsoft APIlite.
PHP agent sa spúšťa na požiadanie centrálneho systému, nie počas bežných návštev stránky. Skenovanie prebieha po častiach s ohľadom na časové a pamäťové limity hostingu. Komunikácia používa HTTPS a HMAC podpisy požiadaviek; pri aktualizácii agent overuje RSA podpis nového kódu.
Výzvy
Projekt musí fungovať v rôznych PHP hostingových prostrediach a zvládať skenovanie bez dlhých blokujúcich požiadaviek. Dôležité je aj zrozumiteľne odlíšiť nedostupného agenta, prebiehajúcu kontrolu a bezpečnostný nález, ktorý si vyžaduje posúdenie.
Rozhranie preto zobrazuje stav pripojenia, posledné kontroly a priebeh skenovania spolu s konkrétnymi nálezmi. Používateľ môže skontrolované upozornenia označiť ako vyriešené.
Výsledok
Výsledkom je fungujúca webová aplikácia, ktorá spája správu monitorovaných domén, PHP agentov a bezpečnostných nálezov v jednom prostredí. Screenshoty nižšie zachytávajú jej skutočné rozhranie.
Bantion sa ďalej rozvíja. Monitoring SSL, zmien DNS a dostupnosti webov je na produktovej stránke uvedený medzi plánovanými rozšíreniami.


