Tema Cerrado  Enviar Tema 
Páginas (3): « Primera < Anterior 1 [2] 3 Siguiente > Ultima »
Apache 2 y SSL (solucionado)
Autor Mensaje
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #13
RE: Apache 2 y SSL

Bueno, la versión que vas a encontrar en los proveedores de hosting es la 1.3.x debido a que es mas madura y estable.
Como bien sabes lo usual en eCommerce es brindar un medio para que el cliente autentique el sitio y sus datos viajen encriptados.
¿Nos podrias ilustrar cual es el propósito particular perseguido por credinet, para requerir además la autenticación del cliente por un CA?
¿Que llevó a analizar la utilización de SSL y no otro medio?

Espero no te incomoden las preguntas, sirven para situarse en el problema y ayuda a una mejor participación.

La seguimos...


07-30-2005 12:49 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #14
RE: Apache 2 y SSL

El llamado módulo mod_SSL está en parte mejor documentado en el manual de RH9 (exlicación ejemplos) que el correpondiente en el sitio de modssl.org.
En realidad no es un módulo sino un paquete de extensión de la API (EAPI), que hace de interfaz entre Apache y el paquete openSSL.

Ya te habia pasado el link, pero con tanta info ...
Adjunto 3 slides de particular interes:

Install Apache + OpenSSl + mod_SSL
Standard Client Autentication
Internet/Intranet Access

Espero sea de utilidad, Saludoss



Archivo(s) Adjuntados Diapositiva(s)
           

07-30-2005 02:45 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #15
RE: Apache 2 y SSL

Hola,

probaste entonces de sacarle
SSLCACertificatePath /usr/local/apache2/conf/ssl.crt
y dejar solo
SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/server.crt


Y la injección a los navegadores de los crt/key con pkcs12?


07-30-2005 08:19 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario
neopel
Usuario PL


Mensajes: 43
Grupo: Registrado
Registro en: Jul 2005
Estado: Sin Conexión
Reputación: 1
Mensaje: #16
RE: Apache 2 y SSL

*****************************************************
¿Nos podrias ilustrar cual es el propósito particular perseguido por credinet, para requerir además la autenticación del cliente por un CA?
*****************************************************
El proposito perseguido es el siguiente, en la mayoria de los casos declarar una CA sirve para que el cliente que accede a la pagina al bajar el certificado pueda corroborar que el servidor web es quien dice ser.
Nuestro proposito es el contrario, crear una CA para generar certificados, que al darselos a los clientes se puedan conectar y nosotros asi corroborar que el cliente que se esta conectando es quien dice ser. De otra manera el cliente que se quiera conectar y no tenga el certificado no podra acceder.

*****************************************************
¿Que llevó a analizar la utilización de SSL y no otro medio?
*****************************************************
La implementacion de este metodo se la vio por el lado de instalarle un certificado a los clientes puntuales que se conectan y desde esa maquina unicamente puedan acceder.
Podriamos implementar el metodo de usuario y contraseña con una conexion https sin autenticacion del cliente. Pero si el cliente se va a laburar a un ciber o a su casa con el usuario y contraseña podria acceder igualmente, la idea es que esto no suceda.
Yo se que un certificado se puede exportar e instalar en otra maquina, pero esto para los usuarios es una tarea no entendibles por ellos, me explico.

P_eter yo se que me enviaste mucha info, si hay algo que me pase por alto pido disculpas, tengo mucha info y muchas cosas distintas que por ahi se me cruzan.

07-30-2005 08:29 PM
Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #17
RE: Apache 2 y SSL

Estimado neopel

No es necesario ningun tipo de disculpas es totalmente comprensible, pasa cuando se trabaja duro y el tema amerita su cuota de esfuerzo.
Dicho al pasar, a fin de mes hay para mi un credito sin retorno, no ?
Ok te paso bien los datos x MP y si es jugoso te invito a almorzar, ni hablar quedate tranquilo.

Te adjunto un script que lo vale,
Saludoss,

Peter Eisinger.
cuit...


07-30-2005 09:43 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #18
RE: Apache 2 y SSL

Feedback delay.
Te debo material, entre q el sitio estuvo down y q tengo trabajo pendiente con cierta prioridad se ha demorado. Envio hoy previa revisión.


08-02-2005 09:28 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #19
RE: Apache 2 y SSL

Excelente información sobre injection PKCS#12:

Dr Stephen N Henson\'s home page.

Consultancy Information.
Consultancy services.

Cryptographic and security related documents.

PKCS#12 program frequently asked questions.
PVK file format information.
Extracting private keys from Netscape Server Products.
Netscape Communictor Certificate Database format details.
Netscape Communicator Private Key Database format details.


Deprecated documents.

Note: these documents refer to very old versions of some pieces of software and many or all of the issues have now been resolved.


Description of Netscape \"Invalid CA\" problem.
Problems using the \"netscape-certificate-type\" extension.
Microsoft software private key security issues.


Miscellaneous Info.


Personal Info.
New 2048 bit PGP public key.
Contact Details.
Donations.

http://www.drh-consultancy.demon.co.uk/


08-02-2005 10:41 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #20
RE: Apache 2 y SSL

Una idea: podrias personalizar, dividir en 2 scripts, llamar con parámetros y agregar log para documentacion usando |tee p ej.

OpenSSL> cat script_caca.sh
#!/bin/bash
#
echo \"Gen CA key\"
openssl genrsa -rand /var/log/messages -out credinet_ca.key 2048
echo \"\"
#
echo \"Gen CA crt\"
openssl req -new -x509 -days 3660 -key credinet_ca.key -out credinet_ca.crt
echo \"\"
#############
#
echo \"Gen web key ...\"
openssl genrsa -rand /var/log/messages -out www_credinet_com.key 2048
echo \"\"
#
echo \"Gen web key signing request\"
openssl req -new -key www_credinet_com.key -out www_credinet_com.csr
echo \"\"
#
echo \"Firmando webs key con CA\"
openssl x509 -req -days 3660 -in www_credinet_com.csr -CA credinet_ca.crt
-CAkey credinet_ca.key -CAcreateserial -out www_credinet_com.crt
echo \"\"
#############
#
echo \"Gen key para adm web cli\"
openssl genrsa -rand /var/log/messages -out client_admin.key 2048
echo \"\"
#
echo \"Gen cert adm\"
openssl req -new -key client_admin.key -out client_admin.csr
echo \"\"
#
echo \"Firma adm cli\"
openssl x509 -req -days 3660 -in client_admin.csr -CA credinet_ca.crt
-CAkey credinet_ca.key -CAcreateserial -out client_admin.crt
echo \"\"
#
#
echo \"Export Admin cli certificate/key\"
#openssl x509 -in client_admin.crt -text
openssl pkcs12 -export -clcerts -in client_admin.crt -inkey
client_admin.key -out client_admin.p12
echo \"\"
############
#
echo \"Gen key para group web page clients.\"
openssl genrsa -rand /var/log/messages -out client_group.key 2048
echo \"\"
#
echo \"Gen cert signing req \"
echo \" \"group\"\".
openssl req -new -key client_group.key -out client_group.csr
echo \"\"
#
echo \"Firma\"
openssl x509 -req -days 3660 -in client_group.csr -CA credinet_ca.crt
-CAkey credinet_ca.key -CAcreateserial -out client_group.crt
echo \"\"
#
echo \"Export\"
#openssl x509 -in client_group.crt -text
openssl pkcs12 -export -clcerts -in client_group.crt -inkey
client_group.key -out client_group.p12
echo \"\"
#################
#
echo \"Gen key para empresa web page clients.\"
openssl genrsa -rand /var/log/messages -out client_empresa.key 2048
echo \"\"
#
openssl req -new -key client_empresa.key -out client_empresa.csr
echo \"\"
#
openssl x509 -req -days 3660 -in client_empresa.csr -CA credinet_ca.crt
-CAkey credinet_ca.key -CAcreateserial -out client_empresa.crt
echo \"\"
#
#openssl x509 -in client_group.crt -text
openssl pkcs12 -export -clcerts -in client_empresa.crt -inkey
client_empresa.key -out client_empresa.p12
echo \"\"
#
#End of script.

Saludos Leo, manteneme al tanto.


08-02-2005 11:31 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario
neopel
Usuario PL


Mensajes: 43
Grupo: Registrado
Registro en: Jul 2005
Estado: Sin Conexión
Reputación: 1
Mensaje: #21
RE: Apache 2 y SSL

Encontre una solucion y funciono, voy a volver a reacer todo y una ves que funcione paso el script con la solucion.
Saludos.

08-02-2005 11:57 AM
Encuentra todos los mensajes de este usuario
neopel
Usuario PL


Mensajes: 43
Grupo: Registrado
Registro en: Jul 2005
Estado: Sin Conexión
Reputación: 1
Mensaje: #22
Big Grin  RE: Apache 2 y SSL

Despues de pelear un par de semanas y con la poca info sobre ejemplos resueltos de implentacion de claves publicas y privadas con certificados de autenticacion de clientes. Les paso el:.....

Manual para instalar apache y ssl


El openssl lo isntale como RPM desde el cd del Red Hat 9. agrege el paquete.
directorio /usr/ssl/....


Apache 2.0.54
Instalacion del apache
Extract -----> $ gzip -d httpd-2.0.54.tar.gz
$ tar xvf httpd-2.0.54.tar.gz
Configure ---> $./configure --prefix=/usr/local/apache2 --enable-proxy=shared --with-mpm=prefork

--enable-so --enable-auth-digest --enable-ssl

Prefix es el directorio que instala por defecto y enabeld proxy es para poder leer sitios de otra

maquina por ejemplo el 1.117
Compile-----> $ make
Install -----> $ make install
Personalizar ---> $ vi /usr/local/apache2/conf/httpd.conf
Test --------> $ /usr/local/apache2/bin/apachectl start

Debajo de la línea # LoadModule foo_module modules/mod_foo.so agregamos:
LoadModule proxy_module modules/mod_proxy.so
# AddModule mod_proxy.c

*******************************************************************************
Si se quiere hacer SSL de aca para abajo sino con lo de arriba tiene que andar
*******************************************************************************

Modificar el Archivo mime.types para incluir los controladores para PHP
vi /usr/local/apache2/conf/mime.types

Agregar la siguiente linea

application/x-httpd-php .php


Modificar el script por el cual el apache inicia, para que inicie con SSL

$> vi /usr/local/apache2/bin/apachectl

Encontrar esta Linea

HTTPD=\'/usr/local/apache2/bin/httpd\'

y cambiarla por esta

HTTPD=\'/usr/local/apache2/bin/httpd -DSSL\'

*********************************************************
Creacion de los certificados, Claves publicas y privadas.
*********************************************************

Creamos un certificado root, Ingresamos el password
$ openssl genrsa -des3 -out clave.key 1024


Generar una petición de firma del certificado
$ openssl req -new -key clave.key -out certificado.csr

Enter pass phrase for clave.key: Ingresamos la clave del punto anterior

Country Name (2 letter code) [AU]:AR
State or Province Name (full name) [Some-State]1-razzrovincia
Locality Name (eg, city) []:Santa Fe
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Basoc SA
Organizational Unit Name (eg, section) []:Sistemas
Common Name (eg, YOUR name) []:192.168.1.117 (Ip o Nombre del servidor Web)
Email Address []:leo.basoc@basoc.com.ar

A challenge password []:fruta
An optional company name []:fruta SA



Generar un Certificado Autofirmado
$ openssl x509 -req -days 360 -in certificado.csr -signkey clave.key -out certificadocliente.crt


Instalar las claves privadas y certificados

$ mkdir /usr/local/apache2/conf/ssl.crt
$ cp certificadocliente.crt /usr/local/apache2/conf/ssl.crt/certificadocliente.crt

$ mkdir /usr/local/apache2/conf/ssl.key
$ cp clave.key /usr/local/apache2/conf/ssl.key/clave.key


Generar la clave para exportarla al cliente. Este archivo es el que tenemos que instalar en el

cliente windows(Mas abajo esta como instalarlo)
$ openssl pkcs12 -export -in server.crt -inkey server.key -out serverfruta.p12

Enter pass phrase for clave.key: (Password de nuestra Clave.key)
Enter Export Password: (Password que nos va a pedir cuando instalemos el certificado en el

cliente)
Verifying - Enter Export Password: (Repetimos el password)




luego vamos al archivo de configuracion
/usr/local/apache2/conf/ssl.conf

Estas lineas tienen que quedar asi
ServerName 192.168.1.117(IP o Nombre del servidor WEB)
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/certificadocliente.crt
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/clave.key
Todo lo demas queda como esta.
Estas dos lineas chequar que esten comentadas son las que requieren autenticacion del cliente,

esto luego lo agregamos en cada sitio particular dependiendo de quien lo requiera
#SSLVerifyClient require
#SSLVerifyDepth 5



luego vamos al archivo de configuracion
/usr/local/apache2/conf/httpd.conf
En la declaracion del sitio la configuracion tiene que esta de esta manera

Alias /xxx \"/var/www/xxx/\"
<Directory \"/var/www/xxx\">

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex Login.htm
SSLVerifyClient require (Para que requiera autenticacion de cliente)
SSLVerifyDepth 1
SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/certificadocliente.crt
SSLCACertificatePath /usr/local/apache2/conf/ssl.crt
SSLRequireSSL (para que unicamente trabaje con https y no con http)
SSLOptions +OptRenegotiate (Este parametro lo necesite por que no funcionaba el method get y post)
</Directory>

Ahi ya estariamos en condiciones de iniciar el apache

$ /usr/local/apache2/bin/apachectl startssl

Apache/2.0.54 mod_ssl/2.0.54 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server 192.168.1.117:443 (RSA)
Enter pass phrase: (Ingresamos el password de la clave.key)

Ok: Pass Phrase Dialog successful.

Para corroborar si esta corriendo corremos el siguiente comando

$ ps -A | grep httpd

Ahora pasamos la clave publica para la maquina que queremos que pueda acceder.
certcliente.p12
Para instalarla en el internet explorer:
abrimos un IE vamos al menu
Herramientas/Opciones de Internet
Solapa:
Contenido
Boton Certificados.
Iportar/Siguiente/
Buscamos el certcliente.p12 / Siguiente
Ingresamos la contraseña que pusimos cuando generamos este certificado
Tildamos los combos a conveniencia.
/siguiente
En el almacen del certificado vamos a la opcion \"Colocar todos los certificados en el siguiente

almacen\"/examinar y marcamos la carpeta \"Personal\" /Aceptar / Siguiente
/Finalizar
Sale una advertencia \"Importando una nueva clave privada de intercambio\" / Aceptar y lo importa.
Luego tiene que aparecer en la solapa \"Personal\"
Ahi estamos en condiciones de abrir el sitio ejemplo \"https://192.168.1.117/xxx\", nos muestra una

advertencia del certificado, le damos que si. Luego nos muestra con que clave queremos acceder,

selecionamos la nuestra. Nos informa que estamos trabajando con claves de seguridad, Aceptamos y

luego podemos ingresar al sitio.
Para que no nos muestre la advertencia del certificado, cuando aparece / Ver Certificado /

Instalar Certificado. Siguietne / Siguiente / Finalizar / nos muestra la info del certificado /

Si. Tener en cuanta que si la volvemos a ingresar y nos pide el certificado otra ves se es por

que la valides de este es despues de un dia de isntalado, cualquier cosa probar con cambiar la

hora para corroborar esto.

******************************************************************************** **********
Con esto tiene que andar la configuracion de apache con Claves publicas y privadas, con la

implementacion de certificados.
******************************************************************************** **********

Sugerencias:
*- Hacer copia de seguridad de clave.key-
*- Por cada sitio generar un certificado .crt y .p12



Leo

08-03-2005 09:12 AM
Encuentra todos los mensajes de este usuario
neopel
Usuario PL


Mensajes: 43
Grupo: Registrado
Registro en: Jul 2005
Estado: Sin Conexión
Reputación: 1
Mensaje: #23
RE: Apache 2 y SSL

Ahora Seguimos con la investigacion de como revocar y cancelar certificados de clientes.

08-03-2005 09:16 AM
Encuentra todos los mensajes de este usuario
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,103
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #24
RE: Apache 2 y SSL

Gracias neopel, MB trabajo !

Llegado a esta instancia, dudo tengas mayores inconvenientes con la revocación.

Sugerencia: Para fines de la vida real, hoy día es recomendable una encriptación mas fuerte, tipo RSA 2048.

Felicitaciones !!!


08-03-2005 04:36 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario
Tema Cerrado  Enviar Tema 

Posibles Temas Similares...
Tema: Autor Respuestas: Vistas: Ultimo Mensaje
  [ALTO] Apache + SSL p_eter 0 690 11-11-2005 06:24 AM
Ultimo Mensaje: p_eter

Ver la Versión para Impresión
Mandar este Tema a algún Amigo
Subscríbete a este Tema | Agrega este Tema a Tus Favoritos

Salto de Foro: