Rozwiązanie społecznościowe

Napraw błędy nieautoryzowanego dostępu w interfejsie WebUI qBittorrent w systemie ZimaOS

A ZimaOS qBittorrent thread found that an Unauthorized page could sometimes be bypassed by opening the server with an explicit http:// URL, while later users also needed the temporary WebUI password printed in the container logs.

Zwykła biała strona Unauthorized w qBittorrent nie zawsze oznacza ten sam problem co wpisanie nieprawidłowej nazwy użytkownika lub hasła. Wątek społeczności IceWhale opisuje obie sytuacje: niektórzy użytkownicy nie mogli prawidłowo otworzyć WebUI qBittorrent, dopóki nie otworzyli serwera ZimaOS za pomocą jawnego adresu http://, natomiast późniejsi użytkownicy docierali do ekranu logowania, ale nie wiedzieli, gdzie zapisane jest wygenerowane hasło qBittorrent.

Najbezpieczniejsze podejście diagnostyczne polega więc na rozdzieleniu walidacji żądania WebUI od uwierzytelniania WebUI. Najpierw upewnij się, że przeglądarka łączy się z qBittorrent za pośrednictwem prawidłowego adresu URL i protokołu. Dopiero po załadowaniu ekranu logowania zajmij się nazwą użytkownika administratora i tymczasowym hasłem.

Najpierw wypróbuj jawny adres http://

W odpowiedzi społeczności z lutego 2025 roku poinformowano, że samo dodanie http:// przed adresem IP serwera rozwiązało problem ze stroną Unauthorized:

http://ZIMAOS_LAN_IP:QBITTORRENT_PORT

Później inny użytkownik potwierdził, że dzięki temu dotarł do strony logowania WebUI qBittorrent.

Użyj rzeczywistego portu WebUI qBittorrent po stronie hosta, wyświetlanego w ustawieniach aplikacji ZimaOS. Jeśli aplikacja bezpośrednio udostępnia port 8080, adres URL może wyglądać tak:

http://192.168.1.50:8080

Nie zakładaj, że każdy pakiet qBittorrent w ZimaOS korzysta z tego samego portu hosta.

Dlaczego sam adres URL może powodować błąd „Unauthorized”?

WebUI qBittorrent zawiera mechanizmy bezpieczeństwa wykraczające poza formularz logowania. Aktualny kod źródłowy qBittorrent może zwrócić odpowiedź Unauthorized, gdy walidacja nagłówka Host lub ochrona przed żądaniami z innych witryn odrzuci żądanie.

Oznacza to, że poniższe elementy mogą zachowywać się inaczej:

192.168.1.50:8080
http://192.168.1.50:8080
https://192.168.1.50:8080
https://some-dashboard-link.example/...

jeśli przeglądarka, pulpit, odwrotne proxy, serwer źródłowy lub protokół powodują wysyłanie innych nagłówków żądania. Wynik uzyskany przez społeczność nie dowodzi, że każda strona Unauthorized jest spowodowana brakiem http://, ale sprawia, że jawny adres LAN jest dobrym pierwszym krokiem diagnostycznym.

Prywatne okno przeglądarki to narzędzie diagnostyczne, a nie kompletne rozwiązanie

Pierwsza sugestia społeczności polegała na wypróbowaniu prywatnego okna przeglądarki. Jeden z użytkowników poinformował, że zadziałało to raz, co początkowo wskazywało na problem z plikami cookie. Późniejsze testy wykazały jednak, że przeglądanie prywatne nie rozwiązuje problemu konsekwentnie.

Użyj okna incognito/prywatnego, aby wykluczyć nieaktualne dane sesji, ale nie kończ na tym diagnostyki. Jeśli błąd powróci, sprawdź jawny adres HTTP i przejrzyj logi qBittorrent.

Jeśli widzisz ekran logowania, rozwiąż problem z hasłem osobno

Później inny użytkownik mógł dotrzeć do strony logowania qBittorrent po dodaniu http:// ale następnie wypróbował kombinacje hasła ZimaOS, pustego hasła oraz adminTe dane uwierzytelniające nie muszą być ze sobą powiązane.

Nowsze wersje qBittorrent zmieniły sposób uwierzytelniania w interfejsie WebUI przy pierwszym uruchomieniu. Zgodnie z aktualną oficjalną dokumentacją odzyskiwania hasła qBittorrent wersje 4.6.1 i nowsze mogą podać tymczasowe hasło do interfejsu WebUI, gdy nie skonfigurowano żadnego hasła.

W wątku społeczności odpowiedni fragment logu kontenera wyglądał tak:

Nazwa użytkownika administratora interfejsu WebUI to: admin
Nie ustawiono hasła administratora interfejsu WebUI.
Na potrzeby tej sesji podano tymczasowe hasło:

Rzeczywiste tymczasowe hasło pojawi się w danych wyjściowych kontenera po tym komunikacie.

Jak uzyskać tymczasowe hasło qBittorrent w ZimaOS

W odpowiedzi społeczności zasugerowano otwarcie terminala internetowego ZimaOS i uruchomienie:

docker logs qbittorrent

Dokładna nazwa kontenera może się różnić, więc jeśli to polecenie zgłosi, że kontener nie istnieje, najpierw go zidentyfikuj:

docker ps --format '{{.Names}}' | grep -i qbit

Następnie odczytaj odpowiednie logi kontenera.

Po zalogowaniu natychmiast ustaw własne silne hasło do interfejsu WebUI w opcjach WebUI qBittorrent. Tymczasowe hasło wygenerowane podczas sesji nie powinno stać się stałym hasłem.

Informacje o bieżącym sposobie odzyskiwania dostępu znajdziesz w dokumentacji odzyskiwania hasła do interfejsu WebUI qBittorrent.

Co zrobić, gdy docker logs zwraca błąd odmowy dostępu?

W ostatniej odpowiedzi w wątku społeczności podano:

OSTRZEŻENIE: Błąd wczytywania pliku konfiguracyjnego: otwarcie /DATA/.docker/config.json: odmowa dostępu

odmowa dostępu podczas próby połączenia z gniazdem demona Docker pod adresem unix:///var/run/docker.sock

To problem z uprawnieniami hosta Dockera, a nie błąd hasła qBittorrent. Użytkownik powłoki uruchamiający docker logs nie ma uprawnień do komunikowania się z demonem Docker.

Użyj autoryzowanej procedury terminala administracyjnego ZimaOS do diagnostyki platformy Docker. Nie wykonuj /var/run/docker.sock z prawami zapisu dla wszystkich i nie rozszerzaj ogólnie uprawnień hosta tylko po to, aby odczytać jeden log.

Nie zakładaj, że adminadmin jest obecnie domyślnym hasłem

Starsza dokumentacja i wcześniejsze wydania qBittorrent często używały:

Nazwa użytkownika: admin
Hasło: adminadmin

Aktualna dokumentacja odzyskiwania qBittorrent rozróżnia wersje wcześniejsze i późniejsze niż 4.6.1. W nowszych wydaniach usunięcie skonfigurowanego hasła lub jego brak powoduje wyświetlenie przez qBittorrent hasła tymczasowego zamiast prostego przywrócenia przewidywalnego stałego hasła domyślnego.

Dlatego gdy ZimaOS informuje, aby „pobrać z logu”, użyj logów kontenera zamiast wielokrotnie próbować adminadmin.

Ustaw stałą nazwę użytkownika i hasło WebUI

Gdy uda Ci się zalogować:

  1. Otwórz Narzędzia > Opcje > WebUI.
  2. Ustaw silne hasło WebUI.
  3. Zachowaj nazwę użytkownika administratora lub zmień ją zgodnie z opcjami dostępnymi w zainstalowanej wersji.
  4. Zapisz ustawienia.
  5. Otwórz nową sesję przeglądarki i potwierdź, że nowe dane uwierzytelniające działają.

Odpowiedź społeczności sugerowała również pominięcie uwierzytelniania dla klientów localhost. Nie włączaj pomijania uwierzytelniania szerzej, niż jest to konieczne. WebUI qBittorrent umożliwia dodawanie pobrań i zmianę ustawień aplikacji, dlatego dostęp powinien pozostać ograniczony do zaufanych klientów.

Nie wyłączaj ochrony nagłówka Host ani ochrony CSRF jako pierwszego rozwiązania

qBittorrent zawiera zabezpieczenia nagłówka Host i CSRF z konkretnego powodu. Ich globalne wyłączenie może zwiększyć ekspozycję WebUI oraz ukryć błędnie skonfigurowane odwrotne proxy lub link do pulpitu.

Jeśli bezpośredni dostęp przez:

http://ZIMAOS_LAN_IP:PORT

działa, ale niestandardowa domena lub link do odwrotnego proxy zwraca komunikat Unauthorized, skonfiguruj proxy tak, aby wysyłało prawidłowe informacje o hoście i originie, oraz postępuj zgodnie z aktualnymi zaleceniami qBittorrent dotyczącymi odwrotnego proxy. Nie ustawiaj rozwiązań opartych na liberalnych symbolach wieloznacznych wyłącznie po to, aby usunąć błąd.

Sprawdź logi qBittorrent pod kątem konkretnego odrzucenia WebUI

Aktualny kod WebUI qBittorrent rejestruje takie sytuacje, jak nieprawidłowe nagłówki Host lub niezgodność origin. Jeśli przeglądarka wyświetla komunikat Unauthorized przed stroną logowania, podczas odtwarzania żądania sprawdź logi kontenera.

Mogą pojawić się komunikaty wskazujące na:

  • weryfikacja nagłówka Host;
  • niezgodność Origin lub Referer;
  • nieudane uwierzytelnianie;
  • generowanie hasła tymczasowego;
  • lub niezwiązany problem z uruchamianiem aplikacji.

Jest to bardziej niezawodne niż uznawanie każdej strony w stylu 401 za problem z plikami cookie.

Lista kontrolna rozwiązywania problemów z „Unauthorized” w qBittorrencie

  1. Potwierdź, że kontener qBittorrenta jest uruchomiony.
  2. Sprawdź bieżący port hosta ZimaOS dla WebUI qBittorrenta.
  3. Otwórz jawnie podany adres URL http://ZIMAOS_LAN_IP:PORT.
  4. Spróbuj użyć prywatnego okna przeglądarki wyłącznie w celu zdiagnozowania sesji lub pamięci podręcznej.
  5. Jeśli pojawia się strona logowania, przestań diagnozować nagłówki Host i uzyskaj rzeczywiste dane uwierzytelniające qBittorrenta.
  6. W qBittorrent 4.6.1 i nowszych sprawdź logi kontenera w poszukiwaniu tymczasowego hasła, jeśli nie ustawiono stałego hasła.
  7. Po zalogowaniu ustaw nowe, silne hasło WebUI.
  8. Jeśli dostęp bezpośrednio przez adres IP działa, ale przez proxy lub domenę nie, sprawdź konfigurację nagłówków Host/Origin w odwrotnym proxy.
  9. Nie wyłączaj globalnie kontroli bezpieczeństwa WebUI qBittorrenta jako pierwszego sposobu obejścia problemu.
  10. Jeśli nie można odczytać logów Dockera, rozwiąż osobno problem z dostępem administracyjnym do hosta.

qBittorrent „Unauthorized” w ZimaOS — często zadawane pytania

Dlaczego dodanie http:// naprawiło stronę „Unauthorized”?

Wymusiło użycie przez przeglądarkę oczekiwanego źródła HTTP zamiast odmiennej interpretacji lub automatycznego przejścia na inny adres. qBittorrent przeprowadza walidację hosta WebUI i żądań między witrynami, dlatego protokół i nagłówki żądania mogą wpływać na to, czy żądanie zostanie zaakceptowane.

Jakie jest hasło WebUI qBittorrenta w systemie ZimaOS?

Zależy to od zainstalowanej wersji qBittorrenta i istniejącej konfiguracji. W nowoczesnych wersjach, gdy nie skonfigurowano hasła, qBittorrent może wygenerować tymczasowe hasło i wyświetlić je w logach kontenera. ZimaOS może wyraźnie poinstruować, aby pobrać hasło z tych logów.

Czy admin/adminadmin nadal jest domyślnym hasłem?

Nie polegaj na tym w przypadku obecnych wydań qBittorrenta. W wersji 4.6.1 projekt qBittorrenta zmienił obsługę hasła przy pierwszym uruchomieniu, więc nieustawione hasło WebUI może skutkować wygenerowaniem tymczasowego hasła.

Niekoniecznie. Tryb prywatny tymczasowo pomógł jednemu użytkownikowi społeczności, ale późniejsze testy nie wykazały, że problem znika w sposób powtarzalny. Możliwymi przyczynami są również walidacja adresu URL/protokołu oraz zabezpieczenia WebUI po stronie serwera.

Dlaczego polecenie docker logs qbittorrent zwraca błąd odmowy dostępu do gniazda Dockera?

Bieżące konto terminala nie ma uprawnień do dostępu do demona Dockera. Nie ma to związku z uwierzytelnianiem qBittorrenta. Użyj autoryzowanej powłoki administracyjnej zamiast osłabiać uprawnienia do gniazda Dockera.