Herramientas de usuario

Herramientas del sitio


sad:t2:p1

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sad:t2:p1 [2017/09/28 08:33]
José Manuel Guallar
sad:t2:p1 [2019/01/04 13:18] (actual)
Línea 1: Línea 1:
  
-====== ​Introducción ​======+====== ​ ​Aplicación ​ Hotspot Shield====== 
 +**Herramientas de seguridad**
  
-**OpenSSL**+** Navegación a través de un túnel cifrado ​**
  
-Secure Sockets Layer es un protocolo de la capa de aplicación que fue desarrollado por Netscape Corporation con el propósito de transmitir información confidencial,​ como datos de las tarjetas de crédito, a través de Internet. 
  
-SSL funciona utilizando una clave privada para cifrar ​los datos transferidos a través ​de la conexión habilitada para SSL, lo que evita la escucha ilegal ​de la información.+La aplicación crea un túnel cifrado entre el sistema en que se instala y los servidores del suministrador ​de servicio mediante una VPN de modo que 
  
-El uso más popular de SSL es utilizarlo junto con el navegador web (utilizando el protocolo HTTP), pero muchas aplicaciones de red pueden beneficiarse del uso de SSL. Las URL que requieren una conexión SSL comienzan con https: en lugar de http :.+  * Toda acceso al exterior se conecta al túnel para salir al exterior 
 +  * De modo transparente al usuario 
 +  * Mantiene ​el anonimato ​de las conexiones
  
-OpenSSL es una robusta implementación Oopen Source que habilita herramientas SSL y una biblioteca de propósito general basada en SSLeay, desarrollada por Eric A. Young y Tim J. Hudson. ​+Es muy útil para cifrar las conexiones cuando se utilizan accesos públicos a Internet
  
 +Se puede descargar desde http://​hotspotshield.com/​
  
-**X.509**+1.- Vista de la tabla de rutas antes de la instalación de Hotspot Shield
  
-X.509 es una especificación para certificados digitales publicada por la Unión Internacional ​de Telecomunicaciones ​+2.- Ejecución ​de tracert
  
-Telecomunicaciones (UIT-T). Especifica la información y los atributos necesarios para la identificación ​de una persona o un sistema informático,​ se utiliza para la gestión segura y la distribución de certificados firmados digitalmente a través de redes seguras de Internet. OpenSSL más comúnmente utiliza certificados X.509.+3.-Instalación ​de la aplicación Hotspot Shield
  
-===== Instalación =====+4.- Se recomienda no instalar la barra de herramientas (es adware)
  
 +5.- La instalación crea los adaptadores para crear el túnel de la VPN
  
 +6.- Vista de la tabla de rutas después de la instalación,​ que ha modificado las rutas
  
-Software relacionado con SSL:+7.- Ejecución de tracert después de la instalación:el tercer salto es anchorfree (fabricante de Hotspot Shield) 
 +  * Con el servicio activado, se puede navegar libremente, pero protegido
  
 +8.- Desde el icono de la barra de tareas podemos activar/​desactivar el túnel, lo que modificará la tabla de rutas
  
-<code bash> 
- 
-apt-cache search libssl | grep SSL 
- 
-ca-certificates 
-    
-libssl-dev sirve para desarrollar con ssl 
- 
-</​code>​ 
- 
-===== Creacion =====  ​ 
- 
-**Certificados SSL** 
- 
-Vamos a intentan entender los conceptos implicados en la generación y uso de certificados SSL, tanto de la variedad autofirmada,​ como aquellos firmados por una autoridad de certificación reconocida para su uso con una aplicación de servidor que admita SSL y el uso de X. 509 certificados en aplicaciones cliente. 
- 
- 
-**Certificados SSL para el uso del servidor** 
- 
-Una vez que haya generado correctamente un certificado SSL compatible con X.509, puede optar por firmar el certificado por uno mismo, generando una Autoridad de Certificación (CA) o puede optar por que una Autoridad de Certificación globalmente reconocida firme el certificado. 
- 
-Cuando el certificado está firmado, entonces está listo para ser utilizado con el kit de herramientas de OpenSSL ​ para permitir conexiones SSL cifradas a un protocolo LDAP o HTTP, por ejemplo. 
- 
-vamos a describir la generación de certificados y el proceso de firma para los certificados firmados por CA y firmados por CA. 
- 
-**Generación y firma de certificados auto-firmados** 
- 
-Los certificados autofirmados tienen una gran ventaja en cuanto a que son completamente gratuitos y pueden generarse, firmarse y utilizarse según sea necesario. Los certificados autofirmados son ideales para su uso en entornos de laboratorio cerrado o para fines de prueba. 
- 
-Uno de los inconvenientes del uso de certificados autofirmados,​ es que normalmente se publica por el navegador Web y las aplicaciones las aplicaciones cliente (por ejemplo, Firefox) sacarán advertencias de abandonar la pagina por no ser segura, y sólo suprimirán dichas advertencias si los certificados que se firman utilizando una entidad de certificación reconocida y confiable a nivel mundial. 
- 
-El uso de certificados autofirmados en un entorno de producción accesible al público no se recomienda debido a los problemas implícitos de confianza derivados de estas advertencias,​ además de la posible confusión causada a los usuarios. 
- 
- 
-**Creación de la autoridad de certificación** 
- 
-En primer lugar, se crea un entorno de trabajo inicial, por ejemplo, dentro de su directorio principal, escribiendo el siguiente comando desde el terminal: 
- 
-<code bash> 
-  cd && mkdir -p myCA / signedcerts && mkdir myCA / private && cd myCA 
-</​code>​ 
- 
-El comando anterior lo colocará en un subdirectorio recién creado de su directorio home llamado myCA, y dentro de este subdirectorio,​ debería tener dos subdirectorios adicionales denominados signedcerts y private. 
- 
-Dentro de este entorno de trabajo inicial, la significación de los subdirectorios y su contenido es la siguiente: 
- 
-  ~ / myCA: contiene el certificado de CA, la base de datos de certificados,​ los certificados generados, las claves y las solicitudes 
-  ~ / myCA / signedcerts:​ contiene copias de cada certificado firmado 
-  ~ / myCA / private: contiene la clave privada 
-  ​ 
-A continuación,​ creamos una base de datos de certificados inicial en el subdirectorio~ / myCA con el siguiente comando: 
-<code bash> 
-  echo '​01'>​ serial && touch index.txt 
-</​code>​ 
- 
-Creamos el fichero de configuración ~/​myCA/​caconfig.cnf que a continuación pongo con las opciones por defecto de la CA 
-<code bash> 
-  # My sample caconfig.cnf file. 
-  # 
-  # Default configuration to use when one is not provided on the command line. 
-  # 
-  [ ca ] 
-  default_ca ​     = local_ca 
-  # 
-  # 
-  # Default location of directories and files needed to generate certificates. 
-  # 
-  [ local_ca ] 
-  dir             = /​home/<​username>/​myCA 
-  certificate ​    = $dir/​cacert.pem 
-  database ​       = $dir/​index.txt 
-  new_certs_dir ​  = $dir/​signedcerts 
-  private_key ​    = $dir/​private/​cakey.pem 
-  serial ​         = $dir/serial 
-  #        
-  # 
-  # Default expiration and encryption policies for certificates. 
-  # 
-  default_crl_days ​       = 365 
-  default_days ​           = 1825 
-  default_md ​             = md5 
-  #        
-  policy ​         = local_ca_policy 
-  x509_extensions = local_ca_extensions 
-  #        
-  # 
-  # Default policy to use when generating server certificates. ​ The following 
-  # fields must be defined in the server certificate. 
-  # 
-  [ local_ca_policy ] 
-  commonName ​             = supplied 
-  stateOrProvinceName ​    = supplied 
-  countryName ​            = supplied 
-  emailAddress ​           = supplied 
-  organizationName ​       = supplied 
-  organizationalUnitName ​ = supplied 
-  #        
-  # 
-  # x509 extensions to use when generating server certificates.  ​ 
-  # 
-  [ local_ca_extensions ] 
-  subjectAltName ​         = DNS:​alt.tradeshowhell.com 
-  basicConstraints ​       = CA:false 
-  nsCertType ​             = server 
-  #        
-  # 
-  # The default root certificate generation policy.  ​ 
-  # 
-  [ req ] 
-  default_bits ​   = 2048 
-  default_keyfile = /​home/<​username>/​myCA/​private/​cakey.pem 
-  default_md ​     = md5 
-  #        
-  prompt ​                 = no 
-  distinguished_name ​     = root_ca_distinguished_name 
-  x509_extensions ​        = root_ca_extensions 
-  # 
-  # 
-  # Root Certificate Authority distinguished name.  Change these fields to match 
-  # your local environment! 
-  # 
-  [ root_ca_distinguished_name ] 
-  commonName ​             = MyOwn Root Certificate Authority 
-  stateOrProvinceName ​    = NC 
-  countryName ​            = US 
-  emailAddress ​           = root@tradeshowhell.com 
-  organizationName ​       = Trade Show Hell 
-  organizationalUnitName ​ = IT Department 
-  #        
-  [ root_ca_extensions ] 
-  basicConstraints ​       = CA:true 
-</​code>​ 
- 
-IMPORTANTE: Tenemos que ajustar los detalles específicos del sitio en el archivo, como las dos instrucciones de 
- 
-  / home / <​nombre_usuario>​ /... en [local_ca] y [req]. 
- 
-También hay que cambiar commonName, stateOrProvinceName countryName,​ etc. en   [ root_ca_distinguished_name ] para personalizar el entorno. 
- 
-Una vez editado el archivo modificado con nuestro entorno, lo tenemos que guardar como  ~ / myCA / caconfig.cnf. 
- 
-A continuación,​ se debe generar el certificado raíz de la entidad emisora ​​de certificados y la clave, para ello, tenemos que escribir los siguientes comandos: 
- 
- ​Primero,​ hay que  escribir: 
- 
-  export ​ OPENSSL_CONF=~/​myCA/​caconfig.cnf 
- 
-Este comando establece una variable de entorno, OPENSSL_CONF,​ que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación determinada (en este caso, ~/​myCA/​caconfig.cnf). 
- 
-===== generar ===== 
-**Generación del certificado de la CA y de su clave privada** 
- 
-Ahora, generamos el certificado y la clave de la CA con el siguiente comando: 
- 
-  openssl req -x509 -nuevo rsa: 2048 -out cacert.pem -outform PEM-días 1825 
- 
-Nos pedirá una frase de contraseña (passphrase) y veremos una salida similar a la siguiente: 
- 
-  Generating a 2048 bit RSA private key .................................+++ ​ 
-  .................................................................................................+++ ​ 
-  writing new private key to '/​home/​bshumate/​myCA/​private/​cakey.pem' ​ 
-  Enter PEM pass phrase: ​ 
-  Verifying - Enter PEM pass phrase: ​ 
-  ----- 
- 
-**IMPORTANTE** NO OLVIDAR LA CONTRASEÑA USADA  ¡¡¡ La necesitaremos cada vez que deseemos generar y firmar un nuevo certificado de servidor o cliente 
- 
- 
-El proceso anterior creará un certificado autofirmado que utilizará el formato PEM y el cifrado de clave pública / privada RSA. 
- 
-El certificado será válido por 1825 días. 
- 
-La ubicación y el propósito de los archivos resultantes son los siguientes: 
- 
-  ~/​myCA/​cacert.pem:​ certificado público de CA 
-  ~/​myCA/​private/​cakey.pem:​ clave privada de CA 
- 
- 
-==== Creación de un certificado de servidor auto-firmado ==== 
- 
-Ahora que tenemos ​ una Autoridad de certificación configurada,​ la podemos usar para firmar certificados autofirmados. 
- 
-Antes de comenzar, tenemos que pensar que es posible que deseemos cifrar la clave privada del certificado con una contraseña. 
- 
-Las ventajas de cifrar la clave con una contraseña incluyen la protección del certificado en caso de que sea robado. 
- 
- 
-El certificado no se puede utilizar con aplicaciones habilitadas para SSL sin introducir la frase de acceso cada vez que se inicia la aplicación habilitada para SSL. 
- 
-Para generar un certificado autofirmado y usarlo con una aplicación SSL, seguimos este proceso: 
- 
-Crear el archivo de configuración del servidor editando 
-    
-   ~ / myCA / exampleserver.cnf con su editor de texto favorito. 
-  ​ 
- ​Añadir este ejemplo de contenido: 
- 
-  # 
-  # exampleserver.cnf 
-  # 
-  ​ 
-  [ req ] 
-  prompt ​                 = no 
-  distinguished_name ​     = server_distinguished_name 
-  ​ 
-  [ server_distinguished_name ] 
-  commonName ​             = videosdeinformatica.es 
-  stateOrProvinceName ​    = Aragon 
-  countryName ​            = ES 
-  emailAddress ​           = jmguallar@fundacionmontessori.com 
-  organizationName ​       = Colegio Montessori 
-  organizationalUnitName ​ = Departamento de Informatica 
- 
- 
-Tenemos que cambiar los valores en server_distinguished_name especialmente el valor commonName. 
- 
-El valor commonName debe coincidir con el nombre de host, o CNAME para el host que desea utilizar la clave. 
- 
-Si commonName no coincide con el nombre de host previsto, los errores de incompatibilidad de host / certificado aparecerán en las aplicaciones cliente de los clientes que intenten acceder al servidor. 
- 
-Una vez que hayamos editado el archivo adecuadamente,​ lo guardamos como 
-  
-  ~/​myCA/​exampleserver.cnf. 
- 
-Y generamos el certificado de servidor y clave con los siguientes comandos: 
- 
-  export OPENSSL_CONF=~/​myCA/​exampleserver.cnf 
- 
-Este comando establece una variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, ~/​myCA/​exampleserver.cnf). 
- 
-Ahora generamos el certificado y clave: 
- 
-  openssl req -newkey rsa: 1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM 
- 
-Te pedirá una contraseña y saldrá por pantalla un mensaje similar al siguiente: 
- 
-  Generating a 1024 bit RSA private key ...++++++ 
-  ...............++++++  ​ 
-  writing new private key to '​tempkey.pem' ​ 
-  Enter PEM pass phrase: ​ 
-  Verifying - Enter PEM pass phrase: 
-  ----- 
- 
-**¡No olvides la contraseña!** 
- 
- 
-Y se generan estos dos ficheros: la petición (tempreq.pem) y la clave privada del certificado (tempkey.pem) 
- 
-Ahora debe firmar el certificado de servidor con la clave de la entidad emisora ​​de certificados (CA) utilizando estos comandos: 
- 
-   ​export OPENSSL_CONF = ~ / myCA / caconfig.cnf 
- 
-El comando anterior modifica la variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, ~ / myCA / caconfig.cnf para volver a la configuración de CA). 
- 
- 
-A continuación,​ firme el certificado como sigue: 
- 
-   ​openssl ca -in tempreq.pem -out server_crt.pem 
- 
-Pedirá la contraseña de la CA creada en la configuración de la entidad emisora ​​de certificados de arriba. 
- 
-Introducimos la contraseña y, a continuación,​ nos pedirá si estamos conforme con la información de  exampleserver.cnf y, finalmente, se le pide que confirmes la firma del certificado. La salida debe ser similar a esto: 
- 
-<code bash> 
-  Using configuration from /​home/​guallar/​myCA/​caconfig.cnf ​ 
-  Enter pass phrase for /​home/​guallar/​myCA/​private/​cakey.pem: ​ 
-Check that the request matches the signature ​ 
-Signature ok  
-The Subject'​s Distinguished Name is as follows ​ 
-commonName :​PRINTABLE:'​videosdeinformatica.es' ​ 
-stateOrProvinceName :​PRINTABLE:'​Aragon' ​ 
-countryName :​PRINTABLE:'​ES' ​ 
-emailAddress :​IA5STRING:'​jmguallar@fundacionmontessori.com' ​ 
-organizationName :​PRINTABLE:'​colegio montessori' ​ 
-organizationalUnitName :​PRINTABLE:'​departamento informatica' ​ 
-Certificate is to be certified until Jan 4 21:50:08 2011 GMT (1825 days)  
-Sign the certificate?​ [y/​n]:​y ​ 
- 
-1 out of 1 certificate requests certified, commit? [y/​n]y ​ 
-Write out database with 1 new entries Data Base  
-Updated 
- 
-</​code>​ 
  
sad/t2/p1.1506587598.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)