Cambiar de Dominio en Wordpress

Además de lo obvio, y con obvio me refiero a cambiar el Virtual Host también necesitaremos actualizar nuestra base de datos

UPDATE wp_options SET option_value = replace(option_value, 'http://54.214.66.247', 'http://54.191.241.251') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://54.214.66.247','http://54.191.241.251');

UPDATE wp_posts SET post_content = replace(post_content, 'http://54.214.66.247', 'http://54.191.241.251');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://54.214.66.247','http://54.191.241.251');

Instalando Freeling 4.0 en Ubuntu 16

Hace tiempo escribí un post sobre cómo instalar Freeling 4.0 en OSX y es tiempo ya de pasar los cambios a producción.

Posiblemente en un futuro cercano cree una receta ansible para facilitar el trabajo, pero primero como me manda la praxis, prefiero hacerlo a mano.

Necesitamos algunas dependencias

sudo apt install libboost-regex1.58.0 libicu-dev libboost-system1.58.0 libboost-thread1.58.0 libboost-program-options1.58.0 libboost-filesystem1.58.0 

Luego podremos descargar e instalar freeling

wget https://github.com/TALP-UPC/FreeLing/releases/download/4.0/freeling-4.0-xenial-amd64.deb
sudo dpkg -i freeling-4.0-xenial-amd64.deb 

Y ya está.

No instalo desde código fuente esencialmente porque para compilar los binarios se necesitan las versiones de desarrollo de libboost, que son pesadas, y el proceso toma bastante tiempo y al final ocupa bastante espacio.

Hardening en un servidor web Apache2

Otra de las deudas técnicas que tenía con este blog era la de algunos tips útiles para realizar un Hardening a un servidor Apache2. A continuación relaciono algunas de las cosas mas importantes:

  1. Desactivar las banderas de versión:
    Cuando mostramos la versión de nuestro navegador estamos facilitando la vida del atacante, pues ya restringe el dominio de vulnerabilidades que tendrá que explorar para buscar un vector de ataque.
    Añadir esto al final de nuestro archivo de configuración de apache, en ubuntu en /etc/apache2/httpd.conf

    ServerTokens Prod
    ServerSignature Off 
  2. Desactivar el indexado de archivos:
    Apache por defecto permite explorar archivos por medio de un navegador, lo cual puede revelar información confidencial de nuestros usuarios o nuestro sistema, por eso es bueno desactivar el indexado:
    Añadir esto en el segmento de nuestro virtualhost

    <Directory /ruta/al/directorio/raiz/de/apache>    
    Options -Indexes    
    AllowOverride None    
    Order deny,allow    
    Deny from all    
    </Directory>
  3. Quitar los permisos de ejecución a terceros en carpetas donde se pueda subir información:
    Una explicación mas detallada de esto se puede encontrar en este post

    sudo groupadd varwwwusers
    sudo adduser www-data varwwwusers
    sudo chgrp -R varwwwusers /var/www/html
    sudo chmod -R 770 /var/www/html
  4. Deshabilitar métodos inseguros:
    Aunque a veces nos limitamos al GET y al POST, HTTP tiene otro montón de métodos que pueden ser usados en nuestra contra, para el robo de credenciales por medio de cookies se suele usar el método TRACE que esencialmente hace un eco de la petición entrante, permitiendo a un tercero interceptar las cookies entrantes
    Para deshabilitarlo, basta añadir esta línea al archivo de configuración

    TraceEnable off

    Se pueden Restringir todos los métodos a excepción de los nombrados usando la etiqueta LimitExcept, pero lo dejo a decisión de cada desarrollador

    <LimitExcept GET POST HEAD>
    deny from all
    </LimitExcept>
  5. Mantenerse actualizado:
    Siempre es importante mantener la versión de nuestras aplicaciones lo mas actualizadas posibles, usualmente los proveedores parchan los bugs y vulnerabilidades en los nuevos lanzamientos de versiones.

Si quieres una guía adicional, te recomiendo este artículo

Es mejor estar tranquilo que con deudas

Posiblemente sea el primer post no técnico que escriba en este blog, y tal vez el último, pero quiero ponerlo aquí porque como decimos en el trabajo, existen 3 cosas que nos acompañan de por vida:

  • Tu familia
  • Tu salud
  • Tu billetera

Diré que desde hace 4 años mas o menos venía con esta idea de comprarme mi moto, un capricho de adolescente inmaduro que se adentró en mi adultez temprana y se convirtió en algo así como una obsesión, no de esas enfermizas que te quitan el sueño sino de esas que colocas en tu lista de objetivos de año nuevo y las tienes en tu lista de prioridades de todos los días.

Solicité un crédito de libre inversión por el valor total de la moto y luego de trámites me encontré con la primera frustración: el crédito lo aprobaron por el 30% del solicitado. No los culpo, un recién egresado sin experiencia crediticia no parece ser un buen prospecto para desembolsarle un monto de ese tamaño en su primer crédito de consumo.

Lo positivo era que la tasa mensual era del 1.2% que representa una tasa del 15% Efectivo Anual y pintaba bien de acuerdo con los valores estándares de mi país.

Luego de un par de semanas con el efectivo en mi cuenta de ahorros, me atacó ese impulso de idiotez que me caracteriza tan a menudo y dije ya es hora, quiero mi moto de cumpleaños así que paguemos con la tarjeta de crédito, que tiene una tasa mensual del 2.34% que en Efectivo Anual se convierte en 32% cercano a la tasa máxima permitido por el gobierno de mi país.

Fui al concesionario y pedí mi moto.

El sin sabor se sintió inmediatamente deslicé la tarjeta por el datáfono. Camino al trabajo esos pensamientos de persona adeudada no se separaban de mi. Sabía que los meses siguientes se pondrían bastante feos por el tema económico, pero al menos tenía ese alivio de que por fin estaba cumpliendo mi capricho de adolescente.

Con el paso de los días estaba mucho mas impaciente por la llegada de mi anhelada moto y un preocupado por como haría para pagar las cuotas el próximo mes y al cabo de otro par de semanas racionalicé que ese estrés por la deuda venidera me estaba transformando en alguien mas ansioso, preocupado e incluso ya no podía conciliar el sueño con facilidad. Y llegó el primer extracto de la tarjeta de crédito.

No era sorpresa, pues como buen estudiante había realizado la tabla de amortización tal cual como me la enseñaron en la academia y sabía el valor por el que llegaría, pero en ese momento sabía que las cosas estaban mal. A pesar que sabía que podía pagar el monto me di cuenta que estaba ahorcando mi presupuesto mensual de una manera increíble y que si en algún momento ocurría alguna eventualidad iba a quedar colgado de una manera que no quería imaginarme.

Afortunadamente aún no me habían entregado la moto.

Fui al concesionario y hablé con mi vendedor, quien expresó sus disculpas de muchas maneras distintas, diciéndome que aún la moto no llegaba y que definitivamente no llegaría sino hasta la otra semana. Le expresé mi inconformidad de una manera calmada y me dijo que entendía y que si lo deseaba podía solicitar un reembolso de mi dinero. Sin pensarlo dos veces agarré un bolígrafo e inicié el proceso.

Se que los procesos de devolución pueden ser complicados y tediosos, pero en algún momento llegan a un feliz término.

Al salir del concesionario supe que había le había comprado plata al banco de una manera tonta, que iba a pagar al siguiente mes una cuota con los intereses del 70% de una moto que no voy a tener, pero por primera vez en tres semanas estaba tranqui.

¿Qué significan los tipos de registro DNS?

Desde hace tiempo que vengo involucrado con servidores DNS y muchas veces me preguntaba que significan ese montón de tipos de registros que hay, así que el día de hoy decidí investigar un poco mas mientras realizaba una migración de godaddy a AWS 53:

La especificación formal está definida en el RFC 1035 y ha sido modificada en múltiples ocaciones, pero en este documento podemos encontrar respuesta a lo que son los tipos de registro mas comunes:

  • A
  • NS
  • CNAME
  • MX
  • TXT

A:

Son la sección final de todo proceso de resolución DNS, pues resuelven finalmente un nombre de dominio a una dirección IP.

Una forma práctica de ver un registro tipo A es un subdominio que apunta a una IP

NS

Los tipo Name Servers apuntan a un servidor que hará el reproceso de resolución a un registro tipo A u otro.

Estos se refieren usualmente a nuestro servicio DNS en si, que resolverá definitiva o parcialmente el Dominio

CNAME

Al igual que los registros tipo A los registros CNAME pueden no causar un reproceso y resolver el dominio, pero también pueden reiniciar el proceso de resolución con un nombre nuevo de dominio, por esta razón son utilizados tradicionalmente como Alias

MX

Son capaces re resolver finalmente un dominio, pero considerando un orden de prioridades, la especificación propia de este tipo de dominios se encuentra en el RFC 974

TXT

Los registros TXT son los mas sencillos, pues no resulven a una IP sino que retornan un texto plano que puede ser interpretado por quien lo solicita de manera distinta