Normativas de Cifrado
Refuerza normativas criptográficas del sistema
En Fedora, existen políticas para el uso de protocolos criptográficos como TLS que se aplican en todo el sistema. Cada aplicación que se añade a Fedora debe verificarse para garantizar su cumplimiento. Actualmente, las políticas se limitan a bibliotecas principales como GnuTLS, OpenSSL, NSS, libkrb5, lenguajes como Java y aplicaciones principales como OpenSSH y bind. La herramienta rpmlint advertirá cuando detecte que se debe tomar alguna medida; esta detección se basa en heurísticas y se limita a programas en C, por lo que se recomienda la inspección manual. Sin embargo, tenga en cuenta que existen aplicaciones que establecen intencionalmente configuraciones más débiles o personalizadas (por ejemplo, Postfix); estas no tienen que cumplir con la política. En caso de duda, consulte con el equipo de criptografía de Fedora en Equipo de cifrado Fedora.
Nuevas bibliotecas de cifrado
Las nuevas bibliotecas de criptografía deben cumplir con las políticas de criptografía para incorporarse a Fedora, a menos que el comité de empaquetado de Fedora haya concedido una excepción. Si desea enviar un paquete que no cumpla con las políticas de criptografía, DEBE consultar primero con el Equipo de cifrado de Fedora. Una vez aprobada, abra un ticket con el Comité de Empaquetado de Fedora para solicitar una exención. Incluya un enlace a cualquier discusión relevante.
Aplicaciones C/C++
-
Aplicaciones OpenSSL:
-
Si la aplicación proporciona un archivo de configuración que permite modificar la cadena de la lista de cifrado, asegúrese de que el archivo incluido contenga "PROFILE=SYSTEM" por defecto. En ese caso, no se requiere ninguna acción adicional.
-
Si la aplicación no tiene un archivo de configuración, asegúrese de que no se haya especificado una lista de cifrado predeterminada, o de que el listado predeterminado sea "PROFILE=SYSTEM". Es decir, revise el código fuente para ver si SSL_CTX_set_cipher_list() está presente. Si no está presente, no es necesario hacer nada (se usa la predeterminada). De lo contrario, si esa invocación está presente y proporciona una cadena fija la cual no contiene PSK ni SRP, reemplace la cadena con "PROFILE=SYSTEM" o retira la invocación.
-
-
Aplicaciones de GnuTLS:
-
Si la aplicación proporciona un archivo de configuración que permite modificar la cadena de prioridad del cifrado, el archivo incluido contiene "@SYSTEM" por defecto. En ese caso, no se requiere ninguna acción adicional.
-
Si la aplicación no tiene un archivo de configuración, asegúrese de que use gnutls_set_default_priority() o que la cadena de prioridad predeterminada sea "@SYSTEM". Es decir, revise el código fuente para ver si contiene gnutls_priority_set_direct(), o gnutls_priority_init(); si no están presentes y se usa gnutls_set_default_priority(), no es necesario realizar ninguna acción. De lo contrario, revise las cadenas proporcionadas por la aplicación. Si contiene PSK o SRP, no realice ninguna acción (estas aplicaciones no están cubiertas actualmente por la normativa predeterminada). De lo contrario, reemplace gnutls_priority_set_direct() con gnutls_set_default_priority(). Si se usa gnutls_priority_init() con una cadena fija, reemplace la cadena con "@SYSTEM".
-
Las aplicaciones que utilizan otras bibliotecas criptográficas no cumplen con las normativas criptográficas del sistema (tenga en cuenta que el cumplimiento de las normativas del sistema está en desarrollo para las bibliotecas NSS). Las aplicaciones en Fedora deberían usar una de estas bibliotecas cuando sea posible, y preferiblemente la versión recomendada por el desarrollador original.
Aplicaciones en Perl
-
Aplicaciones IO::Socket::SSL en Perl:
-
Verifique el código fuente para pasar el argumento SSL_cipher_list a métodos de IO::Socket::SSL como new(), start_SSL(), new_from_fd(), set_defaults(), set_client_defaults(), y set_server_defaults(). Si no está presente, no es necesario hacer nada (se usa el valor predeterminado). De lo contrario, si ese argumento está presente, elimínelo o cambie su valor como se describe en la sección OpenSSL.
-
-
Aplicaciones Net::SSLeay en Perl:
-
Revise el código fuente para ver si hay invocaciones a las subrutinas CTX_set_cipher_list(), set_cipher_list() y set_pref_cipher() desde el espacio de nombres Net::SSLeay. Si se produce dicha invocación, siga las instrucciones descritas en la sección sobre OpenSSL.
-
-
Aplicaciones LWP::UserAgent en Perl:
-
Revisa el código fuente para pasar el argumento SSL_cipher_list a la invocación al método ssl_opts() en un objeto LWP::UserAgent. Si se presenta dicha invocación, sigue las instrucciones descritas en la sección OpenSSL.
-
Want to help? Learn how to contribute to Fedora Docs ›