Возможна атака на мой SQL-сервер?


15

Проверяя мой журнал 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?

И как мне лучше защитить свой веб-сервер ?!

Заранее спасибо!

Ответы:


30

Если у вас есть брандмауэр, почему сервер базы данных подключен к Интернету?

  • Брандмауэр должен блокировать весь доступ к ОБА серверам, кроме необходимых портов. Обычно это 80 (http) и 443 (https) ТОЛЬКО для веб-сервера.
  • Если (и только если) внешней службе требуется доступ к SQL Server, разрешите доступ к определенным IP-адресам, необходимым на брандмауэре. Это должно происходить через VPN-соединение, а не открыто 1433.
  • Создайте новую учетную запись администратора и отключите «sa» по умолчанию.
  • Желательно переключиться с использования «смешанного режима» аутентификации на учетные записи Windows.

10

Первое, что вы должны сделать, это сообщить об этом человеку, ответственному за безопасность сети и системы в вашей компании. Если такого человека нет, скажите это администратору сети. Если такого человека нет, позвоните CIO / CTO прямо сейчас - еще лучше, потребуйте лицом к лицу - и объясните ситуацию.

Первое, что человек должен сделать, это заблокировать IP-адрес от брандмауэра. Это даст вам немного времени, но не так много, может быть, только минуты. Если IP-адрес сопоставляется с диапазоном IP-адресов, как сообщает WhoIs.net, заблокируйте весь диапазон IP-адресов, заданный WhoIs. Это не даст парню запросить новый IP у своего интернет-провайдера и получить новый IP. Возможно, на несколько минут.

Тогда делай то, что говорит Марк-Стори Смит выше.

Затем либо добавьте брандмауэр, либо переместите базу данных из DMZ. Если у вас уже есть брандмауэр, а база данных не находится в демилитаризованной зоне, вам нужна немедленная криминалистическая проверка, чтобы выяснить, не были ли скомпрометированы промежуточные серверы между вами и брандмауэром (скорее всего, они есть). Измените ВСЕ пароль администратора на очень длинные сложные пароли - sa, Windows Admin, администраторы домена, локальные администраторы, ВСЕ ИХ. Затем просмотрите все серверы в вашей сети и удалите все учетные записи администратора, которые вы не можете распознать, или те, которые были уволены из бывших сотрудников или консультантов. Затем вирусы и вредоносные программы сканируют все на каждом сервере.

Затем сделайте второй проход и еще раз проверьте все вышеперечисленное.

Удачи.


2
Скорее всего, человек, атакующий сервер, не сидит перед своим компьютером, пытаясь один пароль за другим. Вероятно, это распределенный ботнет, который просто ищет дыры. Этот тип атаки является общим для всех видов услуг, которые вы предоставляете в Интернете. Поэтому первым шагом является не блокировка одного IP-адреса, а изменение пароля администратора и имени пользователя. Если это хороший пароль, этот простой шаг принесет вам годы, а не минуты.
Фил

8

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


в настоящее время SQL Server не может этого сделать. Для этого вам понадобится брандмауэр или Windows. Смотрите это blogs.msdn.com/b/sql_protocols/archive/2006/04/10/572605.aspx
Дхармендар Кумар 'DK'

8

Помимо настройки брандмауэра для блокировки неавторизованного трафика, не забудьте добавить свою учетную запись Windows в роль sysadmin и отключить учетную запись SA! Отключите проверку подлинности SQL.


8

У вас не должно быть ни одного из ваших серверов в общедоступном Интернете, если у вас нет брандмауэра, блокирующего ВСЕ сетевой доступ из Интернета к серверам SQL. Если у вас открыт порт 1433, какие еще порты нужно открыть? Я предполагаю, что у вас есть много открытых портов в Интернет, и в этом случае у вас, вероятно, есть люди, использующие ваш SQL Server для вещей, которые вам не нужны.

Вам нужно пригласить профессионала, чтобы посмотреть на системы и исправить вашу безопасность как можно скорее. Бог знает только, если люди успешно проникли в систему или нет. (Да, я консультант , да, я могу выполнять работу, нет, я не говорю, что вы должны меня нанять.)

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

Шаги, которые вам необходимо выполнить на этом этапе:

  1. Настройте брандмауэр, чтобы заблокировать все входящие соединения, кроме тех, которые вам действительно нужны
  2. Сделайте ОЧЕНЬ хорошую проверку на вирусы SQL Server. Если на SQL Server еще не установлен антивирусный сканер, предположите, что он заражен, и отформатируйте компьютер.
  3. Настройте безопасность базы данных, следуя рекомендациям: надежные пароли, минимальные разрешения и т. Д.
  4. Сделайте проверку на вирусы любого другого сервера в компании. Если у них нет уже установленных антивирусных сканеров, предположите, что они заражены, и отформатируйте их.

Проблема в том, что я действительно не знаю, какие входящие соединения мне нужны, и мой бюджет не позволяет мне нанять профессионала. --- Я также использую свой сервер в качестве почтового сервера, поэтому мне нужны порты pop3, imap и smtp. Я использую FTP для загрузки своих веб-страниц, установлены MSSQL в качестве сервера SQL и PLESK (включая веб-почту HORDE). --- Это в основном моя установка. - Я переименовал и отключил сертификат SQLs SA и переименовал администратора Windows в соотв.
Беренс

Мои настройки брандмауэра: oltm.dk/x/settings.jpg - Мои входящие правила: oltm.dk/x/inbound.txt - Мои исходящие правила: oltm.dk/x/outbound.txt - Может быть, вы помогите проверить настройки и удалить ненужные правила? --- Правила указаны ТОЛЬКО те, которые включены. Все отключенные не отображаются (они не активны в любом случае?)
Беренс

@erizias если вам нужна настройка брандмауэра помощь, вы можете получить лучшие ответы на Super User или , возможно , Server неисправностей или , может быть , даже информационной безопасности
jcolebrand
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.