Making Services Safe: A Journey to Secure My Favorite Apps
As someone who’s passionate about self-hosting and online security, I recently found myself facing a challenge that I’m sure many of you can relate to. I had set up a VPS with Pangolin, a reverse proxy, and Geoblocking, and CrowdSec to create a safe connection from the outside. However, I soon realized that some services like Jellyfin and Immich didn’t support having an auth layer in front, which made me wonder: how can I make them secure while still maintaining their functionality?
My Initial Setup
I started by setting up a VPS with Pangolin, which offers authentication, and a reverse proxy to direct incoming requests to my services. I also enabled Geoblocking to restrict access to my services based on location and CrowdSec to detect and prevent brute-force attacks. It was a solid setup, but I soon realized that not all services were created equal when it came to security.
The Problem with Jellyfin and Immich
Jellyfin and Immich are two services that I use regularly, but they don’t support having an auth layer in front. This meant that I had to find alternative ways to secure them without breaking their functionality. I started by researching online and talking to other self-hosting enthusiasts, and that’s when I stumbled upon a Reddit post that changed everything.
A Community-Driven Solution
The post was from someone who had faced a similar challenge, and the comments section was filled with suggestions and ideas from other users. It was amazing to see how the community came together to help each other out. I realized that I wasn’t alone in this struggle, and that there were many others who had found creative solutions to this problem.
Subauth and Other Solutions
One of the solutions that caught my attention was Subauth, a lightweight authentication server that can be used to secure services that don’t support auth out of the box. It was a simple yet elegant solution that allowed me to add an extra layer of security to my services without breaking their functionality. I also explored other solutions, such as using a VPN or a separate authentication service, but Subauth seemed like the most straightforward and effective solution.
Implementing Subauth
Implementing Subauth was relatively straightforward. I set it up as a separate service on my VPS, and configured it to authenticate requests to Jellyfin and Immich. I also made sure to configure the services to use Subauth for authentication, and it worked like a charm. I was able to access my services securely, without having to compromise on their functionality.
Lessons Learned
Through this experience, I learned the importance of community-driven solutions. The self-hosting community is filled with talented and passionate individuals who are willing to share their knowledge and expertise. I also learned that security doesn’t have to be complicated or overwhelming. With the right tools and solutions, it’s possible to create a secure and functional setup that meets your needs.
Conclusion
In conclusion, securing services that don’t support auth out of the box requires creativity and community-driven solutions. By using tools like Subauth and leveraging the knowledge and expertise of the self-hosting community, it’s possible to create a secure and functional setup that meets your needs. I hope that my story will inspire others to explore the world of self-hosting and online security, and to never be afraid to ask for help when faced with a challenge.
Zabezpieczanie Usług: Moja Podróż po Bezpieczne Aplikacje
Jako osoba zainteresowana hostowaniem własnym i bezpieczeństwem online, niedawno znalazłem się w sytuacji, z którą pewnie wielu z was może się utożsamiać. Zainstalowałem VPS z Pangolin, serwerem proxy wstecznym i Geoblockingiem, oraz CrowdSec, aby utworzyć bezpieczne połączenie z zewnątrz. Jednak szybko zdałem sobie sprawę, że niektóre usługi, takie jak Jellyfin i Immich, nie obsługują warstwy uwierzytelniania na przedzie, co sprawiło, że zacząłem się zastanawiać: jak mogę je zabezpieczyć, zachowując przy tym ich funkcjonalność?
Moj Pierwotny Setup
Zacząłem od zainstalowania VPS z Pangolin, które oferuje uwierzytelnianie, oraz serwera proxy wstecznego do kierowania przychodzących żądań do moich usług. Włączyłem również Geoblocking, aby ograniczyć dostęp do moich usług na podstawie lokalizacji, oraz CrowdSec, aby wykryć i zapobiec atakom siłowym. Był to solidny setup, ale szybko zdałem sobie sprawę, że nie wszystkie usługi zostały stworzone równie dobrze, jeśli chodzi o bezpieczeństwo.
Problem z Jellyfin i Immich
Jellyfin i Immich to dwie usługi, których używam regularnie, ale nie obsługują one warstwy uwierzytelniania na przedzie. To oznaczało, że musiałem znaleźć alternatywne sposoby, aby je zabezpieczyć, nie łamiąc przy tym ich funkcjonalności. Zacząłem szukać w internecie i rozmawiać z innymi entuzjastami hostowania własnego, i to wtedy natknąłem się na post na Reddit, który wszystko zmienił.
Rozwiązanie Oparte na Społeczności
Post był od kogoś, kto miał podobny problem, a sekcja komentarzy była wypełniona sugestiami i pomysłami od innych użytkowników. Było niesamowite zobaczyć, jak społeczność zjednoczyła się, aby pomóc sobie nawzajem. Zdałem sobie sprawę, że nie jestem sam w tej walce, i że są inni, którzy znaleźli kreatywne rozwiązania tego problemu.
Subauth i Inne Rozwiązania
Jednym z rozwiązań, które zwróciło moją uwagę, był Subauth, lekki serwer uwierzytelniania, który może być użyty do zabezpieczania usług, które nie obsługują uwierzytelniania out of the box. Było to proste, ale eleganckie rozwiązanie, które pozwoliło mi dodać dodatkową warstwę bezpieczeństwa do moich usług, nie łamiąc przy tym ich funkcjonalności. Badałem również inne rozwiązania, takie jak używanie VPN lub oddzielnego serwisu uwierzytelniania, ale Subauth wydawał się najbardziej prostym i skutecznym rozwiązaniem.
Wdrożenie Subauth
Wdrożenie Subauth było dość proste. Zainstalowałem go jako oddzielną usługę na moim VPS, i skonfigurowałem go do uwierzytelniania żądań do Jellyfin i Immich. Upewniłem się również, aby skonfigurować usługi do korzystania z Subauth do uwierzytelniania, i działało to bezproblemowo. Mogłem uzyskać dostęp do moich usług w sposób bezpieczny, nie kompromitując przy tym ich funkcjonalności.
Lekcje Nauczone
Przez to doświadczenie, nauczyłem się o ważności rozwiązań opartych na społeczności. Społeczność hostowania własnego jest wypełniona utalentowanymi i pasjonowanymi osobami, które są skłonne dzielić się swoją wiedzą i doświadczeniem. Nauczyłem się również, że bezpieczeństwo nie musi być skomplikowane lub przytłaczające. Z odpowiednimi narzędziami i rozwiązaniami, jest możliwe stworzenie bezpiecznego i funkcjonalnego setupu, który spełnia Twoje potrzeby.
Podsumowanie
Podsumowując, zabezpieczanie usług, które nie obsługują uwierzytelniania out of the box, wymaga kreatywności i rozwiązań opartych na społeczności. Korzystając z narzędzi takich jak Subauth i wykorzystując wiedzę i doświadczenie społeczności hostowania własnego, jest możliwe stworzenie bezpiecznego i funkcjonalnego setupu, który spełnia Twoje potrzeby. Mam nadzieję, że moja historia zainspiruje innych do eksplorowania świata hostowania własnego i bezpieczeństwa online, oraz nigdy nie będą się bali pytać o pomoc, kiedy napotkają wyzwanie.