Назад | Перейти на главную страницу

Как защитить SQL Server от хакеров

У меня проблема, и я не могу понять, как с ней справиться. У меня есть SQL Server на сервере Windows 2008 R2. Этот SQL Server 2005 используется для получения подписок на БД от другого SQL Server, расположенного в другом месте в Интернете. У меня есть порт сервера sql, открытый через брандмауэр, однако в области действия я ввел IP-адрес другого сервера SQL. При этом я надеялся, что запросы на соединение через этот порт не дойдут до SQL Server, если только запросы не поступают от другого SQL Server (чей IP указан в области действия правила брандмауэра). Но когда я вижу журнал, там есть сотни записей «пользователь не прошел вход в систему sa» (и они появляются каждую секунду). Похоже, какой-то хакер пытается подобрать пароль пользователя грубой силой. Но возникает вопрос, почему Windows позволяет этим запросам достигать SQL Server, даже если они исходят не с IP-адреса, указанного в области действия брандмауэра? Как правильно защитить этот SQL-сервер. Никакой другой IP-адрес, кроме IP-адреса другого SQL Server, не должен подключаться к этому серверу sql.

РЕДАКТИРОВАТЬ - Дополнительная информация:

Я запускал telnet на порту сервера sql с разных машин. Telnet не работает, за исключением случаев, когда он запускается с компьютера, который специально указан в области действия брандмауэра. Таким образом, похоже, что брандмауэр отлично блокирует порт сервера sql. Но тогда почему я вижу в журнале SQL Server те неудавшиеся запросы входа в систему к пользователю sa с разных IP-адресов? Возможно ли, что хакер входит в машину через порт 80, а затем каким-то образом пытается подключиться к серверу sql? Порт 80 и 443 открыты для всех. Все остальные порты закрыты, за исключением порта сервера sql (и он открыт только для одного определенного IP-адреса). На веб-сервере на 80-м порту нет ничего, что могло бы привести посетителя на SQL-сервер. Фактически, на веб-сервере есть только один файл index.html (чистый HTML без связи с SQL). Это просто тестовый сервер, который настраивается для использования в будущем. Только тестовые данные в SQL Server.

РЕДАКТИРОВАТЬ:

Я включил трассировку брандмауэра, чтобы включить как прерывание, так и успешное соединение. Сейчас отслеживает все. Затем я захожу в журнал SQL Server, где вижу эти неудачные попытки входа в систему с разных IP-адресов в Китае. Но в журнале брандмауэра нет записей для этих IP-адресов. Как это возможно? Могут ли они добраться до SQL-сервера, полностью минуя брандмауэр? Если предположить, что какой-то порт межсетевого экрана был открыт, через который они могли войти, в журнале межсетевого экрана должна быть указана запись для этого IP-адреса. Я в полной растерянности.

Похоже, ваш брандмауэр настроен неправильно. Это первый шаг.

Обычно я бы не стал сутенером написанную мной книгу, но в этом случае сделаю исключение. Это называется Обеспечение безопасности SQL Server и это даст вам хорошее начало.

Прямо сказано - нет. Я бы не стал использовать межсетевой экран и т. Д. - SQL-сервер не имеет права находиться в Интернете. ОЧЕНЬ ОЧЕНЬ немного исключений.

Для репликации настройте подходящую VPN.

Помимо правильной настройки брандмауэра, вот несколько общих рекомендаций по защите SQL Server от атак методом грубой силы:

  • Отключите учетную запись «sa». Знание точного имени пользователя упростит атаки

    ALTER LOGIN sa DISABLE
    

Другой вариант - переименовать учетную запись sa на менее очевидное имя.

ALTER LOGIN sa WITH NAME = SimonXZY
  • Используйте проверку подлинности Windows вместо проверки подлинности в смешанном режиме. Проверка подлинности Windows применяет политику паролей Windows и блокирует вход в систему в случае успешных неудачных попыток входа в систему.
  • Аудит неудачных попыток входа в систему. Самый простой способ сделать это - установить для параметра «Аудит входа в систему» ​​в свойствах сервера на вкладке «Безопасность» значение «Только неудачный вход» или «И неудачный, и успешный вход». Это не поможет вам защититься от атак грубой силы, но поможет вам знать об атаках.

Больше полезных рекомендаций здесь: Предотвращение грубой силы или атаки по словарю: как удержать грубых людей подальше от вашей добычи