Aquí podría ser tu PUBLICIDAD


encriptar secciones de configuración de web.config en mono

votos
2

Veo que puedo usar ASP_regiis para encriptar secciones del archivo web.config, pero estoy ejecutando mono en una caja usando Apache. ¿Hay formas de hacer esto en Mono / Linux?

Publicado el 12/03/2009 a las 16:21
fuente por usuario CSharpAtl
En otros idiomas...        العربية       

2 respuestas

votos
0

Puede hacerlo programáticamente utilizando System.Configuration.ConfigurationManager para obtener un objeto ConfigurationSection y llamar a SectionInformation.ProtecteSection ("DataProtectionConfigurationProvider") en él.

    /// <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);
                }
            }
        }
    }

Para la configuración web, necesitará usar System.Web.Configuration.WebConfigurationManager para obtener el objeto de configuración que luego puede pasar a la función anterior. Tenga en cuenta que para los archivos web.config solo ciertas secciones son encriptables.

También tenga en cuenta que si la configuración está almacenada en AppSettings, cualquiera puede escribir una aplicación simple que, cuando se ejecute en su servidor, pueda recuperar los valores de Texto sin formato de las configuraciones, siempre que conozcan los nombres de sus configuraciones.

Consulte el siguiente artículo de Jon Galloway sobre alternativas al simple cifrado de la sección AppSettings: http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config -file.aspx

Respondida el 15/05/2009 a las 10:49
fuente por usuario RobV


Aquí podría ser tu PUBLICIDAD


votos
-2

A menos que me equivoque, IIS no publicará el archivo Web.Config. Si le preocupa que la gente lo desconecte de la web, estoy seguro de que puede bloquear este archivo para que no sea servido por Apache.

Si habla de seguridad local, no creo que haya una "buena" manera de hacerlo. Supongamos que tiene una contraseña en su Web. Confíe en que la única forma de encriptar correctamente esto es requerir otra contraseña para descifrar el archivo. Así que en esencia, ya que (supongo) necesitas acceder al archivo de forma programática, simplemente te mueves donde almacenas tus contraseñas, desde la Web.Config al código fuente o a otro archivo externo, que realmente no te gana nada . Todos los demás métodos de encriptación que no requieren una contraseña para descifrar simplemente oscurecen el archivo, pero son bastante susceptibles de no estar ocultos.

Lea este artículo sobre Pidgin (anteriormente gaim) almacenando contraseñas localmente http://developer.pidgin.im/wiki/PlainTextPasswords . Además, este artículo de Wikipedia sobre claves de encriptación podría ser útil. Ambos discuten las limitaciones inherentes de la seguridad a través de la oscuridad .

Básicamente, si bloquea el archivo localmente, use la seguridad basada en cuentas de usuario para hacerlo, es decir, limite el acceso de lectura / escritura al archivo.

Respondida el 12/03/2009 a las 04:36
fuente por usuario James McMahon