Шлях керування на основі Tor для вашого VPS
Використовуйте SOCKS-проксі для SSH, опублікуйте приватну onion-точку входу та перевірте DNS, автентифікацію й відновлення, перш ніж закривати публічний доступ.
Короткий огляд
Tor може змінити мережевий шлях, який використовується для доступу до VPS, а onion-кінцева точка SSH може уникнути звичайного публічного призначення для керування. Жоден із підходів не захищає сервер автоматично. Захищайте ключі SSH, перевіряйте ідентичність хоста, обмежуйте доступ і тестуйте конфігурацію, перш ніж покладатися на неї.
Захистіть адміністрування так само, як і оформлення замовлення
Замовлення сервера через захищений браузер не захищає автоматично подальший сеанс SSH. Прямий вхід може розкрити вашу вихідну адресу серверу та мережам на шляху. Вирішіть, як працюватиме адміністрування, до першого підключення, включно з аварійним доступом, якщо бажаний маршрут не працюватиме.
Tor може приховати пряму IP-адресу клієнта від призначення, але це не вирішує проблему повторно використаних облікових даних, ідентифікуючих даних конфігурації чи будь-якої атаки зіставлення трафіку. Це також додає затримку. Корисна мета — послідовний шлях керування, поведінку якого ви розумієте й можете перевірити.
Почніть із робочого локального клієнта Tor
Системний демон Tor зазвичай пропонує SOCKS на 127.0.0.1:9050, тоді як Tor Browser зазвичай використовує 9150. Перевірте свою фактичну конфігурацію, а не припускайте будь-який із портів. Застосунок має надсилати своє з'єднання через цей проксі; відкриття Tor Browser не маршрутизує кожну програму на комп'ютері.
У підтримуваних системах torsocks обгортає застосунки, як-от SSH, і спрямовує підтримувані мережеві виклики через Tor. Перевірте налаштування за допомогою прикладної адреси лише з документації, заміненої на реальну адресу вашого сервера. Наведена команда припускає працюючий системний демон Tor і виділений адміністративний обліковий запис.
torsocks ssh -i ~/.ssh/silentvps_ed25519 [email protected]Зробіть маршрут частиною конфігурації SSH
Для регулярного використання конфігурація для кожного хоста зменшує ймовірність забути обгортку. Наведений нижче приклад використовує реалізацію netcat із підтримкою проксі SOCKS5. Реалізації відрізняються, тож підтвердьте опції -x і -X у вашій встановленій версії та перевірте, чи розв'язування імені хоста відбувається віддалено.
IdentitiesOnly обмежує ключі, пропоновані серверу; поєднайте це з новим ключем, використаним для цього проєкту. Перевірте й збережіть відбиток ключа хоста сервера через довірений канал надання. Tor змінює мережевий шлях, але автентифікація хоста SSH все одно є суттєвою.
Host silent-admin
HostName 203.0.113.45
User admin
IdentityFile ~/.ssh/silentvps_ed25519
IdentitiesOnly yes
ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %pПеремістіть SSH за onion-сервіс
Onion-точка входу дозволяє адміністрування без публічно доступного порту SSH і дозволяє уникнути використання виходу Tor для цього з'єднання. Встановіть і налаштуйте Tor на сервері, потім зіставте onion-віртуальний порт із локальним сервісом SSH. Приклад є початковою конфігурацією; шляхи сервісів і команди відрізняються залежно від дистрибутива.
Після того як Tor створить каталог сервісу, приватно отримайте його файл імені хоста та перевірте з'єднання через проксі вашого клієнта. Тримайте ідентифікаційні ключі onion-сервісу приватними. Лише після успішного незалежного входу слід обмежити SSH до localhost і видалити публічний доступ. Перевірте, що ваша консоль відновлення працює, перш ніж робити цю зміну.
HiddenServiceDir /var/lib/tor/silent-admin/
HiddenServicePort 22 127.0.0.1:22Додайте авторизацію клієнта для приватної точки входу
Без додаткової авторизації будь-хто, хто дізнається onion-адресу, може отримати доступ до сервісу та його SSH запиту. Tor v3 авторизація клієнта додає окремий криптографічний бар'єр: сервіс має публічний ключ авторизованого клієнта, а клієнт володіє відповідним приватним ключем.
Дотримуйтеся поточних інструкцій Tor Project щодо форматів ключів і каталогу authorized_clients. Переконайтеся, що неавторизований клієнт не може підключитися. Також збережіть автентифікацію за ключем SSH і сплануйте, як відкликати авторизацію втраченого пристрою, не втративши власний залишковий доступ.
Перевірте DNS і уникайте витоку ідентичності
Пошук імені хоста, виконаний локальним резолвером, може розкрити вашу ціль до того, як з'єднання досягне проксі. Використання IP-адреси сервера для clearnet-призначення дозволяє уникнути цього конкретного пошуку; onion-імена потребують розв'язання в межах Tor. Для інших імен хостів підтвердіть поведінку віддаленого DNS застосунку, а не покладайтеся на загальне налаштування проксі.
Гостьова система все ще може зберігати часові позначки автентифікації, імена користувачів і записи журналу. Перегляньте їх збереження навмисно, а не вимикайте сліпо всі діагностичні дані. Також перевірте локальні імена хостів, метадані комітів і скопійовану конфігурацію на наявність ідентифікуючих деталей. Tor не видаляє їх із трафіку застосунків.
- Використовуйте виділений ключ та ізольований робочий процес проєкту.
- Перевірте очікуваний порт SOCKS і поведінку віддаленого DNS.
- Збережіть доступ для відновлення та другий перевірений логін перед зміною слухачів.
- Перегляньте службу Tor і SSH після оновлень.
- Ніколи не діліться ключами ідентичності onion або секретами авторизації клієнтів.
Зберігайте довгі сесії та майбутнє обслуговування практичними
Запускайте довгі адміністративні завдання всередині tmux або screen, щоб переривання з'єднання не знищувало сесію. Tor ланцюги та мережеві умови можуть змінюватися, тому тримайте команди повторюваними та розумійте, як їх відновити. Невелику додаткову затримку легше терпіти, коли обслуговування заплановане.
Той самий шаблон onion може бути фронтендом для локальної панелі керування або приватного Git-сервісу. Кожен застосунок усе ще потребує автентифікації, оновлень програмного забезпечення та ретельної конфігурації. Продовжуйте використовувати захищений маршрут для підтримки, поновлення та резервних копій там, де цього вимагають ваші вимоги до приватності; послідовність важлива не менше, ніж початкове налаштування.