Если publi c ip - это публично маршрутизируемый IP-адрес, а порт 3050 открыт для всего мира, это небезопасно. Не открывайте свой сервер базы данных миру, это создаст очень широкую поверхность атаки для доступа к вашим данным.
Например, Firebird 2.5 и более ранние версии имеют очень слабую систему аутентификации (макс. Пароли из 8 символов) , и хотя Firebird 3 представляет новый, более безопасный механизм аутентификации, который позволяет использовать гораздо более длинные пароли, по разным причинам многие серверы по-прежнему настроены с включенной слабой аутентификацией (также). Также рассмотрите ошибки, которые могут позволить людям обходить аутентификацию или которые могут позволить людям удаленно взломать sh ваш сервер базы данных, и т.д. c.
Что касается шифрования, Firebird 2.5 и более ранние версии не имеют шифрования подключение. Это было введено в Firebird 3, и только для соединений, аутентифицируемых с помощью нового механизма аутентификации SRP (Secure Remote Password), и только если параметр WireCrypt
сервера равен Required
или Enabled
и клиент действительно запрашивает аутентификацию. Для C# для этого требуется Firebird ADO. net провайдер версии 7.0.0.0 или выше. Однако шифрование проводного протокола, предлагаемое в Firebird 3, является относительно небезопасным шифрованием RC4; Firebird 4 представит ChaCha-20 в качестве альтернативного шифрования по проводному протоколу.
Итак, ваша база данных должна находиться в той же сети, что и ваше приложение, предпочтительно на IP-адресе, который не маршрутизируется через inte rnet ( ie в одном из частных диапазонов) или, по крайней мере, защищен от rnet межсетевым экраном. Если по какой-то причине вам необходимо подключиться к удаленной базе данных через inte rnet, не открывайте базу данных напрямую для inte rnet, а используйте решение VPN или, возможно, что-то вроде туннеля на основе S SH. .
И поскольку corradolab указывает в свой ответ , не используйте masterkey
в качестве пароля для SYSDBA. Фактически, не используйте SYSDBA для подключения вашего приложения, а создайте определенного c пользователя и назначьте ему необходимые, но минимальные права для выполнения своей работы.