FlintGuard
GL.iNetのWi-Fiルーターを管理するモバイル・Webアプリ。新しいデバイスをプッシュ通知から承認・ブロックし、自宅のネットワークを管理下に置けます。


課題
家庭用ルーターの管理画面はネットワークエンジニア向けに作られており、何がつながっているかを確認して1台だけインターネットを止めたい親向けではありません。
解決策
- まずセキュリティ監査:ルーターの初期状態を調べたところ、SSHとHTTPSがインターネットから到達可能で、SSHのパスワードログインが有効になっていました。WANルール7件を閉じ、パスワードログインを無効化し、侵害の兆候がないかルーターを確認しました。
- SDKとツール:自分を締め出してしまわないための安全策を備えた、ルーターのJSON-RPC API用の型付きクライアント、すべての変更をロールバックする実機ルーターでのコントラクトテスト、コマンドラインツール、9件のアーキテクチャ決定記録。
- アプリ:フィルター付きのデバイス一覧、名前の変更・プロファイル・ワンタップでのインターネットブロックができるデバイスカード、イベントログ、AllowとBlockのボタン付きの「pending」デバイス、ルーター本体のリスト外でのブロック、新しいプライベートMACアドレスに対する「this is the same device」。ルーター自身から配信されるWeb版。
- ルーター上のエージェント:新しいデバイスを検出し、独自のAPIメソッドを追加し、新しいデバイスを隔離し、承認済みのデバイスだけをWi-Fiに接続させるLuaパッケージとサービス。
- 通知:アクションボタン付きのプッシュ通知、小さなリレー経由のネイティブiOSプッシュ、接続試行のアラート。レート制限と短命のアクショントークン付き。
- プラットフォーム:TestFlight経由のiOSビルド、Android、Web。
成果
作者の自宅ネットワーク向けの個人プロジェクトで、活発に開発中です。商用製品ではありません。