Configurar Apache para servir conexiones seguras

Si tenemos Apache, y queremos configurarlo para que se pueda navegar de forma segura por nuestro sitio utilizando el protocolo HTTPS, necesitamos: crear las claves que se utilizarán para cifrar la conexión, configurar mod_ssl, el módulo de Apache para usar conexiones seguras, y permitir la conexión por el puerto 443. Crear las claves de cifrado Vamos a generar un par de claves RSA triple DES de 2048 bits en el directorio /etc/ssl: ...

June 14, 2011 · 7 min · 1309 palabras · Nacho Cano

UnicodeDecodeError con Wapiti

Wapiti es un escáner de vulnerabilidades web basado en fuzzing. En la última versión, 2.2.1, permite detectar vulnerabilidades referente a: Errores de gestión de ficheros (include/require local y remoto, fopen, readfile...) Database Injection (PHP/JSP/ASP SQL Injections y XPath Injections) XSS (Cross Site Scripting) Injection LDAP Injection Command Execution detection (eval(), system(), passtru()…) CRLF Injection (HTTP Response Splitting, session fixation…) Sin embargo, si usamos Ubuntu Natty Narwhal, la versión de los repositorios es la 1.1.6, por lo que es posible que nos encontremos el siguiente error al escanear páginas que contengan caracteres no ASCII. Por ejemplo: ...

May 28, 2011 · 2 min · 238 palabras · Nacho Cano

¿Dónde está el site-packages?

Nota mental: $ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" /usr/lib/python2.7/dist-packages Ligeramente relacionado » Creando y leyendo códigos QR desde Python A lo mejor, si el intérprete de Python no encuentra un paquete es que no está donde debería… :facepalm:

May 28, 2011 · 1 min · 41 palabras · Nacho Cano

Mejorando la seguridad de Apache con Varnish

Varnish es un acelerador web, que puede ser utilizado tanto para cachear contenido estático de nuestro servidor, para balancear la carga o para incrementar la seguridad, por ejemplo, bloqueando cierto tipo de peticiones u ocultando cierto tipo de información. Se instala directamente de los repositorios: $ sudo aptitude install varnish Ahora lo configuraremos para utilizarlo como capa intermedia, delante de nuestro Apache. Editamos el fichero /etc/default/varnish y cambiamos: DAEMON_OPTS="-a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G" por: ...

May 26, 2011 · 3 min · 514 palabras · Nacho Cano

localepurge

localepurge es una herramienta que elimina los archivos de traducción que no necesitemos. Después de instalarlo, nos pedirá que seleccionemos qué idiomas queremos conservar: en_US en_US.ISO-8859-15 en_US.UTF-8 es es_ES es_ES@euro es_ES.UTF-8 Después de instalarlo, lo ejecutamos: $ sudo localepurge Total disk space freed by localepurge: 26552 KiB Cada vez que instalemos un nuevo paquete de los respositorios se ejecutará automáticamente, por lo que no tendremos que volver a preocuparnos. Actualización a 17 de marzo de 2013 Acabo de encontrar una anotación interesante en el blog del crysol. En lugar de eliminar las traducciones que no nos interesan, podemos, directamente, evitar descargarlas. Editamos el fichero /etc/apt/apt.conf.d/99Translations, y añadimos lo que necesitemos, por ejemplo: ...

May 25, 2011 · 1 min · 154 palabras · Nacho Cano

0.999...=1

$$ \begin{align*} \frac{1}{3} &= 0.\stackrel{\frown}{3} \\ \frac{1}{3} &= 0.333\dots \\ 3 \cdot \frac{1}{3} &= 3 \cdot 0.333\dots \\ 1 &= 0.999\dots \\ 1 &= 0.\stackrel{\frown}{9} \end{align*} $$

May 18, 2011 · 1 min · 27 palabras · Nacho Cano

0!=1!

$$ \begin{align*} n! &= n \cdot (n-1) \cdot (n-2) \cdots 3 \cdot 2 \cdot 1 \\ n! &= n \cdot (n-1)! \\ (n-1)! &= \frac{n!}{n} \end{align*} $$ Si tomamos $n=1$: $$ \begin{align*} (1-1)! &= \frac{1!}{1} \\ 0! &= 1 \end{align*} $$

May 18, 2011 · 1 min · 41 palabras · Nacho Cano

Aplicaciones en el área de notificación de Ubuntu Natty Narwhal

Con la llegada de la nueva Ubuntu, se ha cambiado el área de notificación por una nueva API. Para las aplicaciones que todavía no se han adaptado, se ha habilitado una lista blanca de aplicaciones que pueden utilizar la antigua área de notificación, hasta que se actualicen. Para ver qué aplicaciones hay en la lista: $ gsettings get com.canonical.Unity.Panel systray-whitelist ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'scp-dbus-service'] Para añadir una aplicación, por ejemplo, dropbox: ...

May 12, 2011 · 1 min · 165 palabras · Nacho Cano

Copiar un directorio excluyendo los archivos de una clase

Si queremos copiar un directorio pero no queremos que se copien los archivos .svn, o .dropbox, podemos ejecutar: $ rsync -r --exclude=.dropbox /path/source/dir /path/destination

May 11, 2011 · 1 min · 24 palabras · Nacho Cano

Nombres de fichero con espacios en Bash

Si queremos recorrer un directorio y hacer algo con cada fichero o subdirectorio contenido en él, podemos ejecutar algo como: $ for f in *; do echo "$f"; done En lugar de utilizar un for, también podríamos usar el comando find con el parámetro exec: $ find . -maxdepth 1 \( -name '*' ! -name '.' \) -exec echo {} \; O en lugar del exec con un while: $ find . -maxdepth 1 \( -name '*' ! -name '.' \) | while read f; do echo "$f"; done Un par de cosas: ...

May 11, 2011 · 1 min · 181 palabras · Nacho Cano