У меня есть экземпляр Elasticsearch, сталкивающегося с Интернетом на EC2. С другой стороны, у меня есть свой веб-сервис как приложение Heroku.
Я хочу защитить экземпляр Elasticsearch и позволить входящий трафик только из моего приложения Heroku.
Я нашел этот плагин Elasticsearch, но это выглядит немного болезненным. Таким образом, каков может быть лучший способ защитить открытое xx.xx.xx.xx:9200
порт моего экземпляра EC2, стоящего перед Интернетом и подключением к Heroku?
Действительно ли SSL является решением? У меня есть мало знания.
В Heroku я использую Python.
Подобные вопросы: один и два имеют старое решение, которое Heroku больше не рекомендует. Другая опция состоит в том, чтобы переместить веб-сервис в AWS и защитить его позади брандмауэра, но в течение времени я предпочитаю позволять Heroku сделать dev-операцию-в-секунду.
Так как героку основан на облаке, IP-адрес вашего героку не статичен. Решение группы безопасности здесь не подходит. Я бы использовал SSL с некоторой аутентификацией (даже HTTP аутентификации достаточно IMHO, но я не эксперт по безопасности)
Если вы хотите пойти на крайние меры, то SSL как с серверными, так и с клиентскими сертификатами.
Вы можете использовать nginx в качестве обратного прокси для эластичного поиска, если он не поддерживает вышеуказанные возможности.
.