У меня есть небольшой VPS (Ubuntu 16.04), который я использую для хостинга нескольких личных веб-сайтов, ownCloud и т. д. Он довольно медленный и не имеет большого объема хранилища. Я хотел бы выгрузить хранилище ownCloud и базу данных MySQL, в общем, все, что потребляет много ресурсов, на мой домашний сервер (Ubuntu 17.10), не открывая мою домашнюю сеть больше, чем это абсолютно необходимо.
Как лучше всего это сделать с точки зрения безопасности? Мне приходят на ум три варианта:
- Откройте MySQL и NFS на нестандартных портах, закройте все брандмауэры, кроме IP-адреса VPS.
- Создайте SSH-туннель, направьте весь трафик MySQL и NFS через этот туннель.
- Настройте VPN, то же самое.
В случаях 2 и 3 меня беспокоит то, что если мой VPS будет скомпрометирован, я могу раскрыть большую часть своей домашней сети, чем предполагал, — именно VPS решает, к каким удаленным портам/IP-адресам он будет подключаться, поэтому после настройки туннеля любой злоумышленник может добавлять новые туннели.
решение1
Вариант 3 (а вариант 2 является частным случаем варианта 3) — это, несомненно, верный путь.
Он обеспечивает большую безопасность, чем вариант 1, и вы не подвергаетесь большему риску взлома вашего домашнего сервера, чем при использовании варианта 1, но вы можете быть уверены, что данные зашифрованы, в отличие от варианта 1, который представляет собой очень слабую версию безопасности посредством сокрытия информации.
Один из способов решения этой проблемы — настроить соответствующие VPS на моем домашнем сервере. Таким образом, если бы внешний VPS был скомпрометирован и злоумышленники каким-то образом смогли бы воспользоваться этим, чтобы предоставить расширенный доступ к вашему домашнему серверу, они бы все равно находились в виртуальной машине.