
У меня следующая настройка:
У меня есть сервер, использующий XEN для запуска нескольких виртуальных машин. Все они подключены к различным (виртуальным или физическим) сетям. У меня есть интернет (плохие парни), сеть DMZ и внутренняя сеть (только хорошие парни). Я разделяю сети (виртуальными) маршрутизаторами, которые не позволяют остановить несанкционированный трафик.
Теперь я хочу иметь возможность доступа ко всем машинам через SSH как из локальной сети, так и из интернета, если нужно выполнить удаленный ремонт. Из интернета все доступы SSH перенаправляются на машину в DMZ. Теперь я могу сделать две разные вещи оттуда:
- Имею ключи ко всем машинам на своем ноутбуке (где-то в интернете) и затем подключаюсь к машине SSH. Я создаю туннель к внутреннему маршрутизатору и через него могу получить доступ к внутренней сети.
- Иметь ключ к моей SSH-машине на ноутбуке и переходить с машины на машину через виртуальную сеть. Таким образом, ключ к маршрутизатору находится на SSH-машине и так далее.
Я предлагал использовать вариант 1, а также возможность построить туннель оттуда к каждому ПК в DMZ/LAN/VPN (iptables в данный момент активен).
Как бы вы это сделали? Каковы ваши предложения? Есть ли еще лучшее решение?
решение1
Примечание: Это мое личное мнение как человека, интересующегося безопасностью. Я не эксперт и не имею никакой квалификации под своим именем.
Возможный риск безопасности:
Я считаю, что наличие SSH-сервера в DMZ представляет угрозу безопасности, поскольку сервер в DMZ означает, что брандмауэр просто пропустит любую неизвестную/не заблокированную явно попытку подключения к этому серверу, что означает, что сервер подвержен зондированию и, в худшем случае, атаке.
Рекомендация №1
Вы рассматривали возможность использования VPN-сервера в вашей локальной сети? Таким образом, вы можете удалить DMZ и по-прежнему иметь доступ к вашей локальной сети через защищенный туннель с VPN.
Профи: VPN обеспечивает безопасное, зашифрованное соединение из Интернета в вашу локальную сеть. Если у вас есть VPN, вам не понадобится DMZ - что, как мы надеемся, будет для вас более безопасным.
Против: VPN-сервер может быть сложным в настройке или требовать больших затрат, а также создавать дополнительный уровень сложности для управления ИТ.
И хранить все яйца в одной корзине (все защищенные ключи SSH на ноутбуке) — не самый лучший вариант (сценарий: если вы потеряете свой ноутбук), но вы всегда можете зашифровать весь диск с помощью TrueCrypt или другого программного обеспечения, так что если ваш ноутбук когда-нибудь выйдет из-под вашего контроля, по крайней мере ваши данные будут полностью зашифрованы, и ни один злоумышленник не сможет попытаться получить к ним доступ.
Если у вас нет ресурсов/времени для инвестиций в VPN - Если у вас уже есть какой-либо NAS-сервер (Synology, QNAP или другой марки), ониможетесть VPN-сервер в виде модуля, который можно загрузить для очень простой установки и настройки (это справедливо для Synology, которым я владел и который лично тестировал).
Рекомендация №2
Или если VPN действительно невозможен (по какой-либо причине) - тогда, может быть, рассмотреть программное обеспечение для удаленной поддержки?
(GotoAssist, TeamViewer, Logmein, чтобы назвать несколько).
Установите клиент на машину, которой вы доверяете внутри вашей локальной сети, и просто подключитесь к этой машине из Интернета. А затем, используя эту машину в качестве точки перехода, вы можете использовать SSH везде, как будто вы сидите перед машиной внутри вашей локальной сети.
Профи: Вы можете хранить свои ключи SSH на ПК ВНУТРИ вашей локальной сети. Защищенные вашим корпоративным брандмауэром. Против: Для подключения из Интернета в вашу локальную сеть требуется стороннее программное обеспечение. И программное обеспечение может стоить денег.
Личный опыт: TeamViewer определенно очень прост в использовании и бесплатен для личного использования. А еще у TeamViewer есть возможность подключения через VPN (к сожалению, я лично не проверял, но видел возможность установки драйвера VPN) — дополнительное преимущество защиты вашего соединения.
Надеюсь это поможет.