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

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

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

EDIT - Дополнительная информация:

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

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

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

решение1

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

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

решение2

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

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

решение3

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

  • Отключите учетную запись 'sa'. Знание точного имени входа облегчит атаки

    ALTER LOGIN sa DISABLE
    

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

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

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

Связанный контент