Похоже, что кто-то или что-то пытается грубой силой войти в наш производственный экземпляр SQL Server с учетной записью 'sa'. Они не увенчались успехом, потому что наша учетная запись «sa» отключена, но какие шаги я должен предпринять, чтобы убедиться, что все в безопасности?
Ваш SQL-сервер должен быть общедоступным в Интернете? Обычно это не так. Если это абсолютно необходимо, вы можете ограничить доступ по IP-адресу или, возможно, настроить VPN. Очевидно, сделайте пароль sa недоступным для распознавания или просмотрите возможность ограничения местоположений входа sa только с IP-адресов вашей локальной сети. Пожалуйста, предоставьте более подробную информацию, чтобы другие могли помочь вам с лучшими решениями.
Первое, что вы можете сделать, это начать с занесения этого IP-адреса в черный список и прямого запрета ЛЮБОГО трафика с их IP-адресов на вашем брандмауэре. Конечно, они могут просто изменить IP-адреса, но, по крайней мере, это остановит их от бомбардировки вашего сервера трафиком и журналами.
Отключите этот порт (MySQL - 3306; не помните порт SQL Server, может быть, 118?) Через брандмауэр. Тогда никто не сможет получить к нему доступ.
Если требуется внешний доступ к SQL, переназначьте его на порт с большим номером, например, 53535. Если кто-нибудь выяснит, что порт открыт, будет трудно угадать его значение.
При входе в систему предпринимаются попытки внедрить вредоносный код. Я рекомендую заблокировать эту активность с помощью постоянного черного списка с помощью серверного брандмауэра или стороннего внешнего брандмауэра.
Кроме того, уменьшите количество допустимых сбоев входа в систему, так как это автоматически заблокирует IP-адрес злоумышленника.
Выше это минимизирует.
Вероятно, это просто какой-то скрипач, запускающий сканер, и не стоит тратить на это время. Я бы посмотрел на то, чтобы ваша база данных не была доступна из Интернета.
Если ваш SQL Server должен быть доступен за пределами вашей сети, вы можете добавить в белый список внешние IP-адреса, которым необходим доступ. VPN - лучшее решение (но не всегда доступно), а лучшим решением является отсутствие доступа извне.
Внесение в белый список требует большего управления, но оно устраняет эту глупость. Если кому-то нужен доступ и у него часто меняется IP-адрес, он может войти в другую систему через RDP и оттуда подключиться к SQL Server.
Переименуйте учетную запись sa, создайте фиктивную учетную запись sa и отключите ее.
Проверять разрешения и запускать обновление паролей для всех учетных записей пользователей SQL Server; возможно, увеличьте требования к надежности пароля.
Измените нумерацию IP-порта прослушивания SQL Server. Это означает обновление конфигураций клиента или файлов конфигурации приложения.
Я согласен с другими авторами относительно возможных векторов следующей атаки, и это, вероятно, кто-то запускает сценарий.
Для тех, кто ищет программу, которая будет создавать политику IPSEC, фильтры и т.д. и автоматически сканировать журнал событий и добавлять IP-адреса в список блокировки, я написал небольшую программу, которая делает именно это.
У меня тоже была эта проблема, когда мой журнал событий был заполнен тысячами записей для хакеров, пытающихся войти в мой экземпляр MSSQL с именем входа 'sa'. После долгих поисков я решил написать свою собственную программу, чтобы она создавала необходимые элементы IPSEC, а затем каждые 60 секунд сканировала журнал событий на предмет атак с новых IP-адресов. Затем он добавляет IP-адрес к фильтру IPSEC и блокирует весь трафик к IP и от него. Я тестировал это только на Windows Server 2008, но считаю, что он будет работать и на других версиях.
Не стесняйтесь скачать программу по ссылке ниже. Пожертвования всегда приветствуются, используя ссылку в контекстном меню значка диспетчера задач.
http://www.cgdesign.net/programs/AutoBlockIp.zip
Обратите внимание, что это работает только для попыток входа в систему SQL с использованием имени входа 'sa', но я мог бы изменить его, чтобы он работал и для других событий журнала. Кроме того, вы можете просматривать заблокированные IP-адреса, но вы по-прежнему будете видеть некоторые элементы в журнале событий, поскольку программа запускается только каждые 60 секунд. Это связано с невозможностью удалить одну запись журнала событий, и я не думал, что удаление всего журнала будет хорошей идеей.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ - Загружая и устанавливая вышеупомянутую программу, вы соглашаетесь защитить меня от любого ущерба, потери данных, повреждения или любых других проблем с функциональностью, возникших в результате использования указанного программного обеспечения. Я протестировал программу в меру своих возможностей, и в настоящее время она работает на 2 серверах, но вас предупредили, что вы можете использовать ее на свой страх и риск.
Любые вопросы или комментарии, пожалуйста, свяжитесь со мной, используя контактную форму на моем веб-сайте www.cgdesign.net
-Крис
Вы должны ограничить попытки входа в систему, поэтому, если один и тот же пользователь попытается войти в систему более 5 раз, он будет заблокирован от любых дальнейших попыток в течение нескольких часов или дней. По крайней мере, тогда они не могут грубо выполнить вход в систему после миллиона попыток.
И, как говорили другие, не разрешайте публичный доступ, если в этом нет необходимости. Вы можете ограничить доступ к набору известных IP-адресов, если некоторым людям нужен внешний доступ.