Пожалуйста, обратите внимание, что пользователь заблокирован
В данной статье переработаны и дополнены некоторые нюансы и актуализированы те моменты, которые устарели во многих похожих статьях на просторах Интернет.
Шаблон конфигурации для организации системы собственного анонимного SOCKS через две сетевые ноды с использованием служб и инструментов tor, stunnel, openssl и iptables, но без учета особенностей алгоритмов шифрования. Так как детальные необходимые настройки в части шифрования вы легко можете сделать самостоятельно, это не входит в тематику данной статьи и непублично:
Даны в основном настройки файлов конфигураций определенных служб, а также основные команды установки и настройки нужного ПО условных сетевых нод(серверов):
a.a.a.a - Frontend_Server
b.b.b.b - Backend_Server
Настройка Frontend_Server:
Frontend_Server:~# apt-get install tor stunnel4 openssl
Frontend_Server:~# openssl genrsa -out key.pem 2048
Frontend_Server:~# openssl req -new -x509 -key key.pem -out cert.pem -days 1095
Frontend_Server:~# cat key.pem cert.pem >> /etc/stunnel/stunnel.pem
-----------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf
cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
client = yes
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7
[ssh]
accept = 127.0.0.1:555
connect = sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion:777
-----------------------------------------------------
Примечание: sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion - это новая версия доменного имени сервиса tor, который расположен на хосте сервера Backend_Server, в директории /var/lib/tor/optik. Имя домена приведено случайным образом и оно может быть любым.
-----------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf /etc/default/stunnel4
ENABLED=1
Перезапустить сервис stunnel:
Frontend_Server:~# systemctl restart stunnel4
-----------------------------------------------------
Приблизительное содержимое файла(бывают нюансы) службы TOR: /etc/tor/torrc:
SocksPort 0 OnionTrafficOnly
TransPort 9444
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept *
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1
-----------------------------------------------------
Frontend_Server:~# sysctl -w net.ipv4.conf.eth0.route_localnet=1
Frontend_Server:~# sysctl -w net.ipv4.ip_forward=1
Затем, прописать указанные строки в файл: /etc/sysctl.conf(тут, даны строки, касающиеся только конкретного решения):
net.ipv4.conf.ens0.route_localnet=1
net.ipv4.ip_forward=1
Настройка файервола iptables(также, даны строки, касающиеся только конкретного решения):
iptables -t nat -A PREROUTING -p tcp --dport 111 -j DNAT --to-destination 127.0.0.1:555
iptables -t nat -A OUTPUT -p tcp --dport 777 -j REDIRECT --to-ports 9100
-----------------------------------------------------
Содержимое файла /etc/resolv.conf
nameserver 127.0.0.1
-----------------------------------------------------
Теперь следует перезапустить службы: tor, stunnel на Frontend_Server
___________________________________________________________________________________________________________
___________________________________________________________________________________________________________
Настройка Backend_Server:
Backend_Server:~# apt-get install tor stunnel4 openssl
--------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf
cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7
output = /var/log/stunnel4/stunnel4.log
[ssh]
accept = 777
connect = 127.0.0.1:9050
-------------------------------------------------
Backend_Server:~# cat /etc/default/stunnel4
ENABLED=1
Перезапустить сервис stunnel:
Backend_Server:~# systemctl restart stunnel4
-------------------------------------------------
Приблизительное(могут быть нюансы) содержимое файла /etc/tor/torrc:
SocksPort 9050
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept 127.0.0.1
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1
HiddenServiceDir /var/lib/tor/optik
HiddenServicePort 777 127.0.0.1:777
Задаем права доступа на файлы сервиса:
Backend_Server:~# chmod 700 /var/lib/tor/optik
Примечание: При перезапуске Тора в папке /var/lib/tor/optik, генерируется onion-домен, в данном случае это sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion
------------------------------------------------
Backend_Server:~# sysctl -w net.ipv4.ip_forward=1
Затем, прописать указанные строки в файл: /etc/sysctl.conf:
net.ipv4.ip_forward=1
------------------------------------------------
Необходимо посмотреть dns адрес сервера Server2, тот, который мы вписываем в конфигурацию stunnel на Server1:
Backend_Server:~# cat /var/lib/tor/optik
или в некоторых случаях: Backend_Server:~# cat /var/lib/tor/optik/hostname
Где должно быть прописано указанное выше внутреннее доменное имя сервиса tor:
sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion
------------------------------------------------
Теперь следует перезапустить службы: tor, stunnel на Backend_Server
------------------------------------------------
Все, теперь можно пробовать подключаться через данный условно анонимный SOCKS на порт 111 по адресу a.a.a.a
При необходимости, через него пробрасывается уже openvpn канал до нужного openvpn сервера, либо делать с ним что-то еще на ваше усмотрение. Цепочку разумеется можно дополнять или модифицировать по-разному. На Backend_Server вы не увидете никаких следов Frontend_Server и выйти на него без раскрутки звеньев ТОР не получится, ни путем сниффинга трафика, ни путем анализа DNS запросов, так как он не использует классическую систему DNS
Крайне важно также понимать следующее:
Для достижения анонимности использования только лишь технологий vpn/proxy/tor сетей недостаточно, это не убережет вас от взлома вашей внутренней сети и приложений в ней посредством уязвимостей и эксплоитов.
Остальные детали и подробности выходят за рамки возможной публичной информации и не являются открытыми.
Варианты других решений, не выходя за рамки допустимой открытости будут вероятно продолжены в дальнейшем.
Спасибо за внимание.
Шаблон конфигурации для организации системы собственного анонимного SOCKS через две сетевые ноды с использованием служб и инструментов tor, stunnel, openssl и iptables, но без учета особенностей алгоритмов шифрования. Так как детальные необходимые настройки в части шифрования вы легко можете сделать самостоятельно, это не входит в тематику данной статьи и непублично:
Даны в основном настройки файлов конфигураций определенных служб, а также основные команды установки и настройки нужного ПО условных сетевых нод(серверов):
a.a.a.a - Frontend_Server
b.b.b.b - Backend_Server
Настройка Frontend_Server:
Frontend_Server:~# apt-get install tor stunnel4 openssl
Frontend_Server:~# openssl genrsa -out key.pem 2048
Frontend_Server:~# openssl req -new -x509 -key key.pem -out cert.pem -days 1095
Frontend_Server:~# cat key.pem cert.pem >> /etc/stunnel/stunnel.pem
-----------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf
cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
client = yes
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7
[ssh]
accept = 127.0.0.1:555
connect = sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion:777
-----------------------------------------------------
Примечание: sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion - это новая версия доменного имени сервиса tor, который расположен на хосте сервера Backend_Server, в директории /var/lib/tor/optik. Имя домена приведено случайным образом и оно может быть любым.
-----------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf /etc/default/stunnel4
ENABLED=1
Перезапустить сервис stunnel:
Frontend_Server:~# systemctl restart stunnel4
-----------------------------------------------------
Приблизительное содержимое файла(бывают нюансы) службы TOR: /etc/tor/torrc:
SocksPort 0 OnionTrafficOnly
TransPort 9444
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept *
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1
-----------------------------------------------------
Frontend_Server:~# sysctl -w net.ipv4.conf.eth0.route_localnet=1
Frontend_Server:~# sysctl -w net.ipv4.ip_forward=1
Затем, прописать указанные строки в файл: /etc/sysctl.conf(тут, даны строки, касающиеся только конкретного решения):
net.ipv4.conf.ens0.route_localnet=1
net.ipv4.ip_forward=1
Настройка файервола iptables(также, даны строки, касающиеся только конкретного решения):
iptables -t nat -A PREROUTING -p tcp --dport 111 -j DNAT --to-destination 127.0.0.1:555
iptables -t nat -A OUTPUT -p tcp --dport 777 -j REDIRECT --to-ports 9100
-----------------------------------------------------
Содержимое файла /etc/resolv.conf
nameserver 127.0.0.1
-----------------------------------------------------
Теперь следует перезапустить службы: tor, stunnel на Frontend_Server
___________________________________________________________________________________________________________
___________________________________________________________________________________________________________
Настройка Backend_Server:
Backend_Server:~# apt-get install tor stunnel4 openssl
--------------------------------------------------
Содержимое файла /etc/stunnel/stunnel.conf
cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7
output = /var/log/stunnel4/stunnel4.log
[ssh]
accept = 777
connect = 127.0.0.1:9050
-------------------------------------------------
Backend_Server:~# cat /etc/default/stunnel4
ENABLED=1
Перезапустить сервис stunnel:
Backend_Server:~# systemctl restart stunnel4
-------------------------------------------------
Приблизительное(могут быть нюансы) содержимое файла /etc/tor/torrc:
SocksPort 9050
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept 127.0.0.1
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1
HiddenServiceDir /var/lib/tor/optik
HiddenServicePort 777 127.0.0.1:777
Задаем права доступа на файлы сервиса:
Backend_Server:~# chmod 700 /var/lib/tor/optik
Примечание: При перезапуске Тора в папке /var/lib/tor/optik, генерируется onion-домен, в данном случае это sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion
------------------------------------------------
Backend_Server:~# sysctl -w net.ipv4.ip_forward=1
Затем, прописать указанные строки в файл: /etc/sysctl.conf:
net.ipv4.ip_forward=1
------------------------------------------------
Необходимо посмотреть dns адрес сервера Server2, тот, который мы вписываем в конфигурацию stunnel на Server1:
Backend_Server:~# cat /var/lib/tor/optik
или в некоторых случаях: Backend_Server:~# cat /var/lib/tor/optik/hostname
Где должно быть прописано указанное выше внутреннее доменное имя сервиса tor:
sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion
------------------------------------------------
Теперь следует перезапустить службы: tor, stunnel на Backend_Server
------------------------------------------------
Все, теперь можно пробовать подключаться через данный условно анонимный SOCKS на порт 111 по адресу a.a.a.a
При необходимости, через него пробрасывается уже openvpn канал до нужного openvpn сервера, либо делать с ним что-то еще на ваше усмотрение. Цепочку разумеется можно дополнять или модифицировать по-разному. На Backend_Server вы не увидете никаких следов Frontend_Server и выйти на него без раскрутки звеньев ТОР не получится, ни путем сниффинга трафика, ни путем анализа DNS запросов, так как он не использует классическую систему DNS
Крайне важно также понимать следующее:
Для достижения анонимности использования только лишь технологий vpn/proxy/tor сетей недостаточно, это не убережет вас от взлома вашей внутренней сети и приложений в ней посредством уязвимостей и эксплоитов.
Остальные детали и подробности выходят за рамки возможной публичной информации и не являются открытыми.
Варианты других решений, не выходя за рамки допустимой открытости будут вероятно продолжены в дальнейшем.
Спасибо за внимание.