Я только что загрузил свое веб-приложение ASP.NET (VS2010, C #, SQL Server2008) на Win2008Server R2, все работает нормально, но я думаю, что моя база данных подверглась атаке!
SQL Server ERRORLOG постоянно пишет сообщения «Ошибка регистрации пользователя sa, пароль не совпадает ....» и записывает некоторые IP-адреса, похоже, меня атакуют, я вообще НЕ использую пользователя sa , поэтому я отключил пользователя 'sa', теперь в сообщении есть изменения (но атаки все еще продолжаются), теперь сообщение: «Ошибка регистрации пользователя sa, ошибка при оценке пароля ...», номер ошибки: 18456, серьезность: 14, состояние: 7.
Что мне не делать? Теперь это безопасно для меня или они могут проникнуть в мою БД? что я должен делать? Я отключил пользователя sa, это безопасно? Я не могу удалить его из-за ошибки, может ли кто-нибудь войти в мою БД? пожалуйста, помогите мне. Если теперь я в безопасности, могу ли я отключить журнал ошибок SQL? как? я должен заблокировать эти IP-адреса? если да, то как я могу это сделать?
Спасибо
Проверьте свои журналы, чтобы определить IP-адрес (а) клиента, а затем брандмауэр вашего сервера заблокирует весь трафик злоумышленника. Сделайте это в первую очередь, чтобы снизить непосредственные риски.
После этого посмотрите, что вы можете сделать по-другому. Прежде всего, убедитесь, что ваша база данных разрешает доступ только из доверенных источников (можете ли вы ограничить его только доступом к локальному хосту или хотя бы коротким списком доверенных IP-адресов?).
Шансы на то, что это будет целенаправленная атака, невелики, если только ваш сайт не пользуется широкой популярностью. Я предполагаю, что злоумышленник запускает автоматический скрипт, чтобы попробовать общих пользователей / пароли для доступа к вашей базе данных, может попробовать некоторые распространенные эксплойты, а затем продолжит. Однако считайте это предупреждением и как можно скорее оцените безопасность и процедуры резервного копирования на уровне сайта и сервера.
Возможно, вы захотите проверить, подвержен ли ваш веб-сайт атакам с использованием SQL-инъекций, потому что ваша база данных не должна быть доступна извне сервера. Мне это кажется наиболее вероятным.
Первый вопрос, который у меня возникнет: доступен ли ваш сервер базы данных напрямую из Интернета? Если ваш ответ «да», вам нужно исправить это прямо сейчас. По крайней мере, вы должны отключить соединение с SQL-сервером с помощью брандмауэра, чтобы оно было недоступно для случайных пользователей Интернета.
Кроме того, сложно понять, что сказать. Вы спросили, как проверить, уязвима ли база данных для атак с помощью инъекций (что является основным вопросом при разработке кода для обеспечения безопасности), и из ваших комментариев о подключении к ней через Visual Studio и RDP видно, что вы подключили ее напрямую. в Интернет без особой защиты. Это все основные вещи, о которых, не желая показаться грубым, вы, кажется, не подозреваете. Вероятно, вам понадобится опытный человек, который проверит вашу настройку, но, по крайней мере, я думаю, вам нужно подумать о том, чтобы правильно защитить этот сервер от внешнего мира с помощью брандмауэра и подключиться к нему через VPN в будущем.