Otázka:
Co je třeba udělat pro zabezpečení Raspberry Pi?
Dan B
2012-07-24 18:50:34 UTC
view on stackexchange narkive permalink

Když připojíte desítky tisíc zařízení Raspberry Pi k internetu, nakonec to upoutá zájem některých lidí, kteří by chtěli dělat malým počítačům nechutné věci, zvláště když mnoho lidí používá své Pi k síťovým serverům. Linux je solidní operační systém bez ohledu na to, co je zabezpečení, ale kromě pouhé změny hesla je třeba udělat, co by mělo „ztvrdnout“ Raspberry Pi, pokud na zařízení hodlám hostovat služby orientované na internet? na podporu mého „desítky tisíc“ vtipů Eben Upton uvedl, že „Raspberry Pi prodal přes 200 000 svých základních počítačových modulů a aktuálně dodává 4 000 kusů denně“. Je pravděpodobně bezpečné předpokládat, že desítky tisíc z těchto 200 000 bylo připojeno k internetu. Je méně bezpečné předpokládat, že desítky tisíc těchto Raspberry Pis připojených k internetu hostí veřejnou webovou službu, ale potenciál hackerského nadšení stále existuje.

Mějte na paměti, že i když mohou být připojeny „desítky tisíc“, existují (aktuálně) 3 samostatné distribuce Linuxu (o kterých vím) a myslím, že existuje i několik projektů, které nejsou založeny na linuxu. To ovlivňuje perspektivu hackera. Přesto je-li důležité zabezpečení, udržujte distro aktualizované a v případě potřeby udržujte zařízení za bránou firewall.
Dobrá poznámka RLH K otázce, která podporuje počet Raspberry Pis ve volné přírodě, přidám další informace, abych získal lepší představu o útočné ploše Raspberry Pi, kterou Steve zmínil ve své odpovědi.
Povrch @DanB Attack není funkcí počtu Pi, ale spíše počtu systémů a služeb dostupných pro útok. http://en.wikipedia.org/wiki/Attack_surface
@SteveRobillard Omlouvám se, pokud mi bylo v komentáři nejasno, ale v úpravě, kterou jsem udělal v otázce, jsem se pokusil kvalitativně zredukovat počet Pis, které hostují veřejné služby, a proto by představovaly službu dostupnou pro útok.
Našel jsem krátký návod, jak zabezpečit vaši malinovou pí při použití SSH, vypadá docela úhledně. [-> návod] (http://jjjjango.blogspot.co.at/2015/01/secure-your-raspberry-pi.html)
Viz také https://www.raspberrypi.org/documentation/configuration/security.md
šest odpovědi:
Steve Robillard
2012-07-24 20:05:04 UTC
view on stackexchange narkive permalink

Zabezpečení počítače není jednoduchý proces, na toto téma jsou psány celé knihy. Velikost Pí nesnižuje bezpečnostní hrozbu ani povrch útoku představovaný možnému útočníkovi. Výsledkem bude popis příslušných kroků a odkazy na podrobnější pokyny a návody.

Jelikož jste nezmínili, jaké distribuce používáte, předpokládám doporučené Raspbian Distro.

  1. Změňte výchozí heslo. Distribuce Raspbian to zahrnuje jako možnost v počátečním spouštěcím skriptu. Pokud jste to ještě neudělali, můžete to změnit pomocí příkazu passwd. Nezapomeňte zvolit silné heslo.
  2. Zakázat nepoužívané služby. Viděl jsem, že doporučená distribuce Raspbian zahrnuje webový server Apache a umožňuje jej při spuštění (může to někdo potvrdit) . Opravdu potřebujete spuštěný webový server? Pokud ne, zakažte to. Pokud potřebujete spustit Apache, nezapomeňte jej zabezpečit a proveďte to i pro jiné služby (např. FTP, NGINX, MySQL atd.), Vyhledávání Google by mělo objevit několik zdrojů.
  3. Nainstalujte a nakonfigurujte iptables.
  4. Udržujte svůj systém aktuální. Můžete to automatizovat pomocí cron nebo pomocí cron-apt.
  5. Konfigurace protokolování pro sledování přihlášení a neúspěšných pokusů o přihlášení. Pokud je to možné, použijte externí pevný disk k umístění oddílu / var, čímž získáte více místa, zabráníte tomu, aby soubory protokolu zaplňovaly kartu SD a prodloužily životnost karty SD.

Některé další věci, které byste mohli zvážit:

Měli byste si také přečíst tuto související otázku Jak mohu chránit před vniknutím a malwarem před připojením k internetu (zejména na veřejném) IP adresa)?.

Toto je pouze minimální počet kroků pro zabezpečení vašeho Pi. Další informace najdete v příručce Zabezpečení Debianu.

Nezapomeňte si vygenerovat vlastní klíče ssh. Myslím, že některé obrázky už měly klíče.
@gnibbler dobrý bod Jen jsem se snažil potvrdit, že to byla pravda, a že nebyly generovány při instalaci / povolení SSH.
Apache není ve výchozím nastavení nainstalován v raspbian (uživatel nainstaloval něco jako php5-mysql IIRC). Pro paketový filtr, který je o něco přátelštější než nahé iptables, možná bychom měli doporučit ufw a možná dokonce i jeho GUI frontend gufw?
Má smysl instalovat iptables, i když jste za routerem?
@otakun85 Ano, nazývá se to hloubková obrana. Pokud se budete plně spoléhat na svůj router, pokud by někdo prošel kolem vašeho routeru a jeho iptables jsou v provozu, další exploitace jsou obtížnější.
Zakázání nepoužívaných služeb také pomáhá s časem spuštění a šetří (malé) množství paměti a CPU.
Nigel Tolley
2013-04-06 16:44:48 UTC
view on stackexchange narkive permalink

Když jsme se podívali na RPi, zdá se, že je to docela bezpečné zařízení, pokud uděláte pár věcí.

Změnily se výchozí potřeby uživatele / hesla. Přinejmenším změňte heslo. Pro lepší zabezpečení znovu změňte také uživatelské jméno. (Přidejte nového uživatele a poté deaktivujte PI. Zkontrolujte, zda je ROOT deaktivován také při přihlášení SSH, i když si myslím, že je to stejně ve výchozím nastavení.)

Při skenování RPi se vrátí pouze jeden otevřený port, 22, který je připojení SSH, a dokonce i to musí být zapnuto před tím, než se zobrazí (i když to většina lidí bude používat místo monitoru, klávesnice a myši, předpokládám, zejména na {web} serveru)

Můžete změnit číslo portu SSH, ale to moc neudělá, protože to může být port skenován dostatečně snadno. Místo toho povolte ověřování pomocí klíče SSH.

Nyní nemáte žádný způsob, jak by se kdokoli mohl dostat do vašeho počítače bez správného klíče SSH, uživatelského jména a hesla.

Dále nastavte svůj webový server. Apache je skoro tam, kde je. To bude sedět a monitorovat port 80 jako výchozí a automaticky reagovat na připojení z prohlížečů, které slouží vašim webovým stránkám.

Pokud máte bránu firewall nebo směrovač, můžete změnit porty RPi a nechat směrovač nasměrovat provoz z jednoho portu na druhý. Například přenos portu 80 do routeru je přesměrován na port 75 na RPi a SSH na 22 je přesměrován na port 72. To by přidalo další vrstvu ochrany, ale je to trochu složitější.

Samozřejmě udržujte vše aktualizované a opravené.

To vás neochrání před útoky, které využívají servery Java, Flash, SQL atd., Které byste později mohli přidat, ale to je vlastně vše.

Můžete také přidat bránu firewall, která každému, kdo se dostane do vašeho systému, zpomalí výstup z jiného portu, pokud si nainstaluje novou službu. Váš směrovač by se s tím měl vypořádat, ale pokud je přímo připojen, nastavte jej a jak dlouho to trvá, můžete jej stejně spustit - nebude to moc přidávat do systémových prostředků.

Ještě jedna věc, kterou byste možná chtěli přidat, je fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page), který přidává pravidlo brány firewall k blokování několik pokusů o přihlášení, které zabrání slovníkovým útokům. I když to ve vašem systému nemůže fungovat, pokud jste postupovali podle výše uvedeného, ​​pokud z nějakého důvodu potřebujete ponechat pouze heslo SSH auth (například vzdálené přihlášení z mnoha různých počítačů), zabrání to slovníkovému útoku z práce. Po zadaném počtu pokusů bude na určitou dobu blokováno další pokusy z dané adresy IP. (Jen dávejte pozor, aby neviděl žádný router / lokální IP adresu a zakažte to příliš brzy nebo příliš dlouho!)

Upraveno pro přidání: Jakmile máte vše pěkně nastaveno, použijte nástroj, jako je dd nebo Win32DiskImager, který provede úplnou bitovou zálohu vaší SD karty. Tímto způsobem, pokud se něco pokazí, můžete jej obnovit na stejnou kartu nebo zapsat na novou kartu a pokračovat bez ohledu na to. (Pokud by však došlo k hacknutí, chtěli byste zjistit, jaká díra byla nalezena, a zavřít ji jako první!)

Můžete vysvětlit, jak změna portů RPi na routeru přidává další vrstvu ochrany?
alzclarke
2012-11-06 08:47:48 UTC
view on stackexchange narkive permalink

Linode má vynikajícího průvodce zabezpečením linuxového serveru: http://library.linode.com/securing-your-server. stejná pravidla lze použít i na malinovou pí

dimo414
2020-03-16 22:54:31 UTC
view on stackexchange narkive permalink

Několik plakátů zmínilo důležitost udržování vašeho Pi aktuálního, ale většina zdrojů, které jsem našel, jednoduše navrhne ruční spuštění apt-get z času- čas, což se jeví jako špatný přístup. Mnohem raději bych měl mít automaticky nainstalované bezpečnostní aktualizace.

Balíček Debian unattended-upgrades to má podporovat, ale (na Raspbian? ) je trochu fiddly nastavit.

  • Musíte spustit sudo dpkg-reconfigure -plow unattended-upgrades , abyste mohli naplánovat aktualizaci cronjob
  • Možná budete muset přidat origin = položky pro Raspbian - několik příspěvků navrhnout přidání vlastních položek do konfiguračního souboru pro origin = Raspbian a origin = Raspberry Pi Foundation , ale nevím, jak přesně ověřit nastavení. Je škoda, že původ (zdá se) vyžaduje manuální vyladění.
  • Zvažte také:
    • Nastavení mailx a odkomentování Bezobslužného upgradu :: Mail a Unattended-Upgrade :: MailOnlyOnError pro zasílání upozornění na aktualizace
    • Unattended-Upgrade :: MinimalSteps se také zdá jako dobrý nápad

Spusťte sudo unattended-upgrade -d --dry-run , abyste zjistili, co by to udělalo (i když to není moc hrozné informativní, protože v nedávno aktualizovaném systému nebude hlásit žádné aktualizace).

Leon185
2019-12-23 03:19:41 UTC
view on stackexchange narkive permalink

Můžete také zvážit použití Lynisu. Prohledá váš systém, zda neobsahuje zranitelnosti, a poskytne návrhy ke zlepšení zabezpečení vašeho Pi. Poskytne vám dokonce bezpečnostní skóre toho, jak dobře je vaše Pi zabezpečeno.

Chcete-li jej nainstalovat, použijte:

sudo apt install lynis

Úložiště je s největší pravděpodobností zastaralé, takže aktualizujte lynis přidáním klíče nejprve pomocí

  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F  

pak přidejte repo

  sudo apt install apt-transport-https  

a

  echo "deb https://packages.cisofy.com/community/lynis/deb/ stabilní hlavní" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list  

Nakonec proveďte sudo apt update pro aktualizaci lynis

Vím, že se jedná o starý příspěvek, ale chtěl jsem ho přidat. Doufám, že to pomůže :)

spids
2015-05-28 15:20:05 UTC
view on stackexchange narkive permalink

Kromě zpevnění operačního systému můžete také zvážit použití cloudové služby pro monitorování zabezpečení ke sledování aktivity do / z / na vašem zařízení a přijímání upozornění, pokud bude zjištěno cokoli neobvyklého. V dnešní době je k dispozici několik cloudových nástrojů SIEM a některé (například siemless) provozují bezplatný model, takže domácí uživatelé nemusí platit ani cent. Abyste mohli takovou službu používat, musíte se seznámit s věcmi, jako je rsyslog / syslog, který je standardní součástí všech distribucí OS Linux.

Cloudové nástroje zvětšují povrch útoku, místní monitorování zabezpečení (logwarn / check) jsou dobré nástroje, ale tato odpověď je neúplná a je spíše komentářem.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...