Jakie są najlepsze praktyki bezpieczeństwa, aby zabezpieczyć zdalną kamerę IoT?

27

Zrobiłem trochę automatyzacji domu, na przykład zbudowałem zdalną kamerę, którą można włączyć lokalnie za pośrednictwem SSH i publikuje obrazy na serwerze Linux z Raspberry Pi.

Jestem jednak ciekawy, jakie protokoły najlepiej stosować, gdy twoje bezpieczeństwo znajduje się za routerem. Użyłem rzeczy takich jak Putty i otworzyłem porty, aby móc tunelować, ale nie sądzę, że są to najbezpieczniejsze metody.

Zastanawiam się, jakie protokoły / narzędzia są najlepiej stosowane, gdy zdalny dostęp do systemu serwera domowego.

Trevor J. Smith
źródło
Czy masz możliwość szyfrowania strumienia obrazu?
tbm0115,
@ tbm0115 Mam fizyczny dostęp do urządzenia. Techniczna wiedza, nie tyle. Wciąż się uczę.
Trevor J. Smith,
4
Idealnie, myślę, że twój aparat szyfrowałby strumień obrazu, a aplikacja na zabezpieczonym urządzeniu w sieci go odszyfrowałaby. Alternatywnie / Dodatkowo możesz potencjalnie skonfigurować oddzielną sieć lub podsieć w swojej sieci, aby uruchamiać urządzenia IoT i dodawać dodatkowe zabezpieczenia do tego obszaru sieci.
tbm0115,
To ma sens. Zdecydowanie warte wykonania, jeśli chcę dodać kilka innych urządzeń do miksu. Dzięki.
Trevor J. Smith,
1
To pytanie jest niezwykle szerokie. Zwłaszcza twój tytuł - biorąc pod uwagę ciało, myślę, że szczególnie martwisz się bezpieczeństwem sieci ? Mimo to zależy od rodzaju połączenia sieciowego wymaganego przez aplikację.
Gilles „SO- przestań być zły”

Odpowiedzi:

18

PuTTY jest właściwie dość bezpieczny - sama sesja jest szyfrowana. To część tego, co daje SSH „od razu po wyjęciu z pudełka”. Sam robię wiele tego typu rzeczy, a tutaj sugeruję kilka punktów życia:

  • Nie otwieraj portu 22 na świat - skonfiguruj serwer SSH, aby nasłuchiwał na niestandardowym porcie (np. 22022 lub 2222) w interfejsie WAN
  • Wymagaj uwierzytelnienia, aby uzyskać dostęp do stron internetowych z obrazami zabezpieczeń. Nawet jeśli jest to prosty HTTP-AUTH przy użyciu plików .htaccess, jest lepszy niż nic.
  • Użyj protokołu SSL, aby rozmawiać z serwerami internetowymi, nawet jeśli znajdują się one za routerem
  • Użyj OpenVPN lub innej technologii VPN, aby dostać się do domowych urządzeń z dowolnego urządzenia poza routerem. To eliminuje potrzebę bezpośredniego dostępu do SSH, chociaż zazwyczaj lubię mieć bezpośredni dostęp do SSH na wypadek awarii usług VPN.
Jan
źródło
Zakłada się, że OP używa systemu Windows.
kenorb,
1
Nie, nie ma. Powyższe zalecenia dotyczą dowolnego systemu operacyjnego, nie tylko systemu Windows.
John
Putty to klient SSH tylko dla systemu Windows. Jeśli możesz przeformułować go do SSH i podać Putty jako przykładowego klienta SSH, brzmiałoby lepiej.
kenorb,
1
Jedynym odniesieniem do PuTTY jest pierwsze zdanie. Wszystko inne odnosi się do SSH, jak miałem na myśli.
Jan
14

Pozostałe odpowiedzi obejmują wiele technologii, których można użyć do ochrony systemu. Oto kilka bardziej ogólnych myśli / filozofii.

  1. DMZ jest twoim przyjacielem - w prawie każdym przypadku, gdy masz usługę skierowaną do sieci zewnętrznej, DMZ (patrz a.) Będzie bardzo korzystne. W takim przypadku zarówno zminimalizuje powierzchnię ataku, jak i zminimalizuje obrażenia. Ograniczając liczbę urządzeń w strefie DMZ tylko do tych, które potrzebują zewnętrznego dostępu, ograniczasz powierzchnię ataku. Również strefa DMZ utrudni każdemu dostęp do twojej sieci bazowej, minimalizując w ten sposób szkody.
  2. Biała lista, nie czarna lista - domyślnie każdy protokół, port i połączenie wewnętrzne powinny być domyślnie blokowane. Blokowanie to należy skonfigurować w urządzeniu (jeśli to możliwe), zaporze i routerze. Włącz tylko te opcje, z których aktywnie korzystasz i tylko dla urządzeń, które tego potrzebują. Jeśli znasz i musisz użyć protokołu dla słabego urządzenia IoT (na przykład urządzeń, na które wpływa Mirai), powinieneś skonfigurować urządzenie (takie jak RaspberryPi), aby działało jako przekaźnik. Całkowicie izolujesz urządzenie od sieci i komunikujesz się z nim tylko za pomocą bezpiecznego protokołu (ssh, VPN itp.), Który RaspberryPi przekształca w protokół, którego potrzebuje urządzenie.

AstroDan
źródło
2

SSH jest rozsądnym punktem wyjścia, konieczne jest, abyś używał szyfrowania TLS, a użycie putty dla dostępu ssh jest jednym ze sposobów na osiągnięcie tego. VPN to kolejna. To, co jest naprawdę ważne, to używanie silnych haseł lub kluczy do uzyskiwania dostępu do urządzeń w sieci oraz utrzymywanie aktualności urządzeń bramy.

Korzystanie z niestandardowego portu jest dość rozsądne, ale nie chroni sieci przed pozostawieniem domyślnego (lub wspólnego) hasła.

Jeśli chcesz uzyskać dostęp zdalny, potrzebujesz otwartego portu do przekazywania SSH (lub czegoś bardzo podobnego). Jeśli nie ufasz implementacji zabezpieczeń w kamerze (tj. Jej ostatnia aktualizacja oprogramowania układowego miała miejsce około 6 miesięcy temu), musisz użyć sieci VPN, aby utworzyć dla niej izolowany segment sieci. Jeśli ma WiFi i stare oprogramowanie układowe, równie dobrze może być szeroko otwarte i publiczne (przynajmniej dla każdego w pobliżu).

Sean Houlihane
źródło