Проверяя свой журнал SQL Server, я вижу несколько таких записей:
Date: 08-11-2011 11:40:42
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:42
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.
Date: 08-11-2011 11:40:41
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:41
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.
И так далее .. Это возможная атака на мой SQL Server со стороны китайцев ???! Я посмотрел IP-адрес на ip-lookup.net, который заявил, что он китайский.
И что делать? - Заблокировать IP-адрес в брандмауэре? - Удалить пользователя sa?
И как мне лучше всего защитить свой веб-сервер ?! :)
Заранее спасибо!
Похоже на дешевую атаку методом перебора.
Тот факт, что весь Интернет может дойти до попыток аутентификации на вашем SQL Server, вероятно, является серьезной проблемой. Если у вас нет особых причин для этого, доступ к SQL должен быть ограничен только теми серверами, которым требуется доступ к ресурсу.
Кроме того, не переходите к блокировке определенных IP-адресов, иначе вы никогда не остановитесь. Заблокировать все Кроме авторизованные места. И не удаляйте свои учетные записи пользователей, если вы не уверены, что они вам не нужны.
Вы можете немного лучше объяснить свой макет?
Разрешаете ли вы входить в систему через Интернет или какой-либо другой трафик SQL? Если да, то почему?
Вы должны строго ограничить любые соединения вашего SQL-сервера с вашей локальной сетью или с определенными внешними IP-адресами (хотя я бы предложил что-то более безопасное, если вам это нужно).
Я предлагаю вам взглянуть на свой брандмауэр и заблокировать его, чтобы он обеспечивал минимально необходимый доступ для обеспечения доступности службы.
Для тех, кто ищет программу, которая будет создавать политику IPSEC, фильтры и т.д. и автоматически сканировать журнал событий и добавлять IP-адреса в список блокировки, я написал небольшую программу, которая делает именно это.
Как поставщику веб-хостинга моим клиентам необходим внешний доступ к моему экземпляру SQL Server. У меня тоже была проблема, когда мой журнал событий был заполнен тысячами записей для хакеров, пытающихся войти в мой экземпляр MSSQL с логином 'sa'. После долгих поисков я решил написать свою собственную программу, чтобы она создавала необходимые элементы IPSEC, а затем каждые 60 секунд сканировала журнал событий на предмет атак с новых IP-адресов. Затем он добавляет IP-адрес к фильтру IPSEC и блокирует весь трафик к IP и от него. Я тестировал это только на Windows Server 2008, но считаю, что он будет работать и на других версиях. В качестве примечания вам может потребоваться запустить его с правами администратора, чтобы у него были правильные разрешения для доступа к журналу событий и для создания политик и фильтров IPSec.
Не стесняйтесь скачать программу по ссылке ниже. Пожертвования всегда приветствуются, используя ссылку в контекстном меню значка диспетчера задач.
http://www.cgdesign.net/programs/AutoBlockIp.zip
Обратите внимание, что это работает только для попыток входа в систему SQL с использованием имени входа 'sa', но я мог бы изменить его, чтобы он работал и для других событий журнала. Кроме того, вы можете просматривать заблокированные IP-адреса, но вы по-прежнему будете видеть некоторые элементы в журнале событий, поскольку программа запускается только каждые 60 секунд. Это связано с невозможностью удалить одну запись журнала событий, и я не думал, что удаление всего журнала будет хорошей идеей. В результате вам придется вручную очищать журнал. При необходимости у меня есть версия, которая архивирует файл журнала после 5000 записей, а затем очищает его. Я обнаружил, что это помогает в загрузке ЦП, поскольку приложению не нужно обрабатывать одни и те же записи журнала событий при каждом запуске.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ - Загружая и устанавливая вышеупомянутую программу, вы соглашаетесь защитить меня от любого ущерба, потери данных, повреждения или любых других проблем с функциональностью, возникших в результате использования указанного программного обеспечения. Я протестировал программу в меру своих возможностей, и в настоящее время она работает на 2 серверах, но вас предупредили, что вы можете использовать ее на свой страх и риск.
Используйте SQL Profiler для просмотра запросов входа на сервер SQL. Вы можете найти это внутренний IP-адрес и имя приложения, пытающегося получить доступ к SQL Server.
Если это внешний IP-адрес, то ПОЧЕМУ!?! Почему вы предоставили SQL-сервер напрямую общедоступному интернет-трафику? Если вы не знаете, вам придется это выяснить!
Также убедитесь, что пароль sa действительно очень надежный. На моих серверах SQL пароль sa на самом деле представляет собой очень длинный случайный мусор, который используется один раз и выбрасывает пароль.