FlintGuard
Mobil- és webalkalmazás egy GL.iNet Wi-Fi-router kezeléséhez: új eszközök jóváhagyása push-értesítésből, tiltásuk és az otthoni hálózat kézben tartása.


Feladat
Az otthoni router adminfelülete hálózati mérnököknek készült, nem egy szülőnek, aki látni szeretné, mi csatlakozik, és egyetlen eszköznél szüneteltetné az internetet.
Megoldás
- Először biztonsági audit: a router kiinduló állapotának felmérése megmutatta, hogy az SSH és a HTTPS elérhető az internetről, és az SSH-n be van kapcsolva a jelszavas bejelentkezés; hét WAN-szabályt lezártunk, a jelszavas bejelentkezést kikapcsoltuk, és a routert átvizsgáltuk a kompromittálás jelei után kutatva.
- SDK és eszközök: típusos kliens a router JSON-RPC API-jához, védelemmel az önkizárás ellen, valódi routeren futó szerződéses tesztek, amelyek minden változtatást visszagörgetnek, parancssori eszköz, kilenc architekturális döntési rekord.
- Alkalmazás: eszközök szűrőkkel, eszközkártya átnevezéssel, profillal és egy koppintásos internettiltással, eseménynapló, „pending” eszközök Allow és Block gombokkal, a router saját listáján kívül tiltott eszközök, „this is the same device” egy új privát MAC-címhez; magáról a routerről kiszolgált webes változat.
- Ügynök a routeren: Lua-csomag és szolgáltatás, amely észleli az új eszközöket, egyedi API-metódusokat ad hozzá, karanténba helyezi az új eszközöket, és csak a jóváhagyott eszközöket engedi csatlakozni a Wi-Fi-hez.
- Értesítések: push műveletgombokkal, natív iOS push egy kis közvetítőn keresztül, riasztások a csatlakozási kísérletekről, sebességkorlátokkal és rövid élettartamú művelettokenekkel.
- Platformok: iOS-buildek TestFlighton keresztül, Android és web.
Eredmény
Személyes projekt a szerző otthoni hálózatához, aktív fejlesztés alatt, nem kereskedelmi termék.