Een afgeschermde SOCKS5-server met Dante
Configureer Dante 1.4.4 met een vaste listener, één toegestane client en één toegestane bestemming, en onderscheid de twee regelstappen.
Dante doet twee toegangscontroles: een clientregel laat een inkomende bron toe, een SOCKS-regel staat de gevraagde bestemming en opdracht toe. Dit voorbeeld voor Dante 1.4.4 laat één client één beheerde bestemming op poort 443 bereiken.
Service-identiteit en adressen
Maak een apart account met weinig rechten als de installatie dat niet levert:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Beide identiteiten kunnen dit account gebruiken voor de onderstaande configuratie met een hoge poort en een toegestane bron. Wachtwoordauthenticatie of bevoorrechte functies vragen om een nieuwe beoordeling van die instellingen. Vervang vóór gebruik alle documentatieadressen.
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 kiest de listener aan de clientkant; external kiest het uitgaande adres. Een server met één interface kan voor beide hetzelfde toegewezen adres gebruiken. Waar passend kan ook een interfacenaam worden gebruikt; controleer naar welke adressen die wordt uitgebreid.
Wat dit beleid toestaat
De eerste regel laat de opgegeven bron toe tot de listener. De tweede staat alleen CONNECT naar het opgegeven doel toe. Niet-passende verzoeken blijven geblokkeerd, ook BIND en UDP ASSOCIATE.
De methode-instellingen bieden geen gebruikersnaamauthenticatie. Toegang hangt af van de smalle bronregel en de netwerkgrens. Deze opzet is alleen geschikt waar die bron een bevoegde client identificeert.
sockd -V -f /path/to/sockd.conf
Sommige distributies noemen het uitvoerbare bestand danted. Controleer de configuratie met de geïnstalleerde opdracht voordat je de service start. Pas overeenkomende bronbeperkingen toe op de firewall en test daarna zowel het toegestane doel als een beheerd doel dat geweigerd moet worden.