У нас есть sql db на экземпляре RDS на aws. На EC2 размещено веб-приложение, которое имеет доступ к sql db. Мы также получаем доступ к этой базе данных из нашего офиса. Поскольку у нас нет собственного статического IP-адреса для нашего офиса, нам пришлось сделать экземпляр RDS доступным с любого IP-адреса, чтобы мы могли подключиться к этому экземпляру для работы. Если бы у нас был статический IP-адрес, мы бы предоставили доступ только к нашему IP-адресу.
Вопрос в том, как можно убедиться, что эта база данных безопасна и не подвержена угрозам безопасности? Есть ли способ защитить это, не приобретая статический IP-адрес для нашего офиса? Судя по всему, любая БД, доступная из любой точки мира, открыта для атак.
Мы потратили неделю, пытаясь найти решение в Google, но пока безуспешно.
Что бы вы ни делали, не открывайте производственную базу данных в Интернете "0.0.0.0/0". Вы просто открываете себя для раскрытия данных, кражи, злоупотреблений и т. Д.
Самый простой способ сделать это - сделать ваш экземпляр RDS «общедоступным», но из очень короткого списка фиксированных IP-адресов.
Если в вашем случае это не сработает, вы можете использовать SSH-туннелирование для защиты своего SQL-соединения. Если вам необходимо получить доступ из «0.0.0.0/0», лучше использовать SSH, чем SQL.
Сделайте следующее:
sshd
.Поскольку ваше веб-приложение обращается к серверу SQL по частному IP-адресу, вы не будете нести плату за трафик данных (что вы получите, если вы получите доступ к нему по общедоступному IP-адресу).
Ссылки:
Самый простой и наименее затратный вариант для вашей организации - это, вероятно, посмотреть, предоставит ли ваш интернет-провайдер статический IP-адрес за дополнительную плату или найти нового интернет-провайдера, который сможет это сделать.
В противном случае я бы рекомендовал настроить VPN между вашим сайтом и AWS VPC и подключиться к экземпляру RDS через VPN. Это решение зависит от наличия у вашей организации опыта работы с сетями. К сожалению, это не быстрое и простое решение. Вот является отправной точкой для изучения различных вариантов VPN, которые предлагает AWS.
Другие решения, которые я видел, - уродливые обходные пути. Вот два:
Узнайте CIDR вашего интернет-провайдера и разрешите доступ всему диапазону. (По крайней мере, таким образом вы ограничиваете доступ для других, использующих вашего интернет-провайдера, а не для всего Интернета.)
Напишите сценарий для определения изменения вашего IP-адреса и обновите правила группы безопасности RDS с новым IP-адресом.
Я предполагаю, что ваш IP-адрес часто меняется. (В противном случае вы можете просто вручную обновить группу безопасности, когда это необходимо ... неудобно, но более безопасно, чем оставлять ее открытой для всего мира.)
Если вы хотите исследовать настройку VPN, вот отправная точка: Варианты подключения AWS VPN