En begränsad SOCKS5-server med Dante
Konfigurera Dante 1.4.4 med en bestämd lyssnare, en tillåten klient och ett tillåtet mål, och skilj mellan dess två regelsteg.
Dante gör två åtkomstkontroller: en klientregel släpper in en inkommande källa och en SOCKS-regel tillåter det begärda målet och kommandot. Det här exemplet för Dante 1.4.4 låter en klient nå ett kontrollerat mål på port 443.
Tjänstens identitet och adresser
Skapa ett särskilt konto med låg behörighet om installationen inte tillhandahåller ett:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Båda identiteterna kan använda kontot i konfigurationen nedan, som använder en hög port och en lista över tillåtna källor. Lösenordsautentisering eller privilegierade funktioner kräver att inställningarna granskas igen. Byt alla dokumentationsadresser före användning.
logoutput: stderr
internal: 192.0.2.10 port = 1080
external: 192.0.2.10
clientmethod: none
socksmethod: none
user.privileged: danteproxy
user.unprivileged: danteproxy
client pass {
from: 198.51.100.27/32 to: 192.0.2.10/32 port = 1080
log: connect error
}
socks pass {
from: 198.51.100.27/32 to: 203.0.113.20/32 port = 443
command: connect
log: connect error
}
internal väljer lyssnaren mot klienterna; external väljer den utgående adressen. En server med ett gränssnitt kan använda samma tilldelade adress för båda. Ett gränssnittsnamn kan också användas där det passar; kontrollera vilka adresser det expanderas till.
Vad den här policyn tillåter
Den första regeln släpper in den angivna källan till lyssnaren. Den andra tillåter bara CONNECT till det angivna målet. Förfrågningar som inte matchar förblir blockerade, inklusive BIND och UDP ASSOCIATE.
Metodinställningarna ger ingen användarnamnsautentisering. Åtkomsten beror på den snäva källregeln och dess nätverksgräns. Upplägget passar bara där den källan identifierar en behörig klient.
sockd -V -f /path/to/sockd.conf
Vissa distributioner kallar den körbara filen danted. Kontrollera konfigurationen med det installerade kommandot innan tjänsten startas. Lägg motsvarande källbegränsningar i brandväggen och testa sedan både det tillåtna målet och ett kontrollerat mål som ska nekas.