Ein eingeschränkter SOCKS5-Server mit Dante
Richten Sie Dante 1.4.4 mit festem Listener, einem erlaubten Client und einem erlaubten Ziel ein und unterscheiden Sie die beiden Regelstufen.
Dante führt zwei Zugriffskontrollen aus: Eine Client-Regel lässt eine eingehende Quelle zu, eine SOCKS-Regel erlaubt angefordertes Ziel und Kommando. Dieses Beispiel für Dante 1.4.4 lässt einen Client ein kontrolliertes Ziel auf Port 443 erreichen.
Dienstidentität und Adressen
Legen Sie ein eigenes Konto mit geringen Rechten an, falls die Installation keines mitliefert:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Beide Identitäten können für die folgende Konfiguration mit hohem Port und Quellenfreigabe dieses Konto nutzen. Passwortauthentifizierung oder privilegierte Funktionen erfordern eine erneute Prüfung dieser Einstellungen. Ersetzen Sie vor dem Einsatz sämtliche Dokumentationsadressen.
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 wählt den clientseitigen Listener, external die ausgehende Adresse. Ein Server mit einer Netzwerkschnittstelle kann für beide dieselbe zugewiesene Adresse nutzen. Wo passend, ist auch ein Schnittstellenname möglich; prüfen Sie, auf welche Adressen er aufgelöst wird.
Was diese Richtlinie erlaubt
Die erste Regel lässt die angegebene Quelle zum Listener zu. Die zweite erlaubt nur CONNECT zum angegebenen Ziel. Nicht passende Anfragen bleiben gesperrt, einschließlich BIND und UDP ASSOCIATE.
Die Methodeneinstellungen bieten keine Benutzernamenauthentifizierung. Der Zugriff beruht auf der engen Quellregel und ihrer Netzwerkgrenze. Diese Anordnung eignet sich nur dort, wo die Quelle einen autorisierten Client identifiziert.
sockd -V -f /path/to/sockd.conf
Manche Distributionen nennen die ausführbare Datei danted. Prüfen Sie die Konfiguration mit dem installierten Kommando, bevor Sie den Dienst starten. Setzen Sie passende Quellbeschränkungen an der Firewall um und testen Sie dann das erlaubte Ziel sowie ein kontrolliertes Ziel, das abgewiesen werden soll.