У нас есть один веб-сервер с SQL-сервером и т. Д. (Все MS, сервер 2008 и т. Д.).
Нам нужно разрешить доступ к базе данных напрямую, чтобы наш клиент мог писать отчеты (это способ SSRS!). У нас изначально БД просто стояла в Интернете, вы не поверите, сколько попыток было сделано для входа в учетную запись sa!
sa переименована во что-то другое, и мы используем брандмауэр Windows.
Дело в том, что некоторые клиенты работают из дома с динамическими IP-адресами, поэтому они должны отправлять почту каждый день / неделю / перезагрузку маршрутизатора, и мне нужно подключиться к удаленному рабочему столу, чтобы разрешить этот IP-адрес.
ЕСТЬ ЛИ СПОСОБ ЛУЧШЕ? Я думал о веб-интерфейсе для брандмауэра, они могут добавить свой собственный IP-адрес или, что лучше, просто войти в систему, и это позволяет получить доступ ко всему с этого IP-адреса или что-то в этом роде.
Если мы говорим о настройке компании, то нет никаких причин для доступа к этому серверу SQL из Интернета.
Если вам нужно разрешить доступ для перемещающихся клиентов, используйте соответствующий брандмауэр с решением VPN. У Watchguard и Palo Alto есть действительно хорошие решения для VPN. Также проверьте, есть ли эта функция в текущем брандмауэре компании.
Опять же, я не могу не подчеркнуть этого, используйте надлежащий брандмауэр!
У нас есть один веб-сервер с SQL-сервером и т. Д.
Возможен неудачный выбор дизайна - и веб-серверам, и базам данных нравится иметь много «места» для бега. Наличие обоих на одном сервере может вызвать проблемы с конкуренцией.
Нам нужно разрешить доступ к базе данных напрямую, чтобы наш клиент мог писать отчеты ... SSRS
Зачем? Если у вас уже есть «веб-сервер, SQL Server и т. Д.» почему бы на этой машине не установить SSRS и не дать им доступ [к веб-интерфейсу] к этому?
У нас изначально была БД, просто сидящая в Интернете ...
Нет, просто нет.
Веб-серверы имеют встроенную защиту от «гадостей», которые существуют «Out There». Базы данных серверов нет. Вы должен «изолируйте» свои базы данных от «нежелательных».
Запуск приложения SSRS через веб-сервер - простой способ добиться этого.
Вы определенно не хотите, чтобы внешние стороны настраивали брандмауэр на производственном сервере базы данных из Интернета. Однако для вашего удобства можно создать сценарий конфигурации брандмауэра Windows с помощью PowerShell, например, для подачи правил из текстового файла или подобного. Однако это не решает вашу непосредственную проблему.
Возможно ли переосмысление того, как клиенты подключаются к услуге? Предоставление клиентам доступа к защищенному иным образом защищенному компьютеру Windows в вашей сети (с установленным необходимым клиентским программным обеспечением) через что-то вроде Апач Гуакамоле, или VPN (согласно предложению @Pittos) позволят вам перенести повторяющиеся изменения безопасности с сервера базы данных. Вы также будете управлять учетными данными пользователей, а не правилами брандмауэра. Это, вероятно, значительно снижает риск ошибок.
Я думаю, что VPN будет хорошим решением (если я правильно понял ваши потребности). Вы можете легко установить бесплатный и очень безопасный, используя OpenVPN (у вас есть возможность использовать имя пользователя / пароли и 2048-битные сертификаты: конечно, если вы спросите меня). Самый быстрый и простой способ, который я нашел для реализации этого решения, - использовать довольно старый компьютер (подойдет любой p4 с 2 сетевыми картами) и Zeroshell (http://www.zeroshell.net/). Не стесняйтесь спрашивать любые подробности :)