Верной дорогой идёте, товарищи…
Источник: оригинал в Telegram
Уровень статьи средне-сложный. Я не буду объяснять, как завести пользователя, как прописать ему оболочку, как настроить аутентификацию по ключам. Информации об этом валом.
Заинтриговал? Мозг немного взорвался? Короче, делаем ssh-прокси.
Для чего это нужно?
Это можно использовать для раздачи доступа сторонним пользователям для управления ресурсами внутри сети, для студентов, работающих на удалёнке. (студенты IT - самые агрессивные пользователи).
Короче для минимизации рисков информационной безопасности. Скажу сразу, это не панацея. Инфу/файлы можно таскать через буфер обмена. Но много информации так не передашь.
Поехали!
Понадобится 2 машины: Бастионная (Jump-сервер, ssh-прокси) - машина, которая торчит открытым портом ssh в интернет.
И Тупиковая - машина (возможно виртуалка), с открытым в локалку портом ssh, на которой будет работать пользователь. И у которой нет доступа в инет (закрыт на периметровом маршрутизаторе. Или не прописаны шлюзы).
Основное условие — у пользователя не должно быть root, а то сменит IP/MAC, пропишет шлюзы… Допустим, её локальный IP 10.10.10.10).
С Бастионной машины должен быть доступ к Тупиковой по ssh, внутри локалки.
НА БАСТИОННОЙ МАШИНЕ. (аутентификация по ключам уже настроена, SSH защищён от быстрого перебора, для этой группы пользователей запрещен проброс портов)
Заводим пользователя, например, Tagd83j6 с паролем >=20 символов (не пригодится)
Добавляем публичный ключ пользователя (он обычно с парольной фразой) в
~/.ssh/authorized_keysГенерим ключ без пароля для доступа к Тупиковой машине (лучше ed25519).
В домашней папке Tagd83j6 создаем файл типа
shell10.sh(555 root:root)
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
ssh $USER@10.10.10.10 2>/dev/null
После этого назначаем скрипт оболочкой пользователя:
sudo usermod -s /home/Tagd83j6/shell10.sh Tagd83j6
НА ТУПИКОВОЙ МАШИНЕ (аутентификация по ключам уже настроена)
Заводим пользователя Tagd83j6 с паролем >=20 символов (не пригодится)
Добавляем публичный ключ (с Бастионной машины, п. 3) в
~/.ssh/authorized_keys
Всё. Теперь, если на Бастионной машине под root набрать
su Tagd83j6
Сразу должны попасть на Тупиковую машину.
Собственно все.
Аутентификация пользователя производится на Бастионной машине!!!
При подключении к Бастионной машине нас сразу перебрасывает на Тупиковую. На ней есть локалка, но нет интернета.
Вопросы, критика, плюсики приветствуются.








Комментарии