Как утверждают другие, обфускация не является реальной защитой для строки подключения, хранящейся в клиентском приложении, где пользователь имеет доступ к двоичным файлам.
Не используйте прямое подключение к базе данных из вашей программы, если только пользовательдоверяют использовать базу данных напрямую с теми же привилегиями.Между ними должен быть сервис (веб-сервис, REST-сервис и т. Д.), Который вы размещаете на своем собственном сервере.В Linux могут размещаться сервисы любого из упомянутых мною типов (используйте Mono , если вы хотите их в .NET в Linux)
Для предоставления вашей базы данных через веб-сервис , используяMono или любой другой язык / фреймворк, который вы можете разместить в Linux, вы бы создали метод веб-сервиса для каждой элементарной операции, которую вы хотите выполнить с базой данных.
Дополнительное преимущество по сравнению с предоставлением клиентскому приложению прямого доступа к базе данных состоит в том, что, когда клиентское приложение использует службу между собой и базой данных, вы можете изменять свое хранилище данных, не затрагивая клиента.Вы можете решить изменить схему базы данных в своей базе данных или заменить базу данных решением NOSQL или даже простым файлом.
Наличие службы вместо непосредственного взаимодействия с базой данных перемещает требование аутентификации / авторизации на один шаг,так что теперь вам нужно реализовать это в сервисе.К счастью, есть широкая поддержка аутентификации в веб-сервисе.