Posiadanie dziesiątek tysięcy Raspberry Pi podłączonych do Internetu ostatecznie przyciągnie zainteresowanie niektórych ludzi, którzy chcieliby robić niesmaczne rzeczy małym komputerom, szczególnie gdy wiele osób używa swojego Pi do robienia serwerów sieciowych. Linux to solidny system operacyjny od samego początku, jeśli chodzi o bezpieczeństwo, ale oprócz zmiany hasła, co należy zrobić, aby „zahartować” Raspberry Pi, jeśli mam zamiar hostować usługi skierowane do Internetu na urządzeniu?
Aby wesprzeć moją „dziesiątki tysięcy” żart, Eben Upton powiedział, że „Raspberry Pi sprzedał ponad 200 000 podstawowych modułów komputerowych i obecnie wysyła 4000 sztuk dziennie” . Prawdopodobnie bezpiecznie jest założyć, że dziesiątki tysięcy z tych 200 000 zostało podłączonych do Internetu. Założenie, że dziesiątki tysięcy podłączonych do Internetu Raspberry Pis hostuje publiczną usługę internetową, jest mniej bezpieczne, ale potencjał entuzjastów hakerów wciąż istnieje.
Odpowiedzi:
Zabezpieczanie komputera nie jest prostym procesem, całe książki są pisane na ten temat. Rozmiar Pi nie zmniejsza zagrożenia bezpieczeństwa ani powierzchni ataku przedstawionej potencjalnemu napastnikowi. W rezultacie opiszę związane z tym kroki i podam łącza do bardziej szczegółowych instrukcji i samouczków.
Ponieważ nie wspomniałeś o używanej dystrybucji, przyjmuję zalecaną dystrybucję Raspbian.
Widziałem, że zalecana dystrybucja Raspbian obejmuje serwer WWW Apache i włącza go podczas uruchamiania (czy ktoś może to potwierdzić). Czy naprawdę potrzebujesz działającego serwera WWW? Jeśli nie, wyłącz go. Jeśli musisz uruchomić Apache, pamiętaj, aby go zabezpieczyć i zrobić to samo z innymi usługami (np. FTP, NGINX, MySQL itp.), Wyszukiwarka Google powinna wyświetlić kilka zasobów.Kilka dodatkowych rzeczy, które możesz rozważyć:
Powinieneś także przeczytać to pokrewne pytanie Jak mogę chronić się przed włamaniami i złośliwym oprogramowaniem przed podłączeniem go do Internetu (szczególnie na publicznym adresie IP)? .
To tylko minimalne kroki do zabezpieczenia Twojego Pi. Aby uzyskać więcej informacji, możesz przeczytać Podręcznik Zabezpieczania Debiana .
źródło
Po obejrzeniu RPi wygląda na dość bezpieczne urządzenie, o ile robisz kilka rzeczy.
Domyślne potrzeby użytkownika / przepustki uległy zmianie. Przynajmniej zmień hasło. Aby ponownie zwiększyć bezpieczeństwo, zmień również nazwę użytkownika. (Dodaj nowego użytkownika, a następnie wyłącz PI. Sprawdź, czy ROOT jest również wyłączony z logowania SSH, chociaż myślę, że i tak jest domyślnie.)
Skanowanie RPi zwraca tylko jeden otwarty port, 22, który jest połączeniem SSH, i nawet to musi być włączone, zanim się pojawi (chociaż większość ludzi będzie go używać zamiast monitora, klawiatury i myszy, spodziewam się, szczególnie na serwer {web})
Możesz zmienić numer portu SSH, ale to niewiele zdziała, ponieważ można go łatwo zeskanować. Zamiast tego włącz uwierzytelnianie za pomocą klucza SSH.
Teraz nie masz możliwości, aby ktokolwiek dostał się do twojego komputera bez prawidłowego klucza SSH, nazwy użytkownika i hasła.
Następnie skonfiguruj swój serwer internetowy. Apache jest właściwie tam, gdzie jest. To domyślnie ustawi i monitoruje port 80 i automatycznie reaguje na połączenia z przeglądarek, obsługując twoje strony internetowe.
Jeśli masz zaporę ogniową lub router, możesz zmienić porty RPi i router może kierować ruchem z jednego portu do drugiego. Na przykład ruch z portu 80 do routera jest przekierowywany do portu 75 na RPi, a SSH na 22 jest przekierowywany do portu 72. To dodałoby kolejną warstwę ochrony, ale jest nieco bardziej złożone.
Oczywiście wszystko aktualizuj i załataj.
To nie ochroni cię przed atakami wykorzystującymi Javę, Flash, serwery SQL itp., Które możesz dodać później, ale tak naprawdę to wszystko.
Możesz także dodać zaporę ogniową, która spowolni dostęp każdego użytkownika do twojego systemu z innego portu, jeśli zainstaluje on nową usługę. Router powinien sobie z tym poradzić, ale jeśli jest podłączony bezpośrednio, to skonfiguruj go i, jak długo to zajmie, równie dobrze możesz go uruchomić - nie doda to zbyt wiele zasobów systemowych.
Inną rzeczą, którą możesz chcieć dodać, jest fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), która dodaje regułę zapory sieciowej do blokowania wielu prób logowania, zapobiegając atakom słownikowym. Chociaż nie mogą one działać w systemie, jeśli postępujesz zgodnie z powyższym, jeśli z jakiegoś powodu musisz pozostawić tylko hasło SSH auth (np. Zdalne logowanie z wielu różnych komputerów), zapobiegnie to atakowi słownikowemu z pracy. Po określonej liczbie prób będzie blokować na jakiś czas kolejne próby z tego adresu IP. (Uważaj tylko, aby nie widział routera / lokalnego adresu IP i zablokuj to za wcześnie lub na zbyt długo!)
Edytowano w celu dodania: Po prawidłowym skonfigurowaniu wszystkiego skorzystaj z narzędzia takiego jak dd lub Win32DiskImager, aby wykonać pełną bitową kopię zapasową karty SD. W ten sposób, jeśli coś pójdzie nie tak, możesz przywrócić go na tej samej karcie lub zapisać na nowej karcie i kontynuować niezależnie. (Ale jeśli zostaniesz zhakowany, możesz dowiedzieć się, która dziura została znaleziona i być może najpierw ją zamknąć!)
źródło
linode ma doskonały przewodnik na temat zabezpieczania serwera Linux: http://library.linode.com/securing-your-server . te same zasady można zastosować do raspberry pi
źródło
Oprócz zaostrzenia systemu operacyjnego możesz również rozważyć skorzystanie z usługi monitorowania bezpieczeństwa opartej na chmurze, aby monitorować aktywność do / z / na twoim urządzeniu i otrzymywać powiadomienia, jeśli coś nieoczekiwanego zostanie wykryte. Obecnie dostępnych jest kilka narzędzi SIEM opartych na chmurze, a niektóre (jak siemless) obsługują model freemium, więc użytkownicy domowi nie muszą płacić ani grosza. Aby skorzystać z takiej usługi, musisz zapoznać się z takimi rzeczami, jak rsyslog / syslog, który jest standardową częścią wszystkich dystrybucji systemu operacyjnego Linux.
źródło