Um servidor SOCKS5 restrito com Dante
Configure o Dante 1.4.4 com um listener específico, um cliente permitido e um destino permitido, distinguindo suas duas etapas de regras.
O Dante aplica duas verificações de acesso: uma regra de cliente admite a origem que chega e uma regra SOCKS permite o destino e o comando solicitados. Este exemplo do Dante 1.4.4 deixa um cliente acessar um destino controlado na porta 443.
Identidade do serviço e endereços
Crie uma conta dedicada com poucos privilégios caso a instalação não forneça uma:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
As duas identidades podem usar essa conta na configuração abaixo, com porta alta e lista de origens permitidas. Autenticação por senha ou recursos privilegiados exigem revisar essas configurações. Substitua todos os endereços de documentação antes do uso.
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 seleciona o listener voltado ao cliente; external seleciona o endereço de saída. Um servidor com uma interface pode usar o mesmo endereço atribuído nos dois casos. Um nome de interface também pode ser usado quando adequado; confira para quais endereços ele se expande.
O que essa política permite
A primeira regra admite a origem especificada no listener. A segunda permite somente CONNECT ao alvo especificado. Requisições sem correspondência continuam bloqueadas, incluindo BIND e UDP ASSOCIATE.
As configurações de método não fornecem autenticação por nome de usuário. O acesso depende da regra de origem restrita e de seu limite de rede. Esse arranjo só é adequado quando essa origem identifica um cliente autorizado.
sockd -V -f /path/to/sockd.conf
Algumas distribuições chamam o executável de danted. Verifique a configuração com o comando instalado antes de iniciar o serviço. Aplique restrições de origem correspondentes no firewall e depois teste o alvo permitido e um alvo controlado que deve ser negado.