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

SQL Server в Интернете

У меня есть настольное приложение, напрямую подключающееся к SQL Server, я вижу много сообщений, в которых говорится, что вы не должны открывать SQL Server напрямую в Интернете, но ни в одном не говорится, почему. Немного предыстории:

Я заметил, что подключение к SQL Azure очень похоже на стандартный удаленный SQL Server (http://www.windowsazure.com/en-us/develop/net/how-to-guides/sql-database/#using-sql-server)

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

Какая реальная альтернатива, кроме развертывания нижней части моего приложения как веб-службы?

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

Например, вы можете использовать для подключения учетную запись SQL «sa», которая является учетной записью системного администратора по умолчанию и полностью контролирует SQL-сервер.

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

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

Вот несколько хороших мер для защиты от самых простых удаленных атак:

  • ограничить подключение к тем IP-адресам и клиентам, которым вы доверяете
  • используйте встроенную проверку подлинности Windows, когда это возможно, и отключите вход со слабыми паролями
  • если вы должны использовать аутентификацию SQL Server, переименуйте / отключите логин sa и установите надежные пароли (> 10 символов) для всех логинов.