Ricardo Pl

…..un lugar para pensar sin tener algo que pensar!

De vuelta!

Pronto empezaré a postear nuevamente artículos relacionados a tecnología.
Pero serán siempre cosas que he instalado/configurado/creado personalmente no serán reposts.

Los veo pronto.

Deja un comentario »

Desatendido

Este Blog, ya no será atendido, se mantiene la información únicamente para consulta.

http://riposin.tumblr.com

Deja un comentario »

Instalar certificado Thawte SSL123 en Apache y Linux

En realidad este fue un cambio de certificado, ya que hasta antes de solicitar el certificado Thawte se estaba usando uno de VeriSign que por cierto al final me agrada mas el VeriSign que el Thawte.

Primeramente se requiere crear un CSR Cert Sign Request o algo así, que es la petición para que una entidad certificadora (CA) te de, valga la redundancia tu certificado.

Yo lo logre con el siguiente comando desde consola y teniendo previamente instalado el openSSL (si no tendrán que instalarlo):

#openssl req -new -nodes -keyout private.key -out public.csr –newkey 1024

En mi caso usé 2048 que era lo que solicitó Thawte a la fecha de publicación.

Al ejecutarlo pedirá ciertos datos que serán usados por la CA para autentificar los como empresa.

Country name: MX

Estate: Yucatan

Ciudad: SuCiudad

Organization name: (Es el nombre de la empresa como esta registrada por ej: Chepito S.A. de C.V.)

Organizational unit name: (Es el nombre del depto responsable del certificado ej. sistemas)

Common name: (IMPORTANTISISMO! es el nombre del sitio a asegurar, sin http o algo por el estilo y sin subcarpetas (…/arc/index.php), ej: http://www.chepitosales.com; si se coloca mal, la comprobación del certificado dará errores)

Email: (Se puede omitir al igual que los demas parametros;  yo los omití)

Bien, todo lo anterior genera dos ficheros uno llamado public.csr que es el que se enviará a su CA (Thawte) o a la empresa con la cual están contratando el servicio y uno que no deberán perder que es su clave privada private.key (si la pierden ni su CA ni toda la potencia de procesamiento del mundo la podrán recuperar, en teoría) esta no se envía a nadie; se debe guardar en una carpeta FUERA de la raíz del sitio para que no sea accesible y ademas proporcionarle los permisos adecuados para que el usuario de Apache lo pueda leer.

Ahora el CSR se puede enviar a una CA o bien, autofirmalos nosotros mismos siendo CA’s cosa que no explicare por que son papas de otro costal.

Una vez enviado a tu CA (Thawte) este valida los datos 10 a 15mins ó en 2 dias máximo según Thawte.

Entonces les envía un correo (ojo antes de esto Thawte les pedirá la cuenta de webmaster@misitioaproteger.com asi que tenganlo activa y a la mano) con el certificado e información adicional según sea requerido.

En el correo copien el certificado firmado incluyendo «—BEGIN CERTIFICADE—» hasta «—END CERTIFICADE—» y guardenlo en un archivo (de TEXTO PLANO por favor para evitar caracteres de control) con extensión .crt

después según Thawte este requiere un certificado intermedio que bajas desde https://search.thawte.com/library/VERISIGN/ALL_OTHER/thawte%20ca/SSL123_CA_Bundle.pem

este solo aplica para «ssl123» Ok; bajenlo y guardenlo con extensión .crt (no, esto no afecta en nada en el caso de APACHE); este archivo también es conocido como el certificado intermedio así que para no perdernos, guardenlo con el nombre «intermediate.crt».

Ahora coloquen los 3 archivos anteriores en una carpeta en su server (o en varias, pero que estén fuera de la raíz de su server web) Ok.

Ubiquen el archivo de configuración de Apache, no les puedo decir exactamente donde se encuentra y como se llama, ya que se pueden hacer includes hacia otras ubicaciones y porque también cada quien instala y configura Apache a su gusto y conveniencia; ya ubicado el archivo entren y configuren un host virtual que escuche por 443 (claro de no tenerlo) luego coloquen las lineas

SSLEngine on
SSLCertificateFile /dir/a/su/archivo/deCertificado/en/esteCaso/public.crt
SSLCertificateKeyFile /dir/a/su/archivo/deClavePrivada/en/esteCaso/private.key
SSLCACertificateFile  /dir/a/su/archivo/CAIntermedio/en/esteCaso/intermediate.crt

!Aclaracion, la ultima linea en algunos servers se sustitye por SSLCetificateChainFile ; pero ni idea tengo de que con eso.

Listo…guarden el archivo y reinicien Apache /etc/init.d/apache2 restart

->En mi caso yo solo sustituí los archivos por los nuevos y reinicie.

->Si estas instalando por primera vez, tal vez deberías habilitar:

#a2enmod ssl
#a2ensite default-ssl
y reiniciar apache.
->No olviden poner el TrsutedSeal de su CA en el caso de Thawte esta en: https://www.thawte.com/ssl-digital-certificates/trusted-site-seal/siteseal_installation.html
y con eso esta listo.
->Su usan apache tomcat, deberian configurar server.xml
Bueno para mas info aqui les dejo las ligas de donde me base para este articulo:
http://www.flashcerts.com/CSRApache.aspx
http://www.vicente-navarro.com/blog/2009/02/22/crear-los-certificados-ssl-para-nuestro-servidor-web-https-con-apache-openssl-y-debian-lenny/
http://www.estrellateyarde.org/discover/encriptacion-y-criptografia/http-seguro-ssl/servidor-web-con-soporte-ssl
http://www.cepeu.edu.py/LIBROS_ELECTRONICOS_4/apache_es.pdf
1 Comentario »

.htaccess

No pretendo describir completamente el uso y las bondades del archivito .htaccess que usa apache para el acceso a las carpetas; solo quiero dar una idea de que es y como se usa.

«Es un archivo de configuración en un servidor Web, y contiene comandos en el lenguaje del servidor que le indican cómo debe comportarse en ciertas situaciones.
Apache, y otros servidores que cumplan las normas del NCSA pueden usar htaccess.»

Entre sus usos van desde denegar y/o controlar el acceso a carpetas mediante cuentas de usuarios, pasando por evitar el hotlinking y hasta hacer redirecciones a un nuevo dominio sin perder nuestro ranking de Google.

Los archivos .htaccess se pueden definir por cada carpeta, la cual heredará a sus subcarpetas las politicas definidas en ella pero las cuales pueden sobreescribirse; de hecho en la configuracion del servidor apache existe un archivo htaccess por defecto.

Aqui un ejemplo del uso:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://misite.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://misite.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.misite.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.misite.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/m/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://[^/.]\.feedburner\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/Misite$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ http://venbenetta.com/imgs/active.gif [R,NC,L]

En el ejemplo anterior se evita el hotlinking.

Para empezar se activa el motor de Rewrite (linea1), luego se definen las condiciones que se deben cumplir para ejecutar la accion en RewriteRule. Sencillo no.

Aqui unos links que ayudaran mas a comprenderlo:

http://taironcave.com/trucos-para-tu-htaccess-como-evitar-el-hotlink

http://www.davitron.com.ar/redireccion-usando-htaccess-en-apache.html

http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess

Deja un comentario »

Implementación de RSA con JavaScript y PHP

Wow¡, pensando mucho en como enviar datos codificados con el metodo de clave publica y privada (RSA en lo que se basa SSL y HTTPS), me puse a preguntarle a mi santo de preferencia «SanG==San Google», despues de estar buscando por ahi y por aya, me tope con este blog que me solucionò el asunto en un dos por tres y le agradezco su aporte rsa-con-php-y-javascrip pero tenia un PERO, el servidor, en donde debia usar el codigo en PHP no tenia instalada la libreria GMP asi que namas toque unas 2 o tres lineas de codigo para sustituir eso metodos con los de la libreria BC Math y listo, voila funcionó.

Para ver un ejemplo de su codigo funcionando(con GMP) aqui les dejo un link RSA

El codigo fuente lo pueden encontrar en la pagina donde encontre este aporte.

Ciao nos leemos luego.

Deja un comentario »

Metodo clone en JavaScript

Pense que existia el metodo clone para los objetos de javaScript y pues me sorprendi al enterarme que NO, asi que me puse a buscar y encontre uno, y funciona fine:

function clone(from) {

if(from == null || typeof from != «object»)

return from;

if(from.constructor != Object &&

from.constructor != Array)

return from;

if(from.constructor == Date ||

from.constructor == RegExp ||

from.constructor == Function ||

from.constructor == String ||

from.constructor == Number ||

from.constructor == Boolean)

return new from.constructor(from);

var to = {};

to = to || new from.constructor();

for (var name in from) {

to[name] = typeof to[name] == «undefined» ?

this.clone(from[name]) :

to[name];

}

return to;

}

Deja un comentario »