2015-05-07 2 views
0

У меня есть служба Windows с сопровождающим конфигурационным файлом. Служба будет установлена ​​на кучу лабораторных компьютеров и будет отслеживать такие вещи, как дисковое пространство, сетевое подключение, логины и т. Д.Безопасный файл конфигурации службы windows

После заданного интервала он будет сообщать статистику в базу данных. Чтобы подключиться к БД, в настоящее время у меня есть имя пользователя и пароль приложения, хранящиеся в строке подключения, которые можно найти в файле конфигурации.

Каков наилучший способ защитить это, так что обычные пользователи не могут получить к нему доступ? Мы делаем то же самое с нашими webapps, используя Web.config, и у нас есть настройка IIS, чтобы люди не могли просматривать каталог и читать его.

Есть ли лучший способ защитить файл конфигурации, хранящийся локально на каждой машине для службы Windows?

+0

В Vista + вы можете использовать SID службы. Задайте ACL файла конфигурации, чтобы разрешить доступ только к 'NT SERVICE \ <имя службы>', 'NT AUTHORITY \ SYSTEM' и' BUILTIN \ Administrators'. Это не защитит файл от автономного доступа, если пользователи могут загрузить другую ОС или удалить диск. Для этого вам понадобится шифрование. – eryksun

ответ

0

Используйте тот же метод, который вы будете использовать для web.config

1 Перейдите в папку Windows Service, где конфигурационный файл находится

2 Переименовать файл конфигурации в web.config (обратно это в первую очередь)

3- Execute:

c:\Windows\Microsoft.NET\Framework64\[the asp versino]\aspnet_regiis.exe -pef "[name of the config file to encrypt]" . 

4- Переименовать web.config обратно в исходное имя

Дополнительная информация здесь https://msdn.microsoft.com/en-us/library/zhhddkxy.aspx

Смежные вопросы