Podchodząc do tematu budowania własnego homelabu, można odnieść wrażenie, że ”mogę wszystko”. I w sumie to prawda. Jednak nie zawsze to co można, powinno się robić. Weźmy na przykład taki paczkomat i… nieważne.

zajumane gdzieś z neta

Na przestrzeni kilku ostatnich lat wyklarowała mi się lista rzeczy, które warto u siebie hostować i warto przenieść je na własną infrastrukturę. Oczywiście, to co wymienię pod hasłem „nie warto” nie skreśla ich definitywnie, po prostu z jakiegoś powodu nie wszystko się przyjęło.

VPN – Wireguard

Absolutna podstawa. VPN pozwala na dostęp do sieci lokalnej z dowolnego miejsca na świecie. A po naszemu? Jeśli możesz uruchomić zmywarkę podłączoną do WiFi tylko z domu, będziesz mógł to zrobić będąc na wakacjach na Hawajach. Czy w Zakopanem. W sumie nie wiem jak to być na wakacjach w Zakopanem, nie mam tylu pieniędzy. Wracając do tematu: użycie VPN może ponosić znacząco bezpieczeństwo połączenia z internetem i dość skutecznie zamaskować to, co robimy. Krótko mówiąc administrator sieci hotelowej będzie widział, że nasze urządzenie gada z jakimś hostem (w tym przypadku nasz serwer VPN), że prowadzi jakąś transmisję, ale za cholerę nie będzie wiedział, co tam się znajduje i nie dobierze się do zawartości pakietów. Bo widzisz, na tym polega szyfrowanie ale nie anonimizacja ruchu. To jednak jest wystarczające, szczególnie, gdy biegasz z telefonem po galerii czy innym hotelu i logujesz się w banku, fejsbuczku albo, nie daj borze tucholski, na discordzie. Odpada rozszywanie SSL, dobieranie się do certyfikatów, zaglądanie w pakiety i takie tam. Zmierzam do tego, że zwyczajnie podnosisz bezpieczeństwo takiego połączenia i możesz spać odrobinę spokojniej. Poza tym jesteś niezależny od wielu dostawców VPN, którzy być może twierdzą, że nie zbierają informacji o Tobie, ale to nadal twój ruch przepchnięty przez czyjąś infrastrukturę.

A dlaczego Wireguard? Jest prosty w budowie. Jest szybki. Jest bezpieczny. Działa wydajnie na największym kartoflu. Nie wymaga skomplikowanej konfiguracji (a jak użyjesz kontenera typu wg-easy to już w ogóle bajeczka), ale przede wszystkim jest sprawdzony. Prywatnie używam go od wielu lat (zastąpił mi OpenVPN), wdrożyłem go u wielu klientów z powodzeniem a także w pracy lata na tym kilka europalet sprzętu na całym świecie. No i ciekawostka: wielu dostawców VPN (w tym ci znani z reklam na Youtube) oferuje właśnie Wireguarda opakowanego w ładne pudełko, z własnym logo.

Polecanko, serio!

Blokowanie reklam na poziomie DNS – Adguard Home

Na początek pojawi się pytanie: dlaczego nie piHole!!11!?!!/11piHole jest niezły, jest lekki ale jest trochę toporny i trochę upierdliwy w konfiguracji. Wymaga czasami jakiś dziwnych akcji, u mnie zdarzyło mu się nie przyjmować hasła do panelu admina (korzystam z menedżera haseł, nie ma opcji że zapomnę hasła, bo go nawet nie znam :D) i czasami zawiesić, zarówno kontenerowi, jak i demonowi. Adguard Home ma piękny panel administratora, który jest bardzo przejrzysty, ergonomią zajął się ktoś, kto używa komputera przy pomocy rąk a nie stóp i dłuta, ale przede wszystkim to po prostu działa. Zastąpiłem poprzednią instancję piHole właśnie Adguard Home i to była jedna z lepszych decyzji, bo to funkcjonuje tak, jak tego oczekuję. Da się podpiąć te same filtry co w piHole, da się więcej rozklikać (zdjęcie dostępu do takiego Twitcha to jedno kliknięcie), można czasowo wyłączać ochronę (która wróci sama po określonym czasie, sztos!), fajnie się integruje z niektórymi innymi aplikacjami, oferując widgety, no po prostu jest bardzo dobrze. Pomyśl też, że ustawiając w połączeniu VPN swój własny DNS masz przenośnego blokowacza reklam. Polecam!

Reverse proxy – NginxProxyManager

NPM Logo

Zacznijmy od tego, że warto mieć swoją domenę. Nawet, jeśli będzie to domena pokroju jajcownik69.olsztyn.pl albo multiplalover.work, jest sto razy lepsza, niż wykorzystywanie w ramach swojego homelaba adresów IP i portów. Sam przyznaj, że wygodniej będzie użyć subdomeny vpn.multiplalover.work, niż 192.168.13.69:2137, prawda? Do tego NPM potrafi w zarządzanie certyfikatami (nie musisz się przejmować ręcznym kopiowaniem certów, ręcznym generowaniem, ręcznym sprawdzaniem, czy aby na pewno nie walnąłeś się w nazwie pliku) a także działa jako coś w rodzaju punktu kontaktowego. Oznacza to dla nas tyle, że eksponujemy jeden port (port NPM), który zgarnia zapytania i rozdysponowuje je pomiędzy resztę hostów, zamiast eksponować na świat pierdyliard portów. Raz, że jest to wygodniejsze (łatwiej ogarnąć jeden port, niż kilkanaście), dwa, że trochę ukrywamy przed światem, co tam w sieci mamy. No i nie eksponujemy maszyn na świat, pomiędzy jest właśnie reverse proxy. Jeśli dobrze ogarniemy konfigurację po stronie DNS, używanie reverse proxy będzie bajecznie wygodne.

NginxProxyManager zagościł u mnie z paru powodów. Pierwszym jest prostota, można wyklikać praktycznie wszystko i to po prostu działa tak, jakbyśmy sobie tego życzyli. Oferuje dość zaawansowaną konfigurację, ale nie wymaga jej od nas na każdym kroku. Dodatkowo dobrze radzi sobie z ogarnianiem certyfikatów. No i nie wymaga spuszczania się nad konfiguracją jak Traefik (który może i jest niezły, ale odbijałem się od tej patologii zbyt często) i nie trzeba dłubać w plikach ręcznie. Po prostu coś w rodzaju all in one łamane na out of the box. Na początek (i nie tylko!) bardzo polecam.

NAS – Nextcloud

źródło: podkradzione z githuba nextclouda

Chyba jeden z najważniejszych serwisów, który mam u siebie. Próbowałem kilku innych rozwiązań, które były czasami lepsze niż Nextcloud, czasami gorsze, czasami były płatne, a czasami darmowe, ale zawsze wracałem do Nextcloud. Powodów jest kilka: dziad działa i robi to dobrze, przyzwoicie działa synchronizacja z folderami lokalnymi, aplikacja mobilna (po drobnej konfiguracji) nie powoduje lotu telefonu przez okno, da się zapiąć Collaborę (taki office w przeglądarce, jest niezła, ale jej konfiguracja jest dość… patologiczna), wspiera logowanie przy użyciu kluczy sprzętowych, jest cholernie wygodny i ma mnóstwo rozszerzeń. Czy jest najlepszy? No nie. Jest średni albo przyzwoity, ale na każdym polu, czego nie uświadczyłem w innych aplikacjach (bo danej funkcji zwyczajnie nie było?), jednak jak wspomniałem – zawsze wracałem i został na dłużej. Dodajmy do tego świetnie działające udostępnianie plików po linku, automatyczne wygaszanie tych linków (co by dostęp do zdjęć z komunii chrześniaka twojej starej nie latał po internecie do końca świata), hasłowanie dostępu do tychże… No po prostu to działa. I ponownie dodam, że interfejs projektował ktoś, kto ma oczy, jakiś zmysł estetyczny i używa komputera, bo jest to dość wygodne i estetyczne narzędzie. Wersja kontenerowa ma jednak pewną wadę, która czasami powoduje zawał – nie można cofać wersji w trakcie aktualizacji. Jak podniesiesz wersję aplikacji i potem stwierdzisz, że chcesz starą, czeka Cię:

  • załamanie psychiczne
  • strach przed utratą danych
  • niesprawna aplikacja
  • przyspieszona nauka czytania logów

Oczywiście z tego się da wybrnąć (ładując się w nową wersję aplikacji po prostu), ale jest to warte odnotowania.

Nie wyobrażam sobie jednak funkcjonowania bez własnego serwera plików w takiej formie.

A czego nie warto robić u siebie?

Jeśli nie masz szczególnych potrzeb, nie warto stawiać u siebie kilku wymienionych niżej usług. Oczywiście nic nie stoi na przeszkodzie, aby to zrobić i zrobić to prawidłowo, jednocześnie ciesząc się z dobrze działającej usługi, ale albo utrzymanie tego jest koszmarem, albo wymaga dodatkowych nakładów pieniężnych niewspółmiernych do korzyści, albo zwyczajnie korzysta się z tego realnie bardzo rzadko.

Własny serwer pocztowy

Przerabiałem temat u siebie, ale mając własny serwer pocztowy, zbudowany w pełni u siebie, bez dodatkowych providerów, na domenie innej, niż wysokiego poziomu krajowa (ale mocna typu .pl albo .de, albo inna, jak .com, co jednak winduje cenę domeny) utrzymanie tego, zabezpieczenie, wyjście z blacklist, list antyspamowych, zadbanie o dostarczanie poczty w krytycznych momentach (bo gmail czy inny outlook uzna, że meile z twojej domeny wylądują w spamie) wymaga długotrwałego pajacowania, które jest niewspółmierne do włożonej pracy. Użyj zwykłej poczty, zwykłego serwera pocztowego, a jak chcesz pchać w świat meile z własnej domeny, kup usługę u providera typu Zoho Mail, zapłać parę groszy na rok i miej święty spokój. Serio.

Menedżer haseł hostowany lokalnie

Instytucja menedżera haseł jest wspaniała. Kusząca jest też opcja trzymania tych haseł w lokalnej aplikacji. Niemniej nie uważam tego, aby to był świetny pomysł. Duzi dostawcy, tacy jak Bitwarden raczej zapewnią lepsze zabezpieczenie swojej infrastruktury przed atakami, chociażby spowodowanymi idiotycznymi błędami firewalla (które w domu się często mogą zdarzyć) czy zabezpieczenie się przed utratą zasilania. Przechowywanie haseł w samo-hostowanej aplikacji jest po prostu dość ryzykowne. Wyższe SLA zapewni ci inny dostawca, niż ty sam.

Serwer filmów/muzyki/multimediów

Dość kontrowersyjne, ale śpieszę z wyjaśnieniami. Przerabiałem temat u siebie, ale aby to działało dobrze (w przypadku filmów to trzymanie kolekcji filmografii Tori Black, dyskografii Zenka a także wszystkich odcinków Klanu), potrzebujemy trochę miejsca na dysku, a także coś, co nam pliki wideo obsłuży sprzętowo. Mam na myśli GPU, które swój prąd wciągnąć musi, raczej trzeba szukać modeli pasywnych, albo po prostu cichych. Jeśli nie mamy wystarczającej wiedzy, możemy się od tematu odbić sromotnie. Można to robić na CPU, ale wówczas utylizacja procesora wywala w kosmos, temperatura rośnie, ludzie umierają, dzieci płaczą, krowy mleka nie dają, hałas wiatraczka zaczyna być słyszalny. Gdzieś w tej kolejności. Jeśli nie będziesz dekodować sprzętowo wideo, albo nie masz kolekcji filmów, które jednak musisz mieć pod ręką, odpuść sobie, przynajmniej na początku, serio.

Czytnik RSS

Ktoś pamięta, czym jest RSS? Mi zdarzało się używać tego, ale po czasie zawsze zarzucałem ideę bycia z subskrybowanymi newsami na bieżąco, niezależnie jak ciekawe by nie były. Jeśli nie jesteś zapalonym subskrybentem Gościa Niedzielnego, raczej nie znajdziesz dłuższego zastosowania dla takiego serwisu.

Własny serwer kontroli wersji plików

Kojarzysz GitHub? Skup się na początku na nim, działa serio dobrze. Nie ma sensu budować na samym starcie takiego repozytorium lokalnie, jeśli nie do końca ogarniasz jego zasady działania. Jednocześnie świeże środowiska są często psute, czasami przypadkowo, czasami mniej. Póki tego nie ogarniasz, zostaw to w spokoju, serio, pójdź w kierunku prywatnych repo w GitHubie.

Słowem zakończenia

Lista oczywiście nie jest kompletna, jednak zawiera kilka mocnych punktów, które są warte przegadania, przynajmniej w mojej opinii. Nikt nie zabrania odpalania wszystkiego jak leci, niemniej uważam, że pewne narzędzia powinny mieć priorytet nad resztą, szczególnie te związane z bezpieczeństwem. Pamiętaj, aby odpowiedzialnie podchodzić do tematu eksponowania aplikacji na świat i na prawdę sprawdzać dwa razy, czy nie robisz sobie krzywdy. Dopóki używasz sprawdzonych, dość popularnych narzędzi, prawdopodobieństwo, że coś pójdzie nie tak jest niskie. Najważniejsze to zrozumieć, jak działa dane narzędzie, niezależnie od jego opinii, bo dobrze skonfigurowana i zabezpieczone aplikacja o trochę gorsze opinii będzie bezpieczniejsza, niż uwielbiany, ale gównianie skonfigurowany serwis.

Źródła


0 komentarzy

Dodaj komentarz

Avatar placeholder

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *