У меня возникла проблема, и я не мог понять, как ее решить. У меня есть SQL Server на сервере Windows 2008 R2. Этот SQL Server 2005 используется для получения подписок БД от другого SQL Server, расположенного в другом месте в Интернете. Я имею порт сервера sql открытый через брандмауэр, однако в области я ввел IP другого сервера SQL. При этом я надеялся, что запросы на подключение через этот порт не достигнут SQL Server, если запросы не поступают от другого SQL Server (чей IP-адрес указан в области действия в правиле брандмауэра). Но, когда я вижу журнал, появляются сотни записей «сбой входа пользователя sa» (и они приходят каждую секунду). Похоже, какой-то хакер пытается грубой силой угадать пароль пользователя. Но вопрос в том, почему Windows позволяет этим запросам достигать SQL Server, даже если они не поступают с IP-адреса, указанного в области брандмауэра? Какой правильный способ защитить этот SQL Server. Никакой другой IP-адрес, кроме IP-адреса другого сервера SQL, не требуется для подключения к этому серверу SQL.
РЕДАКТИРОВАТЬ - Дополнительная информация:
Я запускал telnet на порт сервера sql с разных машин. Сбой Telnet, за исключением случаев, когда он запускается с компьютера, который специально указан в области межсетевого экрана. Таким образом, похоже, что брандмауэр нормально блокирует порт сервера SQL. Но тогда почему я вижу эти неудачные запросы входа в систему для пользователя «sa» с разных IP-адресов в журнале SQL Server? Возможно ли, что хакер входит в компьютер через порт 80, а затем пытается подключиться к серверу sql? Порты 80 и 443 открыты для всех. Все остальные порты закрыты, за исключением порта сервера sql (и он открыт только для одного определенного IP). На веб-сервере с портом 80 ничего не работает, что может привести посетителя к серверу SQL. Фактически на веб-сервере есть только один файл index.html (чистый HTML без подключения к SQL). Это просто тестовый сервер, который настраивается для будущего использования. Только тестовые данные в SQL Server.
РЕДАКТИРОВАТЬ:
Я включил трассировку брандмауэра, чтобы включить как сбрасываемые, так и успешные соединения. Сейчас отслеживает все. Затем я захожу в журнал SQL Server, где вижу неудачные попытки входа с разных IP-адресов в Китае. Но в журнале брандмауэра нет записей для этих IP-адресов. Как это возможно? Могут ли они добраться до сервера SQL в обход брандмауэра полностью? Если предположить, что какой-либо порт брандмауэра был открыт для входа, в журнале брандмауэра должна быть запись для этого IP-адреса. Я в полной растерянности.
источник
Ответы:
Похоже, ваш брандмауэр не настроен правильно. Это первый шаг.
Обычно я бы не стал сводить книгу, которую написал, но в этом случае я сделаю исключение. Он называется « Защита SQL Server», и он даст вам хорошее начало.
источник
Проще говоря - нет. Я бы не использовал afirewall и т. Д. - SQL-сервер не имеет права быть в интернете. ОЧЕНЬ ОЧЕНЬ мало исключений.
Для репликации настройте подходящий VPN.
источник
Помимо правильной настройки брандмауэра, вот несколько общих рекомендаций по защите SQL Server от атак методом перебора:
Отключить учетную запись 'sa'. Знание точного имени входа облегчит атаки
Другой вариант - переименовать учетную запись 'sa' в менее очевидное имя.
Более полезные рекомендации здесь: Предотвращение грубой силы или атаки по словарю: как уберечься от своей добычи
источник