Я сравниваю свой сервер разработки с производственным и обнаруживаю, что на нем есть следующее:
EXEC sp_grantdbaccess N'guest'
Как кто-нибудь может воспользоваться гостевым пользователем в строке подключения? Кажется, это не связано с входом в систему. В пабах я вижу, что гость - это представитель публики. Гость, похоже, не удаляется.
Это какая-то учетная запись анонимного доступа или что? Если это проблема безопасности, что мне делать, чтобы ее исправить?
Если для входа в SQL Server нет другого выхода в базу данных, гостевой пользователь разрешает этот доступ. Сначала вы должны иметь действующий логин в SQL Server. Какое бы разрешение ни было предоставлено гостю, этот логин будет иметь право делать это. Есть пара вещей, на которые стоит обратить внимание:
Общий совет - не включать гостевой пользователь. Если логин должен иметь доступ к базе данных, лучше предоставить явный доступ. Это упрощает аудит. С учетом сказанного, вы заметите, что в системных базах данных master и msdb включен гостевой пользователь, если вы посмотрите. Это требование.
Первое, что приходит на ум - это не только удаление данных или другие вредоносные действия, но и доступ к вашим данным неавторизованным пользователям. Для некоторых злоумышленников иногда важно не то, что вы можете уничтожить, а то, что вы можете скопировать в их систему (системы). Если они могут реплицировать любые конфиденциальные данные, которые у вас есть, то не имеет значения, попытаются ли они вернуться - в конце концов, у них есть собственная копия! В этом случае лошадь в значительной степени выскочит за дверь сарая, и запечатывание бреши после факта только остановит другие попытки, но не репликацию уже полученных данных.