Ograniczony serwer SOCKS5 z Dante
Skonfiguruj Dante 1.4.4 z konkretnym nasłuchem, jednym dozwolonym klientem i jednym celem, rozróżniając dwa etapy reguł.
Dante wykonuje dwie kontrole dostępu: reguła klienta dopuszcza przychodzące źródło, a reguła SOCKS zezwala na żądany cel i polecenie. Ten przykład dla Dante 1.4.4 pozwala jednemu klientowi dotrzeć do jednego kontrolowanego celu na porcie 443.
Tożsamość usługi i adresy
Utwórz dedykowane konto z małymi uprawnieniami, jeśli instalacja go nie dostarcza:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
Obie tożsamości mogą używać tego konta w poniższej konfiguracji z wysokim portem i listą dozwolonych źródeł. Uwierzytelnianie hasłem lub funkcje uprzywilejowane wymagają ponownego sprawdzenia tych ustawień. Przed użyciem zastąp wszystkie adresy dokumentacyjne.
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 wybiera nasłuch dla klientów, a external adres wyjściowy. Serwer z jednym interfejsem może użyć tego samego przypisanego adresu do obu. Tam, gdzie to właściwe, można też podać nazwę interfejsu; sprawdź, do jakich adresów się rozwija.
Na co pozwala ta polityka
Pierwsza reguła dopuszcza wskazane źródło do nasłuchu. Druga zezwala tylko na CONNECT do wskazanego celu. Niedopasowane żądania pozostają zablokowane, w tym BIND i UDP ASSOCIATE.
Ustawienia metod nie zapewniają uwierzytelniania nazwą użytkownika. Dostęp zależy od wąskiej reguły źródła i jego granicy sieciowej. Taki układ nadaje się tylko tam, gdzie to źródło identyfikuje uprawnionego klienta.
sockd -V -f /path/to/sockd.conf
Niektóre dystrybucje nazywają plik wykonywalny danted. Sprawdź konfigurację zainstalowanym poleceniem przed uruchomieniem usługi. Zastosuj odpowiednie ograniczenia źródła w zaporze, a następnie przetestuj dozwolony cel i kontrolowany cel, który ma być odrzucony.