Я хочу разрешить удаленный доступ к базе данных SQL Server из базы данных Microsoft Access, чтобы мой клиент мог создавать отчеты по своему усмотрению.
Я могу сделать это без каких-либо проблем, открыв соответствующий порт в брандмауэре Windows на сервере. Однако это кажется очень небезопасным способом разрешения доступа, и мой сервер, как ни странно, становится целью кого-то (или нескольких человек), пытающихся угадать пароль «sa».
Хотя этот пароль установлен в очень строгом соответствии с опубликованными правилами, я бы хотел, чтобы этого не произошло.
Каковы передовые методы предоставления доступа к серверу таким образом?
Большое спасибо, Энтони
Вам не следует открывать такую услугу напрямую для публичного доступа в Интернет, если вы можете ей помочь.
Я предлагаю использовать какую-либо форму VPN, которая обеспечит надлежащую безопасность (полностью зашифрованный трафик и т. Д.), Позволит только тем, у кого есть ключ для VPN, даже увидеть, что сервер SQL существует, и может даже ускорить процесс, добавив сжатие к смесь. Это тоже не должно ничего стоить: OpenVPN это бесплатно (и OSS), стабильно и надежно - мы постоянно используем его для похожих вещей.
Если вам не нужен полноценный VPN, установите SSH-сервер на свой компьютер и позвольте вашему клиенту подключаться через него, используя функцию туннелирования для перенаправления соединений на порт 1433. Существует ряд портов из полного набора OpenSSH для Windows, так что снова это решение F + OSS.
Если ваш клиент действительно не может справиться с лишними хлопотами, связанными с клиентом VPN или SSH, то вы мало что можете сделать. Если у них фиксированный IP-адрес, вы можете удалить попытки входа в систему из других источников, ограничив правило брандмауэра «принимать подключения к порту 1433» этим адресом. Если у них есть динамический адрес, но из фиксированного диапазона (т. Е. Они всегда подключаются от одного и того же провайдера), вы можете по крайней мере ограничить область действия правила этим диапазоном адресов.
Если ваш клиент не желает использовать VPN или SSH-туннелирование, вы можете «продать» ему решение, превознося достоинства прилично зашифрованного трафика (это прямое соединение будет отправлять данные в виде обычного текста), сжатого трафика (это может быть значительным, если они запускают отчеты, которые выводят много строк), а в случае чего-то вроде OpenVPN - более надежное соединение (OpenVPN более устойчив к сбросу и повторному подключению или другим сетевым сбоям, чем прямое соединение). Наличие SQL-сервера в любом для прямого доступа из общедоступной сети обычно считается плохой идеей.
Похоже, здесь идеально подошли бы службы SQL Reporting Services. Я мог бы быть совершенно не в своей тарелке, но похоже, что было бы удобно предоставить отчет вашему клиенту (на отдельном сервере, если возможно), не подвергая ваш сервер БД угрозой.
Не используйте SA или Переименуйте учетную запись SA.