У меня есть виртуальная машина, на которой запущен SQL в облаке. Обычно я настраиваю входящие правила на портах SQL в Azure и на брандмауэре виртуальной машины, но у моих клиентов нет статических IP-адресов для использования в правилах.
Как мне защитить свою виртуальную машину, если я не знаю точно, какие IP будут подключаться? Я могу использовать нестандартные порты и надежные пароли (аутентификация SQL), но это, похоже, недостаточно безопасно.
Стоит ли мне попытаться получить диапазон CIDR от интернет-провайдера каждого клиента?
решение1
Я думаю, что хорошим решением будет P2S VPN — от виртуальной сети Azure до клиентской стороны.
решение2
Это довольно хороший пример использования хоста-бастиона:
https://en.wikipedia.org/wiki/Bastion_host
Существует множество различных реализаций, но по сути вы позволяете клиентам подключаться к вашему хосту-бастиону, а оттуда разрешаете подключения только к вашему SQL-серверу, RDP, SSH или чему-то еще, что вам нужно.
В этом случае вы бы разрешили ТОЛЬКО входящий трафик SQL на ваш сервер БД с вашего хоста-бастиона. Затем вы могли бы контролировать входящие соединения на ваш хост-бастион так, как считаете нужным. Это также позволяет вам создать единую точку для регистрации соединений, проходящих через него. Это может быть невероятно полезно, особенно если вы отправляете журналы вашего хоста-бастиона на любой используемый вами siem.