sectiuni config encrypt ale web.config în mono

voturi
2

Eu văd că pot folosi ASP_regiis pentru a cripta secțiuni ale fișierului web.config, dar eu sunt difuzate pe mono-o cutie, folosind Apache. Există moduri de a face acest lucru în Mono / Linux?

Întrebat 12/03/2009 la 14:21
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
-2

Dacă nu mă înșel, IIS nu va servi fișierul Web.Config. Dacă sunteți îngrijorat de oameni trăgând în jos de pe web, eu sunt sigur că puteți bloca acest fișier de servit de Apache.

Dacă este vorba despre securitatea locală, nu cred că există un „bun“ mod de a face acest lucru. Să presupunem că aveți o parolă în Web.Config ta singura modalitate de a cripta în mod corespunzător acest lucru este de a solicita o parolă pentru a decripta fișierul. Deci, în esență, din moment ce (presupun) aveți nevoie pentru a accesa fișierul programmaticly, dvs. se deplasează doar în cazul în care stocați parolele în jurul valorii, de la Web.Config la codul sursă sau într-un alt fișier extern, care într-adevăr nu va castiga nimic . Toate celelalte metode de criptare care nu necesită o parolă pentru a decripta doar obscur dosar, dar sunt destul de susceptibile de a fi ne-ascunse.

Citiți acest articol despre Pidgin (fostul Gaim) stocarea parole la nivel local http://developer.pidgin.im/wiki/PlainTextPasswords . În plus , acest articol wikipedia pe chei de criptare ar putea fi utilă. Ambele discusse limitările inerente ale securității prin obscuritate .

În esență, dacă blocați în jos local fișierul, utilizați de securitate pe bază de cont de utilizator pentru a face acest lucru, și anume limita de acces de citire / scriere la dosar.

Publicat 12/03/2009 la 14:36
sursa de către utilizator

voturi
0

Puteți face acest lucru prin programare folosind System.Configuration.ConfigurationManager pentru a obține un obiect ConfigurationSection și numesc SectionInformation.ProtecteSection ( „DataProtectionConfigurationProvider“) pe ea

    /// <summary>
    /// Encrypts a Config section from the given Configuration object
    /// </summary>
    /// <param name="sectionKey">Path to the section to Encrypt</param>
    /// <param name="config">Configuration</param>
    public static void EncryptConfigSection(String sectionKey, Configuration config)
    {
        ConfigurationSection section = config.GetSection(sectionKey);
        if (section != null)
        {
            if (!section.SectionInformation.IsProtected)
            {
                if (!section.ElementInformation.IsLocked)
                {
                    section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
                    section.SectionInformation.ForceSave = true;
                    config.Save(ConfigurationSaveMode.Full);
                }
            }
        }
    }

Pentru configurare web, va trebui să utilizați System.Web.Configuration.WebConfigurationManager pentru a obține obiectul de configurare pe care le poate trece apoi la funcția de mai sus. Rețineți că, pentru fișierele web.config numai anumite secțiuni sunt encryptable.

De asemenea, să fie conștienți de faptul că în cazul în care setările sunt stocate în AppSettings, atunci oricine poate scrie o aplicație simplă, care atunci când rulează pe serverul ar putea prelua valorile text simplu ale setărilor cu condiția ca acestea cunosc numele setărilor.

Consultați următorul articol de Jon Galloway pe alternative la criptarea pur și simplu secțiunea AppSettings: http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config -file.aspx

Publicat 15/05/2009 la 08:49
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more