W celu nauki zagadnień sieciowych chce na Raspberry pi 4 postawić serwer Next cloud, chce go też wystawić na zewnątrz aby był dostępny poza siecią lokalną.
Postawienie serwera lokalnego jest bardzo proste. Podpiąłem do RPI dysk SSD SanDisk 1TB QVO(znam opinie o tym dysku) i zrobiłem instalacje Next cloud, działa w sieci lokalnej bez problemu.
Teraz chciałbym wypłynąć na nieznane wody i wystawić go na zewnątrz.
Mam serwer na mikrusie, własną domeny i
Hosting. Czytałem już, że przez cloud flare można to jakoś podłączyć ale nie mam pojęcia jak to zrobić, z czym co się je. Jak to zrobić bezpiecznie etc.
"Szybko się uczę" ale na początek chętnie posiłkowałbym się jakimiś gotowymi poradnikami bo nie wiem od czego zacząć. Mogą być po angielsku.
Kolejnym zadaniem jakie sobie zaplanowałem w tej tematyce jest postawienie API raczej w spring boot bo kotlina trochę znam.
Z jakich stron czerpać podstawową wiedzę na ten temat? Od czego zacząć?
#webdev #siecikomputerowe #sieci #komputery #programowanie #mikrus
Edit: chciałbym to zrobić mając zmienne IP.
czyli chcesz zrobic taka rzecz:
z zewnatrz laczyc sie do mikrusa, raspberry polaczone na stale z mikrusem tak?
ZEWNATRZ -> MIKRUS <- RASPBERRY PI
Tak?
Ja polecam generalnie https://my.zerotier.com/ na przykład
Możesz podłączyć wszystkie urządzenia do jednej sieci i nie musisz wtedy mieć Mikrusa w ogóle, bo miedzy wszystkimi twoimi klientami zrobi się jedna sieć
Jeżeli jednak chcesz zrobić to tak jak opisałem wcześniej:
Możesz użyć SSH i ssh port forwarding https://www.ssh.com/academy/ssh/tunneling-example
plus autossh
ale to wg mnie troche slabe
najlepsze uzyc jakiegos openvpn na mikrusie, podlaczyc raspberry z tym vpnem, a pozneij zrobic proxy (np. nginx) na mikrusie, ktore przekieruje ruch do raspberry podlaczonego przez vpn
@Razikus załóżmy, że mam domenę xyz[.]pl. Chcę aby pod adresem xyz[.]pl/nextcloud pokazywał się mój Next Cloud który mam postawiony u siebie w sieci lokalnej.
ZeroTier wygląda bardzo fajnie ale nie jest to do końca tym co chcę uzyskać. Z tego co rozumiem ZeroTier tworzy coś w rodzaju VPNa, tak?
Przy wykorzystaniu ZeroTier mój Next Cloud nie jest bezpośrednio wystawiony na zewnątrz? Czyli jeśli chciałbym wysłać zdjęcia nietechnicznej cioci to mogłoby być to problematyczne?
@exprenpn tak, bedzie to problematyczne
w takim wypadku potrzebujesz rozwiazania z vpnem, wg mnie
i nginx proxy na adres raspberry w vpnie
domene podpinasz rekord A na adres xyz.pl
najlepiej ustawic jeszcze ssl
https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/
tu tez cos jest ciekawego
https://www.reddit.com/r/selfhosted/comments/kphfd3/nginx_reverse_proxy_via_vpn/
skoro masz serwer (rpi z nc) u siebie to znaczy że musisz w jakiś sposób spiąć mikrusa z rpi.
robi się to vpnem lub tunelem ssh (ten drugi jest prostszy w zestawieniu, ale "kosztowniejszy" w utrzymaniu).
no ale zadałbym sobie pytanie czy na pewno chcesz wystawiać taką aplikację jak nextcloud do świata pełnego chinoli botów i reszty raków którzy chętnie kopaliby na Twojej malinie bitki.
@mike-litoris ciężko jest zabezpieczyć malinkę a taki sposób aby nie dało się łatwo na nią włamać? Next cloud jest chyba dość popularny więc myślałem, że będzie to dobre rozwiązanie.
@exprenpn wyjdź z założenia że nie ma zabezpieczeń nie do obejścia. Możesz tylko dołożyć starań żeby włamanie było trudniejsze i liczyć że nie znajdzie się zdeterminowany autystyk który uprze się akurat na Twój sprzęt
Nextclouda odradzam nie dla tego że jest jakiś dziurawy czy coś, ale zwykle trzyma się tam rzeczy raczej prywatne typu dokumenty, zdjęcia itp.
Sama aplikacja może być napisana poprawnie w sensie bezpieczeństwa ale trafi się exploit na bibliotekę z której ta aplikacja korzysta czy framework i już mamy nowy wektor ataku.
Powyżej opisane jest podejście paranoiczne.
Podejście zdroworozsądkowe to może być np logowanie do nextclouda z użyciem 2fa albo oauth (zewnętrzny dostawca tożsamości jak np google).
Jednak i w zdrowym rozsądku wystawiasz niezbędne minimum do działania aplikacji. Jeśli więc na jednym hoście masz aplikację i bazę, to przekierowujesz jedynie port na którym nasłuchuje aplikacja, a nie cały adres IP.
Dobrym rozwiązaniem jest także skorzystanie z reverse proxy jakie udostępnia Cloudflare. Ogólnie poziom ich usług jest wysoki i takie pchełki jak NC na RPi nie powinny kosztować jakoś przesadnie dużo.
Zaloguj się aby komentować