operátor panelek hálózati boottal

Sziasztok!

Adott 50-100db x86 alapú, érintőkijelzős mini PC. A feladatuk, hogy saját mac címükkel egy paraméterben egy böngészőben meghívnak egy oldalt, távsegítséghez fut egy VNC, esetleg kezelnek egy vonalkód olvasót. Jelenleg lokális diszkről bootolnak overlayfs-sel. Így elvileg nem sérül a fájlrendszer, max újra kell indítani, bármi történik. Cserébe nem frissül az OS, ami biztonsági aggályokat vet fel.

Az jutott eszembe, hogy bootolhatnának ezek az eszközök hálózatról (pxe, uefi http, vagy ilyesmi) egy live linuxot, boot közben mondjuk rsync-kel szinkronizálhaták a hálózati repót a saját diszkre, hogy ne a ramba kelljen tölteni az is, illetve esetleges hálózat-szakadás esetén ne okozzon gondot az NFS. Így csak a hálózati repót kellene frissen tartani.

Mire nem gondoltam? Van erre kitalált megoldás? Milyen buktatói lehetnek?

Hozzászólások

Szerkesztve: 2024. 12. 19., cs – 19:24

AZ nfsroot jó dolog, egy initrd, amiben minden is ott van, még jobb... Kalapálni kell hozzá a boot folyamatot, de attól még összerakható.
A kérdés az, hogy az NFS-szerver felé milyen a hálózat, illetve hogy azt hogy tudom redundánssá tenni (gluster, vrrp, nfs irányban nézelődnék).

 

Anno egy nagyobbacska portál (négy betűs neve volt...) alá minden is nfs-en volt felpattintva, illetve egy másik, szintén nem kicsi motyó alá nfsroot, és boot paraméter (amit ugye a pxeboot során kap) alapján felhúzott szolgáltatások kialakítása volt a feladat -mindkét esetben mókolós volt a boot/init folyamat - szerencsére sysvinit volt, ami ilyen szempontból faék egyszerű...

ha van eleg ram benne, akkor bootkor toltsek le az imaget es azt bootolja tovabb. 

ha nincs eleg ram akkor az root image mehet nfsrol.

a kozponti imaget meg barmikor frissitheted, es akkor a nextbootkor mar a friss rendszert futtatja

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

En azert elgondolkodnek picit a security vs. robosztus mukodes dilemmarol is.

A gepek hordozhatoak, vagy helyhez kotottek? Milyen a halozati kapcsolat minosege es sebessege? Kell-e nekik allando halozati kapcsolat nelkul is mukodniuk valamennyire?

Redundans lesz-e a kozponti boot es root szerver?

Tenyleg akkora baj, hogy nem kapjak meg akar perceken belul a legfrissebb SW csomagot? Nem eleg T idonkent frissiteni oket? Gondolom amugy sem csak egy ket kave kozott kiadott "apt full-upgrade" a rendszer frissitese, hanem rakeszul a rendszergazda, teszteli az uj verziot (rollback is ugyebar), majd elesiti a gepeken.

Tovabba, a kihelyezett PC-k maguk is potencialis biztonsagi resek, barmit is csinalunk veluk. Hogyan veded toluk a kozponti szervereket es ugy altalaban az egesz halozatot az iranyukbol jovo tamadasok ellen? Miert jo, ha nagyobb tamdasi feluletet biztositasz azert, mert tobb szolgaltatast (pl. pxeboot, nfsroot, rsync) nyujtasz iranyukba?

"Tovabba, a kihelyezett PC-k maguk is potencialis biztonsagi resek, barmit is csinalunk veluk. Hogyan veded toluk a kozponti szervereket es ugy altalaban az egesz halozatot az iranyukbol jovo tamadasok ellen?"

No igen... Nagyon nem mindegy, hogy azoknak a végpontoknak a fizikai védelme milyen.  Mondjuk a "A feladatuk, hogy saját mac címükkel egy paraméterben egy böngészőben meghívnak egy oldalt," az azért... Na mindegy.

Én a kérdező helyében utánanéznék a kiosk módnak, van ingyenesen összerakott és fizetős is (pl. Porteus) - a kérdés az, hogy mennyit akar vele mókolni, mennyire akarja/kell feltalálni a kereket meg a sajtban a lukat, illetve hogy mennyire speciális a felhasználás.

Ajánlom a debian live-ot:

https://live-team.pages.debian.net/live-manual/html/live-manual/index.e…

Még NFS se kell, elég egy http szerver. Én is azt javaslom, hogy induláskor RAM-ba tolja le.

Egyel jobb megoldás lenne, hogy ugyanúgy live image, de helyből bootolja, viszont időnként befrissíti az egész image-t. Fallback netboot-ra, ha esetleg a frissítésnél valami elromlik. Tud kezelni perzisztenciát is, ha szükséges.

"ha helyben, vagy távolról manipulálva van a helyi image"

Ha fizikai védelem ilyen szinten van, akarom mondani nincs, akkor mindegy, mert a netboot esetén "csak" annyi kell, hogy ideiglenesen ne a te, hanem a támadó eszközéről húzza magára az image-et... Ha ezt ki akarod védeni, akkor dot1x _és_ down-ba ment link esetén port letilt, és csak az eszköz szemrevételezése után kézzel enged vissza.
 

Helyi image írásvédett SD kártyán, fizikai hozzáféréstől lehetőség szerint védetten elhelyezve. Igen, ekkor egy frissítéshez oda kell menni minden eszközhöz - de valamit valamiért - kell mondjuk 10-15% tartalék kártya,a mire mehet az image frissített verziója, és frissítés során ezekre cserélni az eszközökben található kártyát - ami kijön az eszközből, arra is mehet az új image, így 8-10 körrel letudható a frissítés, igaz, macerás.

Védtelen végpontot akarsz védeni úgy, hogy te magad is mókolásra számítasz azoktól akik fizikailag hozzáférnek.

Szervert védd, tekintsd úgy, hogy mindenki hülye és fertőzött helyről jön. 

A kliensek innentől kezdve másodlagosak, de MDM-be be lehet kötni, az kikényszeríti hogy vagy frissít, vagy nem jön be többet. 

A hálózati boot nem rossz ötlet, de az ellen nem véd, az csak egy plusz kényelmi elem, ha a frissítés eltörne valamit. 

Régen a xen-nek volt kliens virtualizációs megoldása, ahol le tudott húzni magához menedzselt/titkosított image-et a kliens és csak azt engedted be pl vpn-nel, kvázi mint egy VDI ami képes offline futásra is. Csak aranyárban volt, így azóta sem hallottam felőle.

Ha a klines diszkeken van elég hely, akkor külön particiókon két példány a rajt futó OS-ből. Az aktív háttérben frissítheti a másikat, majd ha az OK akkor következő bootkor váltani rá és ha szükséges egyszerűen vissza is lehet állni a régire. Ez az A/B update megoldás meg elég elterjedt, csak PC-n nem szokványos.
--
Légy derűs, tégy mindent örömmel!