Думаю над улучшением неотламываемости защиты, стало интересно, как устроены .onion-сайты и можно ли их приспособить. Пока разбираюсь, если можете посоветовать хорошее чтение на эту тему — буду благодарен.
Здравствуйте, 463C21E2, Вы писали:
CE> Думаю над улучшением неотламываемости защиты, стало интересно, как устроены .onion-сайты и можно ли их приспособить. Пока разбираюсь, если можете посоветовать хорошее чтение на эту тему — буду благодарен.
".onion сайт" с внутренней точки зрения есть обычный сайт. Разница лишь в том как выглядит трафик, приходящий на данный сайт — для .onion сайта трафик будет приходить со 127.0.0.1 на 127.0.0.1:<порт_веб_сервера> (хотя как настроить). Вся настройка скрытого сервиса сводится к правке файла /etc/tor/torrc и выглядит приблизительно так (версия вместе с нодой в режиме бриджа и SOCKS5 прокси для локального использования, скрытый сервис задается последними двумя строками):
# https://www.torproject.org/docs/tor-manual.html.en
SocksPort [::1]:9050
SocksPort 127.0.0.1:9050
Nickname mytornode
RunAsDaemon 1
Address mytornode.com
ClientUseIPv6 1
ClientPreferIPv6ORPort 1
OutboundBindAddress 11.22.33.44
OutboundBindAddress [2a00:4abc:xxx:xxx::2]
BridgeRelay 1
ORPort 11.22.33.44
ORPort [2a00:4abc:xxx:xxx::2]:443
Exitpolicy reject *:*
ExitPolicy reject6 *:*
BandwidthRate 250000
CellStatistics 1
DirReqStatistics 1
EntryStatistics 1
ExitPortStatistics 1
ExtraInfoStatistics 1
BridgeRecordUsageByCountry 1
ProtocolWarnings 1
HiddenServiceDir /var/lib/tor/mysite
HiddenServicePort 80 127.0.0.1:8080
После перезапуска в директории /var/lib/tor/mysite будут созданы два файла:
* hostname — текстовый файл содержащий имя того самого .onion сайта (например, facebookcorewwwi.onion)
* private_key — приватный ключ для скрытого сервиса (утеря ключа приводит к потере .onion имени).
Теперь, когда пользователь вводит в браузере
http://yoursite.onion весь трафик направляется к тебе на 127.0.0.1:8080, а дальше ты с ним можешь делать что душа пожелает — поставить apache, свое приложение (.onion можно использовать для любого tcp трафика, а не только http) и т.д.