48
правок
Admin (обсуждение | вклад) Нет описания правки |
Admin (обсуждение | вклад) Нет описания правки |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 2: | Строка 2: | ||
<br> | <br> | ||
Dante — это прокси-сервер SOCKS с открытым исходным кодом. SOCKS — менее широко используемый протокол, но он более эффективен для некоторых одноранговых приложений и предпочтительнее HTTP для некоторых видов трафика. Начните с выполнения следующих команд от имени пользователя без полномочий root, чтобы обновить списки пакетов и установить Dante: | '''Dante''' — это прокси-сервер '''SOCKS''' с открытым исходным кодом. '''SOCKS''' — менее широко используемый протокол, но он более эффективен для некоторых одноранговых приложений и предпочтительнее '''HTTP''' для некоторых видов трафика. Начните с выполнения следующих команд от имени пользователя без полномочий '''root''', чтобы обновить списки пакетов и установить '''Dante''': | ||
sudo apt update | sudo apt update | ||
| Строка 61: | Строка 61: | ||
* '''internal''' сведения о соединении '''указывают порт''', на котором '''работает служба, и какие IP-адреса''' могут подключаться. | * '''internal''' сведения о соединении '''указывают порт''', на котором '''работает служба, и какие IP-адреса''' могут подключаться. | ||
* '''externalс''' ведения о соединении указывают сетевой интерфейс, используемый для исходящих подключений, '''eth0''' по умолчанию на большинстве серверов. | * '''externalс''' ведения о соединении указывают сетевой интерфейс, используемый для исходящих подключений, '''eth0''' по умолчанию на большинстве серверов. | ||
Остальные детали конфигурации касаются методов аутентификации, которые обсуждаются в следующем разделе. Не забудьте '''открыть порт 1080''' в брандмауэре, если вы используете '''ufw''': | |||
sudo ufw allow 1080 | |||
На этом этапе вы можете перезапустить Dante и подключиться к нему, но у вас будет сервер SOCKS, открытый для всего мира, что вам, вероятно, не нужно, поэтому сначала вы узнаете, как его защитить. | |||
Шаг 2 — Обеспечение безопасности Данте | |||
Если вы до сих пор следовали этому руководству, Dante будет использовать обычные учетные записи пользователей Linux для аутентификации. Это полезно, но пароль, используемый для этого соединения, будет отправлен в виде обычного текста, поэтому важно создать выделенного пользователя SOCKS, у которого не будет никаких других привилегий для входа. Для этого вы будете использовать useraddфлаги, которые не будут назначать пользователю оболочку входа, а затем установите пароль: | |||
sudo useradd -r -s /bin/false your_dante_user | |||
sudo passwd your_dante_user | |||
Вам также следует избегать входа в эту учетную запись через незащищенное беспроводное соединение или слишком широкого общего доступа к серверу. В противном случае злоумышленники могут и будут предпринимать неоднократные попытки войти в систему. | |||
Dante поддерживает другие методы аутентификации, но многие клиенты (например, приложения), которые будут подключаться к прокси-серверам SOCKS, поддерживают только базовую аутентификацию по имени пользователя и паролю, поэтому вы можете оставить эту часть как есть. В качестве альтернативы вы можете ограничить доступ только к определенным IP-адресам. Это не самый сложный вариант, но, учитывая сочетание используемых здесь технологий, он вполне разумен. Возможно, вы уже узнали, как ограничить доступ к определенным IP-адресам, '''ufw''' из наших обязательных руководств, но вы также можете сделать это непосредственно в Dante. Отредактируйте свой '''/etc/danted.conf''': | |||
sudo nano /etc/danted.conf | |||
… | |||
client pass { | |||
from: your_ip_address/0 to: 0.0.0.0/0 | |||
} | |||
Чтобы поддерживать несколько IP-адресов, вы можете использовать [https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking нотацию CIDR] или просто добавить еще один '''client pass {}''' блок конфигурации: | |||
client pass { | |||
from: your_ip_address/0 to: 0.0.0.0/0 | |||
}<br> | |||
client pass { | |||
from: another_ip_address/0 to: 0.0.0.0/0 | |||
} | |||
После этого вы, наконец, можете перезапустить Dante с изменениями конфигурации. | |||
sudo systemctl restart danted.service | |||
На этот раз, когда вы проверите статус службы, вы должны увидеть, что она работает без каких-либо ошибок: | |||
systemctl status danted.service | |||
Output | |||
● danted.service - SOCKS (v4 and v5) proxy daemon (danted) | |||
Loaded: loaded (/lib/systemd/system/danted.service; enabled; vendor preset: enable> | |||
Active: active (running) since Thu 2021-12-16 18:06:26 UTC; 24h ago | |||
На следующем шаге вы наконец подключитесь к своему прокси. | |||
Шаг 3 — Подключение через Dante | |||
Чтобы продемонстрировать свой сервер Dante, вы будете использовать программу командной строки под названием '''curl''', которая популярна для выполнения различных типов веб-запросов. В общем, если вы хотите проверить, должно ли данное соединение работать в браузере в идеальных обстоятельствах, вам всегда следует сначала протестировать его с помощью '''curl'''. Для этого вы будете использовать '''Curl''' на своем '''локальном компьютере — он установлен по умолчанию во всех современных средах Windows, Mac и Linux, поэтому вы можете открыть любую локальную оболочку для запуска этой команды:''' | |||
curl -v -x socks5://your_dante_user:your_dante_password@your_server_ip:1080 http://www.google.com/ | |||
Output | |||
* Trying 138.197.103.77... | |||
* TCP_NODELAY set | |||
* SOCKS5 communication to www.google.com:80 | |||
* SOCKS5 connect to IPv4 142.250.189.228 (locally resolved) | |||
* SOCKS5 request granted. | |||
* Connected to 138.197.103.77 (138.197.103.77) port 1080 (#0) | |||
> GET / HTTP/1.1 | |||
… | |||
Учетные данные, которые вы использовали, '''curl''' теперь должны работать везде, где вы, возможно, захотите использовать новый прокси-сервер. | |||