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.

Articles similaires