Un servidor SOCKS5 restringido con Dante
Configura Dante 1.4.4 con un punto de escucha concreto, un cliente permitido y un destino permitido, distinguiendo las dos etapas de reglas.
Dante aplica dos controles de acceso: una regla de cliente admite un origen entrante y una regla SOCKS permite el destino y el comando solicitados. Este ejemplo de Dante 1.4.4 deja que un cliente acceda a un destino controlado por el puerto 443.
Identidad del servicio y direcciones
Crea una cuenta dedicada con pocos privilegios si la instalación no incluye una:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Ambas identidades pueden usar esta cuenta en la configuración siguiente, que emplea un puerto alto y una lista de orígenes permitidos. La autenticación por contraseña o las funciones privilegiadas exigen revisar esos ajustes. Sustituye todas las direcciones de documentación antes de usarla.
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 elige el punto de escucha para el cliente; external elige la dirección de salida. Un servidor con una sola interfaz puede usar la misma dirección asignada en ambos casos. También puede usarse un nombre de interfaz cuando proceda; comprueba a qué direcciones se expande.
Qué permite esta política
La primera regla admite el origen indicado en el punto de escucha. La segunda solo permite CONNECT al objetivo indicado. Las peticiones sin coincidencia siguen bloqueadas, incluidas BIND y UDP ASSOCIATE.
Los ajustes de método no ofrecen autenticación por nombre de usuario. El acceso depende de la regla de origen limitada y de su frontera de red. Esta disposición solo es apropiada si ese origen identifica a un cliente autorizado.
sockd -V -f /path/to/sockd.conf
Algunas distribuciones llaman danted al ejecutable. Comprueba la configuración con el comando instalado antes de iniciar el servicio. Aplica en el cortafuegos restricciones de origen equivalentes y después prueba el objetivo permitido y otro controlado que debería ser rechazado.