Como añadir OpenID a tu dominio

Esta es la explicación de como añadí openid a mi dominio sin tener que montar un «servidor de openid», primero: openid es un sistema de identificación global, buscad más información en la wikipedia en inglés. Es útil para que alguien se identifique usando una URL, de modo que se demuestra ser el propietario de dicha URL, la autenticación se realiza en dos pasos: Primero se mete el usuario en el sistema o web que soporta openid en el que te quieres identificar y después tecleas tu contraseña en la web donde se ejecuta el servidor de openid, devolviendo éste una «sesión» a la web donde te querías autenticar (muy a grosso modo es ésto, pero mira una explicación detallada en la web oficial del proyecto: http://www.openid.net)

Leer más

TFTGallery

TFTGallery es una aplicación hecha en PHP (y traducida por mi) para poder meter un album con tus fotos en la web.

Permite protección por contraseña, añadir comentarios a las categorías y fotos, pasar a pdf, bajar todo en zip, crear tu propio listado de fotos para hacer el pdf y además es fácil de instalar. Uno de los mejores que encontré.

Como parar ataques DOS al servidor web

El título más bien debería decir: Como pararlos parcialmente, ya que como sea un dDOS en condiciones desde varias IPs, es complicado de parar sin muchos recursos.

Este caso me ha pasado recientemente, una persona se puso en contacto conmigo porque estaba recibiendo ataques de una sóla IP que conectaba demasiadas veces contra su servidor apache (en el puerto 80 pero usando tantas conexiones que le chupaba todo el ancho de banda).

La solución sencilla, cuando os pase algo del estilo, pasa por poner una pequeña regla en el firewall que impida a esa IP ver vuestro servidor, de forma que piense que ha conseguido su objetivo: tirarnos el servidor, pero que otros puedan seguir viendo el servidor.

Leer más

Compresión gzip sobre http para mejorar la velocidad

Si tienes tu propio servidor esto quizás pueda interesarte para consumir menos ancho de banda, o en mi caso, que las páginas al servirlas, ocupen menos y por tanto se carguen más rápido. Una técnica conocida desde hace tiempo pero que no he probado hasta ahora debido a que no me había entrado curiosidad hasta que haciendo un programilla descubrí que diciéndole a cierto servidor que yo era IE y que aceptada compresión gzip, me devolvía la página comprimida.

Buscando por ahí, encontré el modo de hacerlo en apache (gracias a lo cual haré antes pruebas en mi servidor antes de seguir con el programa).

Leer más

Como generar certificados con CA propia

AVISO: Artículo desactualizado, algunas funciones de javascript ya no existen y el tamaño del certificado debe ser como poco de 2048 en adelante.

Por si alguien se pregunta como hacen para generar certificados de la FNMT o de cualquier otra entidad certificadora (CA), aquí dejo un ejemplo:

<form  enctype=”application/x-www-form-urlencoded”  action=”http://example.com/secure/keygen/test.cgi” method=”post”>
<select name=”randomkey” option2048 (alto nivel)/>
<option option1024 (nivel medio)/></option>
<select input type=”text” value=”Default Text” name=”Field1″ />
  • challenge – Specifies the challenge string to be packaged with the public key for use in verification of the form submission. If no challenge string is provided, then it is encoded as an ‘IA5STRING’ of length zero.
  • name – Names the keygen string.

Más información en: http://www.developingwebs.net/htmlcode/keygentag.php y http://www.blooberry.com/indexdot/html/ … keygen.htm

Para que te envíen algo firmado por web:

<script language="javascript">
function signAndSend() {
document.login.firma.value=crypto.signText(document.login.nick.value,"ask");
document.login.submit(); } </script>
<form>
<input type="text" name="nick" />
<input type="hidden" name="firma" />
<input type="submit" onclick="javascript:signAndSend();" value="Entrar" />
</form>

De: http://oasis.dit.upm.es/~jantonio/firmadigital/ (no funciona) en kriptopolis hay otro artículo interesante: http://www.kriptopolis.org/node/1903 (no funciona

Evidentemente, estos certificados generados, no valen para entrar en sitios de la administración, ya que poseen la firma de nuestra propia entidad certificadora y no la de la FNMT que es un organismo oficial.

SPF: Sender Policy Framework

Si tienes un dominio y algún spammer lo ha usado en sus correos, corres el riesgo de que te metan en una lista negra, aunque tu no hayas enviado los correos, con este fin, si tu ISP lo permite o tienes tu propio servidor de DNS, existe un campo especial (TXT record) para guardar desde que ips envías correo electrónico de tu dominio.

De este modo también ayudas a luchar contra el spam, ya que un servidor que implemente esta política (que cada vez son más), marcará como spam automáticamente cualquier email que provenga de tu dominio que no haya sido enviado desde alguno de tus servidores autorizados a mandarlo, esto también ayudaría mucho en la lucha contra el phising, a ver si los ISP oyen hablar de esto y lo implementan, ya que son medidas que ayudarán a todos.

Más información en: http://www.openspf.org/ (URL actualizada)

BanFromLog

BanFromLog es un script para filtrar las ips del /var/log/auth.log de tu debian (u otra distro si lo personalizas para el auth.log de tu distro) y banearlas. Esto es útil debido a que vienen muchos ataques de fuerza bruta por SSH y es útil ahorrar ancho de banda y CPU.