V Dante 1.4.4 klientská pravidla přijímají spojení před vyjednáváním SOCKS, zatímco pravidla SOCKS rozhodují, které ověřené požadavky smějí pokračovat. Spojení z povoleného zdroje může ve druhé fázi stále vyžadovat uživatelské jméno.

Při ověřování uživatelským jménem operačního systému zkontrolujte kromě metody také identity služby. Čtení databáze účtů může vyžadovat privilegovanou identitu:

clientmethod: none
socksmethod: username
user.privileged: root
user.unprivileged: danteproxy

Použijte skutečný účet služby s nízkými oprávněními nainstalovaný pro Dante. Vytvořte nebo vyberte oprávněný klientský účet kompatibilní s backendem pro uživatelská jména; identita služby a přihlášení klienta mají různé role.

Zachovejte hranice požadavků

Za stávajícím úzce vymezeným klientským pravidlem požadujte účet na povolené trase SOCKS:

socks pass {
    from: 198.51.100.27/32 to: 203.0.113.20/32 port = 443
    command: connect
    socksmethod: username
    user: proxyuser
    log: connect error
}

Adresy a název účtu jsou zástupné hodnoty. Povoluje se tím jeden zdroj, jeden cíl, jeden příkaz a uvedený ověřený uživatel. Nenahrazujte tuto hranici neomezenými zdroji jen proto, že bylo přidáno heslo.

Globální nastavení metody a nastavení v pravidle se musí shodovat. Zkontrolujte, zda nezůstalo staré pravidlo pouze s none z konfigurace přístupu podle zdroje. Zachovejte také zamýšlená omezení naslouchajícího rozhraní a firewallu.

Vyjednávání a přístup testujte odděleně

Před spuštěním ověřte soubor režimem kontroly konfigurace nainstalovaného serveru. Pak použijte oprávněného klienta, který skutečně podporuje vyjednávání uživatelského jména a hesla SOCKS5. Vyzkoušejte chybějící údaje, nesprávné údaje i povolený účet žádající zakázaný cíl.

Podvyjednávání uživatelského jména a hesla definované v RFC 1929 heslo nešifruje. Pozdější relace HTTPS s cílem tuto dřívější výměnu s proxy nechrání. Použijte vhodně zabezpečenou cestu mezi klientem a serverem.

Úspěšná kontrola konfigurace potvrzuje syntaxi a identity, nikoli databázi účtů nebo síťovou cestu. V protokolech serveru zjistěte, která fáze odmítla skutečný test.

Související články