Ir al contenido principal

Tareas internas del mes de abril

Este miércoles 18 de abril nos reuniremos para hacer las tareas de este mes. Como ya hemos contado en otras ocasiones, cada mes procuramos sacar tareas paar el proyecto en el que estamos trabajando, que es automatizar el despliegue y mantenimiento de nuestro servidor. La idea es que sea reusable para otros proyectos y que todos los que estemos con ello podamos aprender tecnologias actuales que facilitan la vida a las administradoras de sistemas, como puede ser ansible y docker.

Así que lo de siempre, aunque no hayas tocado nada de estas tecnologias, siempre habrá algo que puedas hacer. Puedes echarle un ojo en este enlace.

Os esperamos este miércoles a las siete y media.

Eventos del mes de abril

Los eventos de este mes son los siguientes:

  • 2018-04-11: Charla de SQL Injection

  • 2018-04-18: Tareas internas

  • 2018-04-25: Emacs (de verdad esta vez)

  • 2018-05-02: Tareas internas

  • 2018-05-09: Asamblea

En la charla de SQL Injection se verá que es el SQL injection, que tipos y técnicas de explotación hay, ejemplos prácticos, contra-medidas y como practicar sin hacer cosas ilegales, que siempre está bien que no te detengan.

El día de tareas internas aprovecharemos para poner en común y solucionar atascos con las tareas que nos hemos asignado este mes. El principal objetivo de este milestone es cerrar los anteriores, tocando tecnologías como Ansible, Drone, docker y demás cosas modernas. Como no nos cansamos de decir, da igual creéis que no tenéis el suficiente nivel, podéis pasaros y podemos hacer tareas juntas y aprender colectivamente lo que haga falta.

La charla de emacs consistirá en explicar que es exactamente, sus orígenes, comparación con vim para darle emoción, que posibilidades de uso tiene y como empezar a usarlo.

El segundo día de tareas cae en un puente, así que lo dejamos en "tareas internas" de forma genérica, pero no tenemos claro que haremos exactamente.

Por último, el día nueve de mayo cerraremos con la asamblea. Si te interesa ver como suelen ser nuestras asambleas, puedes echarle un ojo a las anteriores.

Os esperamos!

Gestión de iptables

En este post vamos a contar cómo gestionamos las reglas de iptables del servidor. Lo hacemos con este playbook, aunque puede que ya lo hayamos migrado a este playbook . El playbook se basa en este rol.

Si quieres hacer algo en el server y no puedes por las reglas de iptables, lo primero sería entender por qué no puedes hacer lo que quieres hacer.

Como pista, os recomendamos utilizar los siguientes comandos:

iptables -nvL [INPUT|FORWARD|OUTPUT|myCHAINNAME]

Para resetear los contadores se puede utilizar

iptables -Z [INPUT|FORWARD|OUTPUT|myCHAINNAME]

Una vez que sepas porqué está fallando, probablemente quieras meter una regla nueva. Para ello primero vamos a guardar las reglas que existen:

sudo iptables-save > ~/{{ fecha }}.reglas.iptables

Siendo {{ fecha }} por ejemplo 20180308.

Luego vamos a agregar las reglas que queramos con iptables -I ... y comprobar que funciona.

Una vez que tengamos la regla que necesitamos, habría que hacer un MR en el repositorio del playbook utilizado para configurar el iptables. Y si crees que es algo que pueda venir bien al resto del mundo, también haz un MR al rol.

Si en algún momento has metido la gamba y quieres reestablecer las reglas que había antes de que metieses la zarpa utiliza el siguiente comando:

sudo iptables-restore < ~/{{ fecha }}.reglas.iptables

Bueno y si tienes una urgencia y quieres hacer las cosas mal puedes seguir el siguiente método

sudo iptables-save > ~/{{ fecha }}.reglas.iptables
sudo iptables -F
... Haz aqui tus maldades ...
sudo iptables-restore < ~/{{ fecha }}.reglas.iptables

Gestión interna de la Brecha Digital

Introducción

Somos La Brecha Digital, un pequeño Hacklab localizado en Vallekas, Madriz (Estado Español). Somos un grupo de entusiastas que nos reunimos para aprender y experimentar sobre software libre, seguridad informática y autodefensa digital.

El propósito de este post es explicar cómo nos organizamos en nuestro centro. La idea detrás de todo esto es generar documentación libre y pública que permita a cualquiera replicar, reproducir y mejorar nuestro método de actuación.

El fin real es que cualquiera que quiera aportar lo tenga fácil, si estás leyendo esto y ves que se podría mejorar por favor haz un MR y si no sabes ven a decírnoslo los miércoles a las 19:30 :)

Gestión de la programación

El día a día del grupo requiere de la realización de varias tareas periódicas, hemos visto que es necesario asignar un responsable rotatorio para realizarlas, si no, no se hacían.

El responsable se elige en la asamblea mensual durante un periodo de un mes.

Dicha persona se encarga de:

  • Garantizar que hay algo organizado todos los miércoles
  • Enviar un mail a brechadigital@inventati.org sobre lo que se va a hacer el siguiente miércoles el jueves y un recordatorio el lunes
  • El mismo texto subirlo al blog y asegurarse de que se ha publicado en GNU social.
  • Preparar el orden del día de la siguiente asamblea (adaptar este documento). Generalmente subiendo una copia a hackmd.io
  • Actualizar la plantilla base de las actas en el repositorio de documentación
  • Comprobar que hay créditos en MVS

En la asamblea se decidió intentar seguir la siguiente distribución de días:

  • Primer miércoles de mes: Asamblea
  • Segundo miércoles: Charla
  • Tercer miércoles: Tareas Internas
  • Cuarto miércoles: Hacer comunidad (viciarse vamos) o Charla

Los días de tareas internas se intentará sacar las tareas especificadas en la asamblea entre todos.

Gestión del git

Este es el flujo de vida de un merge request

  • Partimos de un repositorio vacío, imaginemos que hemos hecho un git clone.

bash git clone git@git.digitales.cslabrecha.org:poneraquielnombredelrepo

  • Primero que hay que hacer es un commit en master mínimo (con el License o .gitignore No README.md).

bash git add .gitignore git commit -m "Agregado gitignore"

  • Se crea una rama diferente a master
  • fix/{{ nombre de fix }}
  • feature/{{ nombre de nueva feature }}
  • improve/{{ nombre de nueva mejora }}

bash git checkout -b feature/desarrollo-script-mvs

  • Se hacen commits en esa rama pusheando al remote para tener una copia de seguridad y que todos podamos contribuir

bash git push

  • Cuando este lista se hace un merge request a master. En el merge request mencionamos a @La_Brecha_Digital
  • Todos lo revisamos y hacemos comentarios.
    • La persona que haya hecho el MR contesta a los comentarios, de dos maneras, o acepta la sugerencia, o no
    • El comentario lo cierra la persona que lo ha abierto
    • Si acepta el comentario, lo suyo es que haga un commit arreglando ese comentario, y que el que lo haya hecho referencie a el que ha abierto el comentario y el commit
    • Si no lo acepta el comentario expone sus razones (siempre mencionar a la gente para que salga notificación). La discusión sigue hasta el que ha abierto el comentario lo cierra
  • Cuando haya 2 LGTM (LooksGoodToMe) se puede mergear.

Gestión de tareas

Aquí puedes encontrar la lista de tareas del grupo.

En cada asamblea analizamos esta lista en dos pasos.

Primero repasamos el trabajo hecho en el mes pasado, que se ha quedado en el tintero y por qué, que problemas nos hemos encontrado y cómo solucionarlos.

Posteriormente decidimos qué trabajo creemos que podemos abordar en el mes que entra. Estas tareas se meten en un milestone con el formato YYYYMM (por ejemplo 201803 para marzo del 2018).

Por lo tanto si te apetece colaborar lo suyo es que te metas en la lista de tareas y veas las que están activas para este milestone. Una vez veas las que te parecen interesantes contacta con el responsable de dicha tarea para coordinar como realizarla en conjunto.

Otra posibilidad es venir a la asamblea del mes siguiente y proponer que quieres hacer X tarea. A las muy malas si te pones a hacer una tarea random, no te vamos a flagelar.

Para facilitar más las cosas a los neofitos, solemos taguear las tareas en función a la dificultad. Por lo que si no te sientes muy segura, busca por el tag Facil.

Gestión de charlas

En este repositorio guardamos las presentaciones de las charlas que vamos dando en La Brecha.

Además se listan las futuras charlas en forma de Issues.

Si os interesa alguna charla de las de los issues ponerles +1 y así podemos priorizar.

En cada asamblea se mirarán que charlas dar ese mes. Las que tengan más +1 se les dará prioridad.

Quiero dar una charla

Si estás interesado en dar una charla los pasos a seguir serían:

Ten en cuenta que el texto que pongas en la descripción es el que se utilizará en el mail, el post de la web y el GNUSocial. Intenta ser descriptiva. Revisar en el calendario cuando hay un hueco. Una vez que hayas decidido la fecha, regístralo en el issue. Manda un correo electrónico a la lista de correo: brechadigital@inventati.org Si tienes acceso al Gnusocial de la brecha mandar un mensaje con tiempo. Si no lo tienes, en el correo electrónico o en el issue comentarlo Una vez que hayas dado la charla crea un Merge Request con tu presentación al repositorio de charlas * Cuando se haya aceptado el MR se puede cerrar el issue

Quiero recibir una charla del tema X

Si estás interesado en que demos una charla tendrías que seguir los siguientes pasos: Abrir un Issue. Convencer a la gente de que fría tu issue a +1 :)

Gestión de la web

Actualmente para actualizar la web hay que hacer un merge request al repo de blogs.

La idea es clonarse el repositorio:

git clone https://git.digitales.cslabrecha.org/La_Brecha_Digital/brechadigital-web.git
cd brechadigital-web/posts

Copiarse cualquier articulo que haya ahí y modificarlo al gusto. Una vez tengamos el archivo, hacemos una rama, un add y un commit, como se ha especificado en el apartado de git y se hace el merge request.

Una vez que se haya aceptado hay que meterse en la maquina, acceder como root, activar el virtualenv de nikola source /root/docker/brecha-web/builder/bin/activate y ejecutar el nikola build.

Cuando tengamos la CI instalada, este último paso se hará solo.

Gestión de manera incremental

Para que la documentación y el blog no mueran, antes de cerrar cada tarea nos preguntamos si de todo lo que hemos hecho para esa tarea, se podría escribir el blog o completar la documentación de este git.

Con ello mantenemos este tinglado vivo a la vez que esperamos hacer más fácil la participación de quien quiera aportar.

Charla: BBDD II - Bases de datos en alta disponibilidad

El próximo miércoles 14 de Febrero, tendremos la segunda charla del ciclo de Bases de Datos relacionales:

  • Modelización y diseño de Base de Datos.
  • Bases de datos en Alta Disponibilidad.
  • Seguridad en Base de Datos y SQL Injection

En esta ocasión, la charla la impartirá Ceilano y estará dedicada al concepto de alta disponibilidad en bases de datos relacionales, cómo conseguirla y por qué. Un guión aproximado de la charla sería el siguiente:

  • Introducción a MySQL.
  • Estructura interna de MySQL.
  • Configuraciones y Alta disponibilidad.
  • Ventajas e inconvenientes.
  • Posibilidades extra.

Saludos a todos!

Asamblea: 2018-02-07

El próximo miércoles día 7 de Febrero, tendremos Asamblea.

Es el momento en el que decidimos el rumbo de La Brecha Digital, por lo que os animamos a todos a participar. Las asambleas no son nada pesadas, y al final siempre acabamos hablando de frikadas.

El orden del día es el siguiente:

  • Rotado de responsabilidades
  • Elección de las temática de cada miércoles
  • Anuncio sobre temas de actualidad
  • Revisión de las tareas del mes pasado
  • Plan de tareas para este mes
  • Varios

Para mayor descripción de cada apartado seguir el link de arriba que apunta al documento colaborativo en el que todos tomaremos acta. (Cambiar el orden del día a placer también).

Para dinamizar el Plan de tareas para este mes, sería interesante que todas trajésemos leídos los issues y pensado en qué nos apetecería colaborar o si falta algún issue crearlo.

Un saludo!

Charla: BBDD I - Modelización y diseño de bases de datos

El próximo miércoles día 31 de Enero, tendremos la primera charla de un ciclo que hemos realizado de Base de Datos relacionales, que constará de tres charlas:

  • Modelización y diseño de Base de Datos.
  • Bases de datos en alta disponibilidad.
  • Seguridad en Base de Datos y SQL Injection

Esta primera charla será más teórica y estará dedicada a la modelización y diseño de bases de datos, contando con la maestría de Covi. Entre algunos de los temas que se tratarán están:

  • El modelo conceptual de una base de datos.
  • El modelo lógico de una base de datos.
  • Introducción al modelo físico de una BBDD.

Jornada de currele

Tras la charla de ayer de Git, nos vemos fuertes para afrontar otra nueva jornada de trabajo. Según se decidió en la asamblea vamos a:

La idea es que cualquier persona de cualquier nivel pueda colaborar en la realización de estas tareas. Por lo que la gente que esté más suelta se centrará en ayudar a los que tengan menos experiencia.

Si estas tareas en particular no te atraen, siempre puedes mirar nuestra lista de tareas y proponer hacer una de ellas.

Nos vemos el Miercoles.

Charla: Git Flow

En esta charla se explicará cómo usar git de manera colaborativa. Entre lo que podéis esperar aprender está:

  • Qué es el Git flow y en particular una versión simplificada para empezar a rodar.
  • Cómo utilizar repositorios remotos
  • Cómo versionar el código
  • Cómo contribuir a proyectos de software libre
  • Y como siempre, buenas practicas obtenidas de la experiencia de los asistentes

Estrenamos nueva web!

Por fin, tras unos meses de retraso, tenemos publicada la nueva web de La Brecha Digital. Decidimos usar algo más ligero y más a nuestro gusto y darle un toque más personal y menos Wiki.

A partir de ahora vamos a enunciar nuestras charlas y movidas en este pequeño blog y podréis seguir el contenido que generamos en nuestro git.

¡Un saludo!.