Что можно сделать, чтобы защитить сервер SQL 2005 без дополнительного оборудования?
Я помогаю клиенту с открытым сервером MSSQL 2005. Они не будут сдвигаться с мертвой точки на брандмауэре или решении VPN... и там журналы полны признаков атак.
Что можно сделать, чтобы защитить сервер SQL 2005 без дополнительного оборудования?
Под разоблаченным я подразумеваю, если вы указываете SSMS на общедоступный IP-адрес с правильными учетными данными, которые вы подключили.
5 ответов
Немного старый, но все еще имеет некоторую хорошую информацию. Глава MSDN по защите вашего сервера базы данных. http://msdn.microsoft.com/en-us/library/Aa302434
Вы также можете приобрести программный брандмауэр, например Zone Alarm или Outpost.
Один дешевый трюк - перевести прослушивающий порт с 1433 по умолчанию. Клиенты могут подключаться с использованием явного синтаксиса порта, например tcp:74.125.19.104,12345
если порт 12345. Это устраняет подавляющее большинство ботов, сканирующих 1433 на наличие чистой ошибки. Это, конечно, не решает компанию из-за других обязанностей: политика надежных паролей, переработка паролей, мониторинг журналов на предмет подозрительных действий и т. Д. И т. Д.
Еще одна вещь, которую они должны рассмотреть, это реализовать DirectAccess. DA устраняет большинство, если не все недостатки старых VPN-решений, и компании, напуганные ценой VPN службы поддержки, должны вместо этого серьезно рассмотреть DA.
И, наконец, возникает очевидный вопрос: зачем им доступ к TDS из Интернета? Зная, что является требованием, мы можем порекомендовать альтернативные, менее опасные решения.
Настройте политику IPSEC, которая разрешает подключения к портам SQL Server на основе белого списка IP-адресов / диапазонов, как упоминалось ранее. Это означает, что ОС будет нести бремя игнорирования трафика (именно поэтому сетевые устройства предпочтительнее). Убедитесь, что межсетевой экран работает для защиты всех портов ОС, особенно тех, которые связаны с RPC, SMB и т. Д. Убедитесь, что политика IPSEC разрешает ТОЛЬКО подключение к порту SQL Server. Вам не нужно открывать порт для службы браузера SQL (udp/1434).
Если вы можете, измените порт, который прослушивает SQL Server (вероятно, tcp/1433), к другому порту (убедитесь, что политика IPSEC соответствует). Если он не находится на хорошо известном порте, особенно если это порт более высокого уровня, это остановит большую часть сканирования системы. Пользователям просто нужно знать, чтобы подключиться через сервер,порт, а не просто сервер.
(Этот публичный IP-адрес принадлежит Google, поэтому редактирование, вероятно, не было необходимости)
Лучшее, что вы можете сделать для защиты SQL-сервера любой полосы, - это внести в белый список хосты, которым разрешено подключаться к нему, и убедиться, что на этом компьютере запущено как можно меньше других служб.
Еще одна хорошая практика - строго ограничивать доступ со стороны сети. Если веб-приложению разрешено запускать только несколько десятков хранимых процедур, то практически нет векторов атак с эксплуатируемого веб-сайта. С другой стороны, если он может выполнять произвольные запросы, у вас будут проблемы.
Никогда не запускайте веб-сервер на компьютере базы данных: это огромный ненужный вектор атаки, которого следует избегать, когда это возможно. Веб-серверы и веб-сервисы очень часто используются. Если ваша база данных подключена к той же машине, то вероятность ее удаления также значительно выше.
Самый простой способ добиться всего этого (без добавления какого-либо нового оборудования) - включить IPSEC и туннелировать запросы с вашего веб-сервера на сервер базы данных. Вот базовое руководство по IPSEC.
Если вам нужно иметь их на одном сервере, вы можете получить немного безопасности, разрешив только локальные соединения, но это не поможет, если ваш сайт будет эксплуатироваться.
Чтобы отключить удаленные подключения, перейдите в раздел "Сервер-> Свойства-> Подключения" и снимите флажок "Разрешить удаленные подключения к этому серверу".
Я бы настоятельно рекомендовал разорвать все связи с компанией, которая настаивает на размещении своей БД в сети без какой-либо формы IPSec, межсетевого экрана или частных соединений. Я надеюсь, что они по крайней мере используют некоторую форму шифрования.
Это большая ответственность, ожидающая, чтобы случиться; возможно судебный процесс или преступная халатность (в зависимости от данных).