Как сделать, чтобы SQL сервер при сканировании портов не выдавал о себе информацию: название, версию, экземпляры..? Как это сделать для MS SQL, My SQL, postgreSQL, Interbase? - вопрос №2247253
600 p
Сканирование производится сдругого компьютера через сеть. Порт закрывать нельзя. В этом случае сканер портов распознаст, что порт открыт, но не определит, что там SQL Server и какой.
если порт открыт, он не может не выдавать информацию о себе. этим вы нарушите логику работы самого sql сервера, т.е. фактически выдача информации — это уже работа самого sql. максимум, что можно сделать, переназначить порт на неочевидный и возможно сделать запрет на выдачу определенных сведений через deny запрет разрешений на объект msdn.microsoft.com/ru-ru/library/ms173724.aspx но скорее всего это скажется и на работоспособности самого сервера.
надо учесть что выдача инфы о самом сервере необходима для корректной работы легального клиента этого сервера
раз уж нельзя закрывать порты, значит ожидается подключение таких клиентов
в этой ситуации невозможно скрыться от сканеров недоброжелателей в принципе. смещение портов на другие номера так же не спасает от сканеров
можно только рекомендовать регулярно ставить обновления обновления безопасности для выбранного сервера
в случае, когда если Вы разработчик и серверной части и клиентского приложения (нативного или браузерного не суть важно), есть еще один вариант скрыть технические детали хранения данных — разработка web-api скрывающего доступ к серверу БД. на уровне web-api гораздо больше возможностей ужесточить контроль и за авторизацией и за синтаксисом обращений (полностью исключить SQL инъекции)… естественно это требует достаточно серьезного уровня квалификации