Fabian Martinez Portantier

FMP

Experto en Ciberseguridad
Co-Fundador de Securetia
Co-Fundador de h4ck3d Security Conference
Coordinador Carrera Seguridad Informática en EducacionIT

Bloguear Como Un Hacker

varios

Cambié de Wordpress a GitHub Pages, y comparto mi experiencia con ustedes.

Hace años que utilizo Wordpress como gestor de contenidos, habiendo pasado por Joomla! y algunos otros CMS, ya en varias oportunidades había tenido intenciones de migrar a algo mucho más "liviano".

Siempre tuve un fanatismo, a veces exagerado, por las tecnologías que son muuuy sencillas, que consumen pocos recursos y que son fáciles de administrar.

Al principio, estas características pueden parecer obvias, pero muchas veces veo que las personas adoptan tecnologías enormes, super complejas y, en el fondo, difíciles de administrar. Son gustos.

Para cubrir las necesidades de mi blog (https://www.portantier.com), he decidido migrar a GitHub Pages.

En parte, esto me es posible porque tengo algunos conocimientos técnicos que me permiten prescindir de algunas capacidades que tienen los CMS. Por ejemplo, puedo utilizar una línea de comandos en lugar de una interfaz web, y escribir directamente el texto en markdown en lugar de utilizar un editor WYSIWYG.

No voy a explicar cómo se hace para crear un blog con GitHub Pages, porque ya hay documentación acá: https://pages.github.com/

Simplemente, me voy a limitar a explicar cuáles son las ventajas que le veo a este tipo de páginas web, y luego, voy a explicar las desventajas (no todo es color de rosa).

Ventajas

Infraestructura Gratuita y Tercerizada

Está hosteado en GitHub, por lo tanto, si se cae el sitio web por algún motivo, sé que hay un equipo de profesionales trabajando para solucionarlo. En ese sentido, es como tener Gmail para el correo electrónico. No hay mucho más para decir.

Menor Superficie de Ataque

Son páginas estáticas. Las cuales pueden trabajar de dos formas:

1) Trabajar Directamente Con HTML: Podemos subir directamente los archivos HTML y que sean servidos por el webserver de GitHub. Sirve únicamente para sitios web muuuy sencillos.

2) Trabajar con Jekyll: https://jekyllrb.com permite que escribamos los contenidos utilizando Markdown https://es.wikipedia.org/wiki/Markdown o HTML, y nos da la capacidad de implementar algunas capacidades interesantes (y necesarias), como temas CSS generados con SASS http://sass-lang.com y la generación de tags para los artículos, así como la generación de feeds RSS.

En cualquier caso, vamos a trabajar con páginas estáticas, porque Jekyll genera todo el contenido en HTML/JS/CSS y la web es servida a través de esos archivos, a diferencia de Wordpress, Joomla! y tantos otros que generan todo el código de forma dinámica cada vez que un visitante lo solicita.

Esto reduce la cantidad de ataques posibles, porque no existe una base de datos a la cual hacer un SQL Injection, ni existe un procesamiento dinámico de parámetros como para realizar un Cross Site Scripting (XSS), y tampoco un Cross Site Request Forgery (CSRF). Al no haber otra cosa que servir archivos estáticos, desaparecen muchos posibles puntos de fallo.

Simpleza Para Publicar

El contenido es publicado directamente desde un repositorio Git (hosteado en GitHub), por lo tanto, se puede hacer un versionado del sitio, volver a versiones anteriores, etc.

Es muy fácil de editar el contenido, yo utilizo el editor de texto Vim, pero cada persona puede utilizar el editor de texto que más le guste.

Para publicar cambios en el sitio, basta con hacer un "push" al repositorio.

Fácil de Migrar

Relacionado con lo anterior... todo el sitio está en archivos de texto, es muy fácil de backupear y de migrar. En el caso de que necesitemos "salirnos" de GitHub Pages, podemos hostear el sitio en nuestro propio webserver, o podemos buscar otros proveedores que ofrezcan una infraestructura similar a la de GitHub Pages.

Desventajas

No Es Para Todos

Como casi todas las tecnologías que empezamos a implementar, suelen ser todas ventajas... hasta que empezamos a ver las desventajas. Por ahora, la principal desventaja que se me ocurre, es que no es una tecnología para todos.

Lo que para mí pueden ser ventajas (publicar desde Git, escribir en Markdown, etc), para otro pueden ser desventajas y complejidades innecesarias.

En ese sentido, "Wordpress es para todos". Es decir, creo que, puede satisfacer (mejor o peor) las necesidades de cualquier persona.

Por otra parte, GitHub Pages es útil cuando necesitamos una solución simple, y podemos darnos el lujo de prescindir de editores WYSIWYG y cosas por el estilo.

Las Falencias No Siempre Son Falencias

La principal desventaja que se me vino a la cabeza cuando pensé en migrar, fue el hecho de que con Wordpress puedo conectar la publicación de nuevos artículos a mi cuenta de Twitter, Facebook, etc.

Esto puede resolverse muy fácilmente con IFTTT https://ifttt.com, que nos permite, por ejemplo, reaccionar ante la aparición de un nuevo artículo en nuestro feed RSS, y crear un nuevo tweet en nuestra cuenta.

Estamos en la "Era Cloud", en la cual podemos conectar todo con todo. Así que, probablemente, podamos resolver todas nuestras necesidades utilizando servicios que son excelentes y gratuitos.

Conclusiones

GitHub Pages puede no ser para todos. Pero les recomiendo probarlo y darle una oportunidad. Puede ser la solución para varios de vuestros proyectos.

varios

Licencia Creative Commons
Creative Commons Atribución-CompartirIgual 4.0 Internacional.