Сегодня я опубликую практическую заметку, как в своей локальной сети поднять Socks
сервис в связке: 3proxy + Tor
для использования доступа к мессенджеру Telegram
. Все ниже описанное представлено только в образовательных целях и только для себя. Любое Вашего злоупотребление остается на Вашей совести.
Работает
1 2 3 |
ekzorchik@srv-bionic:~$ hg clone --insecure https://ekzorchik@172.35.35.8/hg/proxy ekzorchik@srv-bionic:~$ sudo ./proxy/proxy.sh |
tips_ubuntu_18_04_3proxy_v1.odt
а после эта заметка
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
ekzorchik@srv-bionic:~$ sudo apt-get install tor curl -y ekzorchik@srv-bionic:~$ sudo nano /etc/3proxy/3proxy.cfg #!/bin/3proxy daemon pidfile /var/run/3proxy/3proxy.pid setgid 1001 setuid 1001 nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 timeouts 1 5 30 60 180 1800 15 60 daemon log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" fakeresolve allow * parent 1000 socks5+ 127.0.0.1 9050 maxconn 50 socks -a -n -p50000 -i172.33.33.4 -e127.0.0.1 |
1 |
ekzorchik@srv-bionic:~$ sudo systemctl restart 3proxy && sudo systemctl status 3proxy | head -n5 |
Проверка:
1 |
ekzorchik@srv-bionic:~$ curl -v -x socks5://172.33.33.4:50000 https://www.ekzorchik.ru | head -n10 |
Проверка через сайт 2ip.ru
какой мой текущий IP
адрес — отображается другой не тот что предоставляет мне мой интернет провайдер. Так и задумано при использовании TOR
, работает.
Проверяю, как будет работать мессенжер Telegram
установленный на Ubuntu 18.04 Desktop amd64: Telegram — Настройки — Продвинутые настройки — (Сеть и прокси) — Тип соединения
— и изменяю:
Использовать собственный прокси: отмечаю галочкой
Добавить прокси -
выбираю Socks5
Хост: 172.33.33.4
Порт: 50000
и нажимаю «Сохранить
»
Задача: добавить в конфиг 3proxy
возможность подключения к админке (вывод не информативно и не нужно к использованию)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
ekzorchik@srv-bionic:~$ sudo nano /etc/3proxy/3proxy.cfg #доступ к админке (адрес 172.33.33.4:8080) по паролю из Home-Lan подсети 172.33.33.0 flush auth strong users ekzorchik:CL:712mbddr@ allow ekzorchik 172.33.33.0/24 * 8080 * deny * admin -n -p8080 ekzorchik@srv-bionic:~$ sudo systemctl restart 3proxy && sudo systemctl status 3proxy | head -n5 ● 3proxy.service - 3Proxy SOCKS5 Daemon Loaded: loaded (/lib/systemd/system/3proxy.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-03-10 12:54:43 MSK; 36ms ago Process: 3268 ExecStart=/bin/3proxy /etc/3proxy/3proxy.cfg (code=exited, status=0/SUCCESS) Main PID: 3269 (3proxy) |
Если обратиться через браузер на Web
-страницу админке: URL: http://172.33.33.4:8080
То вот что ниже на представленном скриншоте будет представлено. Правда не знаю зачем это и какую полезную нагрузку получу, но не важно, опробовал, посмотрел, не использую.
Задача: Добавить возможность аутентифицировать на данном прокси сервере работающем через Tor:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
ekzorchik@srv-bionic:~$ sudo nano /etc/3proxy/3proxy.cfg #!/bin/3proxy daemon pidfile /var/run/3proxy/3proxy.pid setgid 1001 setuid 1001 nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 #timeouts 30 30 60 60 180 1800 60 120 #Таймауты по умолчанию могут быть слишком быстрыми для Tor, и потому #они были увеличены, согласно рекомендации его разработчиков: #https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/WebBrowsers#CircumventingTorblocksusingopenHTTPproxies timeouts 1 5 30 60 180 1800 15 60 daemon log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" rotate 60 flush auth strong users ekzorchik:CL:712mbddr@ #Для заворачивания DNS-запросов внутрь Tora fakeresolve allow * #перенаправляем запросы на порт Tor parent 1000 socks5+ 127.0.0.1 9050 #Ограничение на количество соединений maxconn 50 # -a -> делаем прокси анонимным # -n -> отключает несовместимую с Unix аутентификацию по NTLM # -p -> указывает на порт для прослушивания # -i -> на интерфейс для прослушивания запросов # -e -> на интерфейс для отправки запросов socks -a -n -p50000 -i172.33.33.4 -e127.0.0.1 |
Теперь в Telegram
указываем:
Host: 172.33.33.4
Port: 50000
Username: ekzorchik
Password: 712mbddr@
и подключение происходит
Задача: Настройка работу данного прокси сервера, как с использование авторизации так и нет:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
ekzorchik@srv-bionic:~$ cat /etc/3proxy/3proxy.cfg | grep -v "#" daemon pidfile /var/run/3proxy/3proxy.pid setgid 1001 setuid 1001 nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 timeouts 1 5 30 60 180 1800 15 60 daemon log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" rotate 60 flush auth strong users ekzorchik:CL:712mbddr@ fakeresolve allow * parent 1000 socks5+ 127.0.0.1 9050 maxconn 50 socks -a -n -p50000 -i172.33.33.4 -e127.0.0.1 flush fakeresolve allow * parent 1000 socks5+ 127.0.0.1 9050 maxconn 50 socks -a -n -p50001 -i172.33.33.4 -e127.0.0.1 ekzorchik@srv-bionic:~$ sudo netstat -tulpn | grep 3proxy tcp 0 0 172.33.33.4:50000 0.0.0.0:* LISTEN 3357/3proxy tcp 0 0 172.33.33.4:50001 0.0.0.0:* LISTEN 3357/3proxy |
Только вот когда настраиваю проксю в Moziila Firefox на 50001
ничего не работает, а если Telegram на 50000
то все работает.
Вопрос почему не работает Mozilla Firefox?
Решение: нужно конфигурацию без пароля поднять выше конфигурации с паролем
Итоговый конфиг:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
ekzorchik@srv-bionic:~$ cat /etc/3proxy/3proxy.cfg | grep -v "#" daemon pidfile /var/run/3proxy/3proxy.pid setgid 1001 setuid 1001 nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 timeouts 1 5 30 60 180 1800 15 60 daemon log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" rotate 60 flush fakeresolve allow * parent 1000 socks5+ 127.0.0.1 9050 maxconn 50 socks -a -n -p50001 -i172.33.33.4 -e127.0.0.1 flush auth strong users ekzorchik:CL:712mbddr@ fakeresolve allow * parent 1000 socks5+ 127.0.0.1 9050 maxconn 50 socks -a -n -p50000 -i172.33.33.4 -e127.0.0.1 ekzorchik@srv-bionic:~$ sudo systemctl restart 3proxy && sudo systemctl status 3proxy | head -n5 ekzorchik@srv-wiki:/opt/3proxy$ sudo netstat -tulpn | grep 9050 tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 13249/tor |
На своем сервере в локальной сети для работы в моем случае я еще прописываю правила фаервола ( у меня несколько сетей дома: Одна пользовательская, Другая серверная/сервисная и т.д)
1 2 3 4 5 6 7 8 9 |
ekzorchik@srv-wiki:~$ sudo ufw allow to 172.40.40.8 port 9050 from 172.33.33.0/24 proto tcp ekzorchik@srv-wiki:~$ sudo ufw allow to 172.40.40.8 port 50000 from 172.33.33.0/24 proto tcp Rule added ekzorchik@srv-wiki:~$ sudo ufw allow to172.40.40.8 port 50001 from 172.33.33.0/24 proto tcp Rule added |
Полученные правила
1 2 3 4 5 |
172.40.40.8 9050/tcp ALLOW 172.33.33.0/24 172.40.40.8 50000/tcp ALLOW 172.33.33.0/24 172.40.40.8 50001/tcp ALLOW 172.33.33.0/24 |
На заметку: Применил обе заметки
tips_ubuntu_18_04_3proxy_v1.odt
tips_ubuntu_18_04_3proxy_tor_v1.odt
— а это текущая заметка.
к 172.40.40.8
чтобы к прокси можно было подключиться только из локальной сети и все заработало.
и после все заработало. Если сервис поднят во все то обязательно стоит использовать связку с применением логина и пароля, а то все кому не лень каким-либо способом найдут и подключаться к Вам и будут использовать не по назначению. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.