Un serveur SOCKS5 à accès restreint avec Dante
Configurez Dante 1.4.4 avec un point d’écoute précis, un client autorisé et une destination autorisée, en distinguant les deux étapes de règles.
Dante applique deux contrôles d’accès : une règle client admet une source entrante, et une règle SOCKS autorise la destination et la commande demandées. Cet exemple pour Dante 1.4.4 permet à un client d’atteindre une destination contrôlée sur le port 443.
Identité du service et adresses
Créez un compte dédié à faibles privilèges si l’installation n’en fournit pas :
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Les deux identités peuvent utiliser ce compte dans la configuration ci-dessous, qui emploie un port élevé et une liste de sources autorisées. L’authentification par mot de passe ou les fonctions privilégiées exigent de réexaminer ces réglages. Remplacez toutes les adresses de documentation avant utilisation.
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 sélectionne le point d’écoute côté client ; external choisit l’adresse de sortie. Un serveur à une seule interface peut utiliser la même adresse attribuée pour les deux. Un nom d’interface peut aussi convenir ; vérifiez les adresses auxquelles il correspond.
Ce que cette politique autorise
La première règle admet la source indiquée au point d’écoute. La seconde autorise uniquement CONNECT vers la cible indiquée. Les requêtes sans correspondance restent bloquées, y compris BIND et UDP ASSOCIATE.
Les réglages de méthode ne fournissent pas d’authentification par nom d’utilisateur. L’accès dépend de la règle de source étroite et de sa frontière réseau. Ce dispositif ne convient que là où cette source identifie un client autorisé.
sockd -V -f /path/to/sockd.conf
Certaines distributions nomment l’exécutable danted. Vérifiez la configuration avec la commande installée avant de démarrer le service. Appliquez les restrictions de source correspondantes au pare-feu, puis testez la cible autorisée et une cible contrôlée qui doit être refusée.