- Регистрация
- 22.10.17
- Сообщения
- 9
- Реакции
- 16
- Продаж
-
1
У схемы jabber + tor + rapsberry pi есть ряд плюсов:
Установка необходимых пакетов
Процесс установки опустим, т.к. по этому шагу написана не одна тысяча материалов, скажу лишь, что лучше ставить Raspbian Lite, т.к. чем меньше у нас будет изначально пакетов, тем лучше.
Далее необходимо определиться с jabber-сервером. Тут варинтов не очень много, мы выберем в этой роли prosody, он молод и интенсивно развиваем.
Ставим необходимые пакеты:
Генерация домена
Более подброно про генерацию доменов в TOR можно в статье, написанной ранее, но если кратко:
pigf5kfufjz63s5z.onion — домен, который мы будем использовать в jabber-сервере.
Далее создаём конфиг /etc/prosody/prosody.cfg.lua с примерно таким содержанием:
се вхождения pigf5kfufjz63s5z.onion необходимо поменять на тот домен, который сгенерировался у вас.
Создание ключей ssl
После чего перезапускаем prosody:
Настройка клиентской стороны
На клиентской стороне ставим и запускаем TOR:
А в клиенте jabber выбираем в свойствах соединения Socks5-прокси, в качестве Host указываем 127.0.0.1 в качестве Port — 9050. Пишем логин (если логина ещё нет — регистрируемся, выбрав соответствующий пункт меню в клиенте), а в качестве хоста сервера указываем ваш свежесгенерированный onion-ресурс (в моём случае это pigf5kfufjz63s5z.onion).
Регистрацию так же можно сделать закрытой (для "своих") поменяв в конфиге prosody allow_registration с true на false, тогда регистрировать пользователей можно из консоли:
- не придётся покупать доменное имя
- не нужно ничего оплачивать ежегодно
- никто не отследит по денежным транзакциям кто владелец
- домен не угонят (естественно всё относительно, ведь могут украсть ключи) и никто не забанит и не отключит домен
- не придётся искать и покупать анонимного хостера, а если он и анонимный, то нет гарантии в отказе слива информации о вас. Плюс их услуги довольно дорогие и часто отсуствует качество предоставляемых услуг, потому как довольно маленькая конкуренция
- дешёвое обслуживание (всего 4Вт)
- отсутствие левых владельцев, которым следует верить, что у них всё "на самом деле отключено и ничего не сливается третьим лицам".
- rapsberry pi может находиться за кучей натов и ей не нужно пробрасывание портов и тем более выделенный IP
- местонахождение сервера будет никому не известно, кроме владельца
Установка необходимых пакетов
Процесс установки опустим, т.к. по этому шагу написана не одна тысяча материалов, скажу лишь, что лучше ставить Raspbian Lite, т.к. чем меньше у нас будет изначально пакетов, тем лучше.
Далее необходимо определиться с jabber-сервером. Тут варинтов не очень много, мы выберем в этой роли prosody, он молод и интенсивно развиваем.
Ставим необходимые пакеты:
Код:
$ sudo apt install tor prosody
Более подброно про генерацию доменов в TOR можно в статье, написанной ранее, но если кратко:
Код:
$ printf "HiddenServiceDir /var/lib/tor/jabber\nHiddenServicePort 5222 127.0.0.1:5222\n" | sudo tee /etc/tor/torrc
$ sudo systemctl tor restart
$ sudo cat /var/lib/tor/jabber/hostname
pigf5kfufjz63s5z.onion
Далее создаём конфиг /etc/prosody/prosody.cfg.lua с примерно таким содержанием:
Код:
admins = { "[email protected]" }
modules_enabled = {
-- Generally required
"roster"; -- Allow users to have a roster. Recommended ;)
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
-- "dialback"; -- s2s dialback support
-- "disco"; -- Service discovery
-- Not essential, but recommended
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
-- These are commented by default as they have a performance impact
--"privacy"; -- Support privacy lists
--"compression"; -- Stream compression (Debian: requires lua-zlib module to work)
-- Nice to have
"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"pep"; -- Enables users to publish their mood, activity, playing music and more
-- "register"; -- Allow users to register on this server using a client and change passwords
-- Admin interfaces
-- "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
-- HTTP modules
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
--"http_files"; -- Serve static files from a directory over HTTP
-- Other specific functionality
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
--"groups"; -- Shared roster support
--"announce"; -- Send announcement to all online users
--"welcome"; -- Welcome users who register accounts
--"watchregistrations"; -- Alert admins of registrations
--"motd"; -- Send a message to users when they log in
--"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
};
modules_disabled = {
-- "offline"; -- Store offline messages
-- "c2s"; -- Handle client connections
"s2s"; -- Handle server-to-server connections
};
allow_registration = true;
daemonize = true;
pidfile = "/var/run/prosody/prosody.pid";
c2s_require_encryption = true
authentication = "internal_hashed"
log = {
-- Log files (change 'info' to 'debug' for debug logs):
info = "/dev/null";
error = "/dev/null";
-- Syslog:
{ levels = { "error" }; to = "syslog"; };
}
VirtualHost "nsltzcvhmzfa7ypr.onion"
enabled = true -- Remove this line to enable this host
ssl = {
key = "/etc/prosody/certs/host.key";
certificate = "/etc/prosody/certs/host.crt";
}
Include "conf.d/*.cfg.lua"
Создание ключей ssl
Код:
$ sudo openssl req -new -x509 -days 365 -nodes -out "/etc/prosody/certs/host.crt" -newkey rsa:2048 -keyout "/etc/prosody/certs/host.key"
Код:
$ sudo systemctl prosody restart
На клиентской стороне ставим и запускаем TOR:
Код:
$ sudo apt install tor
$ sudo systemctl tor restart
Регистрацию так же можно сделать закрытой (для "своих") поменяв в конфиге prosody allow_registration с true на false, тогда регистрировать пользователей можно из консоли:
Код:
$ sudo prosodyctl register имя_пользоавтеля ваш_onion_домен пароль_пользователя