Назад | Перейти на главную страницу

Защитите каждое соединение между конечными точками

Иногда приходится работать с программным обеспечением, в котором нет встроенных функций безопасности для нелокальных подключений. Фактически, некоторые клиентские библиотеки отправляют учетные данные в виде открытого текста по сети. С другой стороны, эти приложения могут быть мощными и очень хорошо служить своей цели, поэтому почти нет причин для их замены.

Как я могу защитить «незащищенные» соединения между узлами в моем кластере и скрыть эти туннели от реального приложения? Каким образом это повлияет на производительность для небольших запросов / ответов или более крупных? Какие компромиссы необходимо сделать?

Пожалуйста, обратите внимание: я относительно новичок в мире Linux и хотел бы узнать больше о защите среды и т. Д. Вышеупомянутый вопрос возник у меня в голове, когда я прочитал статью о функциях безопасности некоторых ранних версий NoSQL- базы данных. Одним из примеров утечек безопасности было то, что учетные данные были отправлены в открытом виде по сети, а также все данные между узлами. Поэтому я задавался вопросом, как можно использовать такую ​​ценную технологию, даже если в ней отсутствуют некоторые встроенные функции безопасности.

С уважением, Эмс

Что вам действительно нужно сделать, так это отправить трафик по какой-то частной сети. Создание собственной частной глобальной сети действительно довольно дорого, поэтому было бы хорошо, если бы мы могли каким-то образом использовать Интернет ... но тогда частная сеть не была бы физической, а вместо этого была бы "виртуальной" ". Фактически, это звучит как очень удачное название для продукта ... «виртуальная частная сеть». Вы можете сделать его еще более удобным для маркетинга с помощью броской аббревиатуры «VPN». Если бы только кто-то имел уже думал об этом...

Загляните в туннели SSH. Вы можете пропустить через них любое сетевое соединение, использовать аутентификацию на основе ключей для устранения паролей и создать сценарий их создания при загрузке. Кроме того, SSH бесплатный. Если вам не нужно полное туннелирование L2, чего, похоже, нет, ничего более сложного не требуется.

Например:

ssh -L8080: server.example.com: 80 otherendpoint.example.com

перенаправит порт 8080 на вашем локальном компьютере на порт 80 на server.example.com через зашифрованный туннель SSH на otherendpoint.example.com (который также может быть server.example.com). Просто скажите вашему приложению использовать localhost: 8080 в качестве другой конечной точки, и оно даже не заметит разницы.