326 - Sobre seguridad en Linux y algo de contenedores
En este episodio del podcast te hablo de seguridad en Linux, y una reciente cuestión que me sucedió así como de algo de contenedores
Hoy toca una de temas variados en base a lo acontecido últimamente en mi vida tecnológica y que por supuesto tienen que ver con todo lo relacionado con el proyecto atareao.es. La cuestión es que todos los días al fin y al cabo me relaciono con mi equipo de sobremesa y con las pequeñas Raspberry. Y no solo esto, también están los VPS y alguna que otra cuestión mas. La cuestión es que tarde o temprano es necesario realizar copias de seguridad de tus dotfiles, gestionar las constraseñas y cada vez, con mas frecuencia trabajar con los contenedores. Todo este tipo de cuestiones me llevan a tratar diferentes temas. Así que quiero tocar algunos temas relativas a la seguridad en Linux y algo de contenedores.
En este sentido quiero hablarte sobre algunos temas con los que me he tenido que enfrentar en estos últimos días. Son varios temas, que lo cierto es que no dan cada uno de ellos para un episodio completo del podcast, pero que juntos si que me han permitido crear este nuevo episodio del podcast.
Sobre seguridad en Linux y algo de contenedores
Dotdrop
El primero de los temas que quiero tratar es el tema de Dotdrop. Sobre esta herramienta ya te hablé en un episodio anterior del podcast. Sin embargo, había una característica que hasta el momento no había probado, que son las plantillas.
Lo cierto, es que en esta ocasión tampoco era obligado que la probara, pero no he querido dejarlo para mas adelante, para saber si esto se ajusta a mis necesidades o no. Y efectivamente así ha sido. Lo cierto es que fue todo un acierto decantarme por este gestor de dotfiles, porque lo cierto es que va de maravilla.
Así, y a raíz del cambio de Vim a NeoVim que te comenté en el episodio anterior del podcast, he realizado una actualización de mis dotfiles. Para ello, y como te comentaba he hecho uso de Dotdrop, conforme te indiqué en el episodio 307 del podcast de dotdrop, un completo gestor de dotfiles.
En este sentido, he comenzado a utilizar las plantillas básicamente para mantener ocultas las contraseñas y otros elementos sensibles. Esto de las plantillas, es algo realmente interesante, porque te permite personalizar tus dotfiles, y adecuarla a tus necesidades. En concreto he utilizado las variables de entorno para guardar esa información sensible. Y de nuevo funciona perfectamente.
Para esto es tan sencillo como utilizar un alias
a la hora de llamar a dotdrop
, tal y como te muestro a continuación,
alias dotdrop='eval $(grep -v "^#" /datos/misdotfiles/.env);/datos/misdotfiles/dotdrop.sh --cfg=/datos/misdotfiles/config.yaml'
En este sentido, tus variables de entorno quedan en un archivo .env
, que por supuesto tienes que tener añadido a tus .gitignore
, para evitar algún que otro susto.
Bitwarden
Esta segunda cuestión que te quería comentar es relativa a mi gestor de contraseñas. Y te quiero comentar sobre la importancia de utilizar un gestor de contraseñas con un ejemplo de algo que me ha sucedido a mi recientemente.
Lo cierto es que a pesar de tener este gestor de contraseñas, todavía llevo cierto lastre de épocas anteriores a mi uso de Bitwarden. Por aquel entonces, y para servicios que normalmente pruebo pero que no tienen impacto para mi, solía utilizar el mismo usuario y contraseña. Un grave e imperdonable error.
Recientemente Bitwarden me avisó de que tenía una contraseña comprometida porque había salido en uno de esos famosos listados. Así que ya conoces a alguien, si es que no te ha pasado a ti, al que le ha sucedido una de estas historias.
Pero no solo esto, sino que hace unos días comenzaron a intentar acceder a esa cuenta. Como te puedes imaginar, en el primer momento que me avisaron del intento de acceso volví a cambiar la contraseña, incrementando la seguridad de la misma. No recuerdo la cantidad de caracteres que tiene, pero ya te puedes imaginar.
La cuestión es que desde hace un par de semanas están intentando acceder a ese servicio. Entiendo que o bien siguen utilizando la misma contraseña o lo están haciendo por fuerza bruta. En cualquier caso, lo tienen un poquito complicado.
En fin, que ya ves que esto de las contraseñas es realmente importante, y que aunque lo utilizaba para un servicio que no le doy uso, la verdad es que me da bastante apuro, ver que cada hora o cada dos horas, realizan un intento de acceso.
Contenedores
En estas últimas semanas estoy disfrutando como un gorrino en un charco haciendo imágenes de casi cualquier servicio que te puedas imaginar.
En principio, estoy muy centrado en aquellas que corresponden a los microservicios que estamos utilizando para el canal de Discord del proyecto atareao.es, pero no solo esto. De hecho esta semana, en el Discord, hemos montado una imagen para levantar un servidor Apache en el que pueda correr una aplicación que utilice el framework Codeigniter, y la verdad es que funciona a las mil maravillas.
Todo esto de hacer las imágenes, que me ha dado últimamente viene por tres razones fundamentales,
- La primera es que me lo paso pipa
- Por otro lado, por los microservicios que he comentado para el canal de Discord, correspondiente a aquellos que están colaborando con el este proyecto.
- Estoy haciendo imágenes que no se necesitan ejecutarse con el usuario root
- Imágenes que utilicen tini que este servicio init para contenedores, y que me está dando tan buen resultado.
La cuestión es que además de los microservicios, en estas semanas he creado mis propias imágenes de Apache, Nginx, Cron, que comenté en un podcast anterior, y la verdad es que lo estoy disfrutando mucho.
Pero, sin lugar a dudas, una de las razones para esto es la de poder desarrollar, y poder hacer mas servicios y aplicaciones de forma cómoda y sobre todo con garantías de éxito.
Apoyo al proyecto atareao.es
Por último no quería pasar un día mas sin dar las gracias a todos los que, desde que anuncié la iniciativa de migrar a Buy me a Coffee, han decidido apoyar el proyecto.
Lo cierto es que se está creando un grupo muy majo, y aunque todavía no han surgido iniciativas, poco a poco parece que se está consolidando.
En este sentido y para agradecer vuestro apoyo, recientemente he añadido una nuevo característica que es la publicación periódica de tips, aunque por ahora ni es automática ni es periódica. He tenido algunos problemas.
Además los que ya formáis parte del grupo habéis tenido que sufrir algunos inconvenientes, sobre todo el núcleo duro, los que entraron cuando aquello estaba en pañales. Y hemos tenido todo tipo de problemas, desde que no llegaba el correo de bienvenida como cuestiones similares.
Por otro lado, se está animando el asunto, lo que ha dado pie a la creación de distintos canales temáticos de Bash, Docker, Raspberry y Python. Desde luego que son los primeros, pero vamos piano piano.
Imagen de portada de Jason Dent
Y lo de usar bitwarden ¿no te da apuro?. Yo solo guardo en la nube y con el gestor de contraseñas de firefox algunas pocas contraseñas de foros y demás que no me importa demasiado que puedan ser vulneradas pero, para el resto las guardo en local usando keepassxc.
No dudo que bitwarden sea un servicio seguro pero igualmente tener todas mis contraseñas en la nube no me termina de inspirar seguridad.
Al final, bitwarden es como tener las contraseñas en un fichero en Amazon S3 o Google Drive encriptadas porque muy probablemente en el fondo sean los servicios que usen para almacenamiento.
Por cierto, el fichero .env al final lo tienes sin respaldo si alguien entra en tu maquina tendrá vía libre para moverse por tus sitios favoritos o si «se da de baja» tu disco (eufemismo de «a la porra con el disco») te quedas sin las claves.
Bueno reconozco que tanto bitwarden como dotdrop son muy útiles pero siempre se corre un riesgo en la nube, en github, o donde sea.