Wybór metod uwierzytelniania SOCKS5 w Dante
Zrozum, jak Dante wybiera zaoferowaną metodę uwierzytelniania SOCKS5 i jak kolejność metod zmienia politykę, której doświadczają klienci.
W SOCKS5 uwierzytelnianie jest negocjowane, zanim klient wyśle żądanie celu. Dzięki temu wczesny błąd poświadczeń jest innym zdarzeniem niż błąd FTP, HTTPS lub innej aplikacji za proxy.
Powitanie klienta wylicza obsługiwane metody uwierzytelniania. Serwer wybiera jedną metodę z tej listy i odsyła wybór. Wartość 0xff oznacza, że żadna zaoferowana metoda nie jest akceptowalna i połączenie musi zostać zamknięte. Klient nie po prostu wypróbowuje po kolei każdej metody po stronie serwera po nieudanym haśle.
Czym steruje kolejność w Dante
Dante 1.4.x nazywa ustawienie na poziomie protokołu socksmethod. Jego dokumentacja mówi, że metody są wymieniane w kolejności preferencji. Dla polityki dopuszczającej obie metody ta deklaracja preferuje nazwę użytkownika/hasło, gdy klient je zaoferuje:
socksmethod: username noneOdwrócenie listy preferuje dostęp nieuwierzytelniony, gdy oferowane są obie metody:
socksmethod: none usernameTo alternatywne deklaracje metod, a nie pełne konfiguracje serwera. Interfejsy nasłuchujące, dozwoleni klienci, reguły celu i wszelkie ograniczenia uwierzytelniania specyficzne dla reguły nadal mają znaczenie.
Zezwolenie na none ma konkretną konsekwencję: klient oferujący tylko brak uwierzytelniania może zostać zaakceptowany na podstawie obowiązujących reguł. Umieszczenie username na początku nie zamienia listy zawierającej none w wymóg, by wszyscy podawali hasło.
Najpierw wybierz wymaganie
Jeśli każdy dozwolony klient musi uwierzytelniać się nazwą użytkownika/hasłem, skonfiguruj to wymaganie spójnie w regułach globalnych i obowiązujących zamiast dodawać none jako ogólną poprawkę zgodności. Jeśli dostęp anonimowy jest zamierzony dla ograniczonej grupy klientów, uczyń grupę i jej dozwolone cele jawnymi.
Dante ma też clientmethod, które dotyczy sprawdzeń wykonywanych przy połączeniu klienta TCP, przed negocjacją SOCKS. To osobna warstwa od metod wymienianych w powitaniu SOCKS5. Fragmenty konfiguracji używające starszego słowa kluczowego method należy czytać zgodnie z podręcznikiem zainstalowanej wersji Dante.
Gdy dwa klienty zachowują się różnie, porównaj, co każdy oferuje, co wybiera Dante i czy pod-negocjacja wybranej metody się powodzi. Następnie sprawdź odpowiedź celu SOCKS. Ta sekwencja identyfikuje brakujące wywołanie zwrotne poświadczeń bez przypisywania każdego błędu FTP ani zmieniania na ślepo polityki uwierzytelniania serwera.
Wreszcie uwierzytelnianie nazwą użytkownika/hasłem w SOCKS5 nie szyfruje wymiany hasła. Używaj odpowiednio chronionego transportu lub sieci, gdy te poświadczenia wymagają poufności.