Разумно ли размещать сервер базы данных в Интернете?

Разумно ли размещать сервер базы данных в Интернете?

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

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

Это пугает меня до чертиков, но я не знаю, то ли я просто параноик, то ли у меня есть веские причины для беспокойства.

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

Мои поиски по усилению защиты базы данных Oracle практически всегда включали утверждения вроде «Никогда не делайте дыру в своем брандмауэре», так что, возможно, правильным ответом здесь будет «Обновляйте свое резюме как можно быстрее», но я буду признателен за любой совет, который вы можете дать.

решение1

Раскрытие базы данных на самом деле не являетсягигантпроблема по сравнению с некоторыми другими службами, которые часто подвергаются воздействию world+dog... за исключением того, что это сложная система со множеством потенциальных уязвимостей, включая эскалацию разрешений. Я бы убедился, что вы не подвергаете базу данных публичным запросам и не запускаете ее с обязательным SSL и т. д. Я бы сказал, что это возможно, но да, вам следует быть параноиком и поддерживать отдельную установку базы данных для публичной. Если ваша компания не готова платить за это лицензионные расходы, да, удирайте.

Со стороны клиента/службы поддержки подключение напрямую к базе данных может стать проблемой, если интернет-провайдер клиента блокирует определенные типы портов или трафика.

В модели SaaS вы обычно хотите, чтобы ваши программисты написали API, который можно запросить из приложения. API такого рода обычно работают по https и возвращают данные приложению в ответе HTTP. Дополнительный бонус: он работает из любой точки, где работает веб, ОЧЕНЬ легко кэшировать наборы результатов с помощью memcached или других технологий кэширования для снижения нагрузки на сервер базы данных, а http-аутентификация довольно хорошо поддерживается и протестирована.

решение2

Я бы создал второй сервер базы данных в DMZ, импортировал дампы в эту базу данных и сделал бы эту базу данных общедоступной.

решение3

Как я уверен, вы согласитесь, по определению доступ и безопасность — это компромисс. И перед вами стоит задача сделать конфиденциальные данные доступными.

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

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

Вероятно, вам также захочется разработать стратегию «нас скомпрометировали, что нам теперь делать?», чтобы выровнять ожидания всех участников и иметь план действий на случай, если удача отвернется от вас.

решение4

SaaS — это товар.

Предоставление доступа к серверу базы данных через Интернет — не очень хорошо.

Зачем им это нужно? Это из-за RPC и они не хотят использовать статические порты RPC?

Но есть несколько замечательных межсетевых экранов приложений, и если вы заблокируете порт endmapper базы данных, а затем защитите его межсетевым экраном, вы сможете сделать много полезного со списками контроля доступа, ограничениями IP-адресов и т. д.

Вам также потребуется проводить аудит журналов событий, сканирование уязвимостей и т. д.

Связанный контент