Skip to main content

proxy

2022

Debugging tale of HTTP/1.0 healthcheck
·1705 words·9 mins
debugging http proxy load ballancer networking netcat

Time for a short tale about an interesting debugging challenge I had recently. Programming issue itself was not the hardest or most involving of all time, probably not even of this year for me, but the mixture of circumstances and debugging techniques used makes it worth telling.

Obviously, many details will be skipped, but I can mention some common components used. But keep in mind that’s a real-world scenario, so the initial environment could definitely be better.

2020

Ochrona własnego intranetu za pomocą rozwiązania Authelia i historia odejścia od web serwera Caddy
·1875 words·9 mins
blog.dsinf.net caddy https nginx proxy security
Jak większość osób mających małą sieć hostującą laba z eksperymentami i kilka prywatnych rozwiązań, które nie powinny być otwarte dla całego świata z szerokiego wachlarza powodów (od bezpieczeństwa infrastruktury po ratelimiting kluczy API zewnętrznych aplikacji) jednym z wyzwań, przed jakimi stoję, jest zabezpieczenie czegoś, co można by nazwać intranetem. Niekoniecznie VPNem, bo nie zewsząd da się do takowego podłączyć, a zwykle i tak chodzi o zestaw webaplikacji - nierzadko napisanych na kolanie bez cienia autoryzacji.

2019

Grafana bez logowania wystawiona na świat, ale z filtrowaniem IP
·381 words·2 mins
blog.dsinf.net grafana proxy sysadmin
Podczas tworzenia strony z metrykami w Grafanie którą chciałem wyświetlać w kilku miejscach w mojej sieci (m.in. na “stronie admina” która oprócz linków do wewnętrznych systemów ma też kilka wykresów) dotarłem do problemu niezbyt popularnego ale mimo wszystko występującego. Grafana sama z siebie posiada tryb auth.anonymous, który tworzy możliwość podglądu danych bez zalogowania, ale wystawienie takowego na świat ma 2 problemy - ujawniamy dane i umożliwiamy zajechanie serwera przez złych ludzi w Internecie - od prymitywnego ładowania maksymalnie długich zakresów na dashboardach po wykonywanie własnych kwerend na naszych datasource’ach - a więc nawet Postgresie.