Bezpieczeństwo
Co na Twoim sterowniku jest jeszcze otwarte i jak to zamknąć
Ustawienia → Dostęp → Bezpieczeństwo pokazuje, co na tym sterowniku jest jeszcze otwarte i gdzie to naprawić. Te same informacje trafiają do Home Assistant jako encja diagnostyczna, więc sterownik, którego nikt nie odwiedza, i tak potrafi coś powiedzieć.
Dwie listy i różnica między nimi
Do zrobienia to problem tego sterownika — fabryczne hasło brokera, panel dostępny bez logowania. Każda pozycja ma przycisk Napraw, który prowadzi do kontrolki zmieniającej daną rzecz, a tam gdzie takiej kontrolki nie ma — dokładną zmianę do wykonania ręcznie.
Do rozważenia to porady dotyczące niemal każdego sterownika, zależne od tego, jak korzystasz z urządzenia. Certyfikat samopodpisany jest zaprojektowanym stanem domyślnym, a nie usterką.
Tylko pierwsza lista napędza licznik przy Bezpieczeństwie w pasku bocznym i sensor w Home Assistant. Plakietka czerwona na każdym wyprodukowanym urządzeniu to plakietka, której nikt nie czyta.
Co jest sprawdzane
| Kontrola | Dlaczego |
|---|---|
| Konto administratora | Bez niego urządzenie przejmuje ten, kto pierwszy otworzy kreator |
| Dostęp bez logowania | Każdy w sieci mógłby odczytać konfigurację, przełączać wyjścia i restartować |
| Hasło brokera MQTT | To, z którym boneIO wychodzi z fabryki, jest opublikowane i identyczne na każdym urządzeniu |
Stare dane logowania w config.yaml | Blok web.auth sprzed 1.6 trzymał hasło otwartym tekstem |
| Certyfikat HTTPS | Samopodpisany oznacza ostrzeżenie przeglądarki przy każdej wizycie |
| Osadzanie w innych stronach | Czy inna strona może wyświetlić panel w ramce |
| Hasło logowania SSH | Konto boneio może zostać rootem; fabryczne hasło Black (albo brak hasła) oznacza, że może nim zostać każdy, kto dotrze po SSH. Przy haśle fabrycznym Napraw otwiera kartę Hasło logowania SSH w Kontach; przy braku hasła zaloguj się po SSH i uruchom passwd |
| Aktualizacje systemu | Zainstalowane aktualizacje czekają na restart albo kernel nie jest gotowy na następny start (wtedy: nie restartuj, zgłoś do wsparcia). Wyłączone automatyczne poprawki bezpieczeństwa trafiają do Do rozważenia |
| Panel serwowany otwartym tekstem | Własny port panelu odpowiada w sieci bez szyfrowania — Schowaj za proxy to zamyka |
| Tryb deweloperski | BONEIO_DEV uruchamia trasy deweloperskie — właściwe na płytce testowej, nigdy na sprzedanym urządzeniu |
Kontrole, które przechodzą, też są wypisane — zwinięte. To, ile rzeczy sprawdzono, nadaje sens informacji „dwie do zrobienia".
Po aktualizacji
Przy pierwszym wejściu do panelu po aktualizacji pojawia się monit kierujący do tej sekcji — ale tylko jeśli coś jest do zrobienia. Wyświetla się raz na wersję i wystarczy go zamknąć; nic tu nie jest wymuszane.
Kto to widzi
Wyłącznie administratorzy, również przez API. Lista tego, co jest jeszcze otwarte, to lista zakupów dla kogoś niepowołanego, więc konto tylko do odczytu nie dostaje nic — nawet samego przeglądu.
Osadzanie panelu w innych stronach
Karta Osadzanie panelu w innych stronach decyduje, które strony mogą wyświetlić panel w ramce. Od 1.6 domyślnie tylko to urządzenie.
Tego właśnie potrzebuje dodatek boneIO Black do Home Assistant: dodatek proxuje każdy sterownik, więc strona w ramce jest podawana spod adresu samego Home Assistanta i liczy się jako ta sama witryna.
Więcej wymaga układ, w którym dashboard celuje kartą iframe albo panel_iframe
wprost w https://<sterownik>:8443. Wtedy dopisz adres Home Assistanta w polu
na karcie — sam adres serwera, bez ścieżki.
Wyłączenie ograniczenia pozwala dowolnej stronie w internecie wyświetlić Twój panel w ramce. Dokładnie tego potrzebuje clickjacking.
Zmiany działają po restarcie aplikacji.
Sensor w Home Assistant
Sterownik publikuje binary_sensor.<urządzenie>_security — encję diagnostyczną
z device_class: problem, włączoną, dopóki coś jest do zrobienia.
Szczegóły jadą w atrybutach encji:
| Atrybut | Znaczenie |
|---|---|
actionable | Ile pozycji do zrobienia — to one zapalają sensor |
summary | Czytelny opis tych pozycji, do powiadomienia |
advice | Pozycje „do rozważenia", celowo osobno |
critical, warning, info | Liczniki według wagi |
recommendations | Ta sama lista w formie do szablonowania |
Powiadomienie oparte na summary opisze dokładnie to, co zapaliło sensor — a
nie porady, przez które automatyzacja mówiłaby coś, czego sensor nie mówi.
Zdarzenia bezpieczeństwa w Home Assistant
Sensor powyżej mówi, jak sterownik jest skonfigurowany. Druga encja diagnostyczna, Security events, mówi, co się z nim dzieje: odpala się, gdy ktoś uporczywie wpisuje błędne hasła, więc automatyzacja może wysłać Ci powiadomienie — tak samo, jak reaguje na naciśnięcie przycisku. Nazwa encji w Home Assistant jest po angielsku.
| Zdarzenie | Kiedy |
|---|---|
password_guessing | Właśnie wyczerpał się limit błędnych haseł — w formularzu logowania, w oknie Potwierdź hasło, w formularzu zmiany własnego hasła albo w karcie Hasło logowania SSH. Raz na serię, nie przy każdej odrzuconej próbie |
session_signed_out | Zalogowana sesja została wylogowana po pięciu błędnych hasłach |
Każde zdarzenie niesie nazwę konta (przy logowaniu — to, co wpisano),
formularz (where: login, confirm, password_change albo
ssh_password), czytelny message do powiadomienia i adres, z którego
przyszło (client, pomijany, gdy to sam sterownik).
Zdarzenia nie są przechowywane: takie, które wydarzy się, gdy Home Assistant albo broker nie działa, nie zostanie później powtórzone. Sterownik bez MQTT nadal normalnie loguje użytkowników — po prostu nie ma komu o tym powiedzieć.