GuixSD y GNU Guix 0.8.2 (alpha)

Entorno de escritorio Xfce de un usuario de GuixSD 0.8.2 mostrando tres aplicaciones en operación: Navegador Web IceCat, aplicación cliente para Emacs del administrador de paquetes Guix y un terminal.

Entorno de escritorio Xfce de un usuario de GuixSD 0.8.2 mostrando tres aplicaciones en operación: Navegador Web IceCat, aplicación cliente para Emacs del administrador de paquetes Guix y un terminal.

GuixSD (Guix System Distribution) es la distribución avanzada del sistema operativo GNU que usa el sistema de paquetes funcional GNU Guix.

Esta es una de las nuevas distribuciones hermanas de gNewSense, agregada recientemente a la lista de distribuciones libres de GNU/Linux. Está en estado alpha y siempre en busca de más gente que ayude a probarla y a ampliar la colección de paquetes.

Vea el anuncio original de esta nueva versión y visite el sitio oficial para más información.

Disponible gNewSense 3.1

Escritorio de gNewSense 3.1

Escritorio de gNewSense 3.1

Ya está disponible gNewSense 3.1. Esta es una actualización menor de la versión estable actual conocida como Parkes. Los siguientes son los cambios más importantes:

  • Ahora se selecciona el repositorio correcto de paquetes según su ubicación durante la instalación (en lugar de beta.gnewsense.org).
  • La aplicación de administración de redes (network-manager) ahora viene incluida en el instalador.
  • El instalador para expertos ya no recomienda el repositorio de paquetes no libres de Debian.

Actualizar desde gNewSense 3.0

Si usa gNewSense 3.0 actualmente, no tiene que reinstalar gNewSense. Su sistema descargará todas las actualizaciones automáticamente.

Sin embargo, es importante que realice un cambio importante en la lista de fuentes que usa el sistema para descargar software. Esto se debe a que el instalador de gNewSense 3.0 configuraba incorrectamente la dirección de fuentes de software para usar el repositorio beta.gnewsense.org. Este repositorio será desactivado la próxima semana con el fin de comenzar el desarrollo de gNewSense 4.

Siga este procedimiento para corregir las fuentes de software tan pronto como pueda:

  1. Abra Sistema  Administración  Gestor de paquetes Synaptic.
  2. En el menú principal, seleccione Configuración  Repositorios.
  3. Seleccione cada repositorio que tenga “beta.gnewsense.org” como URI y reemplace “beta.gnewsense.org” con “xx.archive.gnewsense.org“, donde “xx” es el código del país en el que se encuentra.

Es decir, si está en Colombia, reemplace

http://beta.gnewsense.org/gnewsense-three/gnewsense/

con

http://co.archive.gnewsense.org/gnewsense-three/gnewsense/

Los usuarios expertos pueden editar /etc/apt/sources.list directamente.

public-domain

Usklo: Gráficos de dominio público para sus juegos

Imagen del sitio Web de Usklo

Si le gusta desarrollar juegos y no tiene gráficos para ellos, puede usar Usklo.

Usklo es un paquete de arte para desarrolladores de juegos que incluye una raza de pequeños invasores de otro mundo y todos sus artefactos.

La última versión lanzada incluye un personaje con nueve animaciones, artefactos y un conjunto de tiles para sus mapas. Usklo es desarrollado usando únicamente software libre y está cedido al dominio público. gNewSense GNU/Linux será usado para el desarrollo de las próximas versiones.

¡DESCÁRGUELO!
Artículo cedido al dominio público

Cree calendarios de pared con PCAL

PCAL es una aplicación de consola que permite generar calendarios de pared, u organizadores, en formatos PostScript y HTML. Los archivos PostScript se pueden ver con cualquier lector de PDF. Los archivos HTML se pueden ver con cualquier navegador Web. PCAL también permite imprimir eventos en los calendarios usando archivos de configuración bastante convenientes. Los calendarios resultantes quedan listos para imprimir.

Este artículo le mostrará como:

  • Generar un calendario de una sola página.
  • Generar un calendario multipágina (un mes por página).
  • Generar un calendario multipágina con eventos.

Puede descargar el calendario de 2014 si no tiene tiempo de crearlo usted mismo/a.

Instalar PCAL

Abra un terminal desde Aplicaciones → Accesorios → Terminal de «Root» y ejecute la siguiente orden:

# apt-get install pcal

Puede cerrar el Terminal de «Root» después de la instalación. En las siguientes secciones usaremos un Terminal normal.

Generar un calendario de una sola página

Calendario de 2014 en una sola página

Calendario de 2014 en una sola página

Abra un terminal desde Aplicaciones → Accesorios → Terminal y ejecute la siguiente orden:

$ pcal -w -a es -F Monday -o calendario.ps 2014

La orden anterior significa:

  • pcal: el nombre de la aplicación.
  • -w: indica que todos los meses del año van a aparecer en la misma página.
  • -a es: indica que el texto del calendario aparecerá en español.
  • -F Monday: indica que el primer día de la semana será el lunes.
  • -o calendario.ps: indica el nombre del archivo que se va a generar (.ps es la extensión usada para archivos PostScript).
  • 2014: indica el año del calendario. Si se omite este valor, pcal generará el calendario del año actual.

Descargue el archivo resultante.

Generar un calendario multipágina

Primera página de calendario multipágina 2014, enero.

Primera página de calendario multipágina 2014, enero.

Abra un terminal y ejecute la siguiente orden:

$ pcal -P letter -l -a es -F Monday -o calendario.ps 1 2014 12

Donde:

  • -P letter: indica el tamaño del documento que se va a generar. En este caso tamaño carta (“letter”).
  • -l: indica que el documento tendrá orientación horizontal (la “l” es del inglés “landscape”).
  • 1: indica el primer mes del calendario resultante. Uno significa enero.
  • 12: indica que el calendario tendrá doce meses, empezando por el mes indicado arriba. En este caso, se generán todos los meses del año.

Descargue el archivo resultante.

Generar un calendario multipágina con eventos

Página de julio de 2014 con eventos diarios

Página de enero de 2014 con eventos diarios

PCAL puede leer “archivos de citas” o “de configuración” donde uno puede especificar el formato del calendario y eventos que ocurrirán durante el año. Los archivos de configuración son archivos de texto plano.

PCAL viene con un archivo de configuración de ejemplo que se puede encontrar en el sistema de archivos en /usr/share/doc/pcal/examples/pcal-cfg.txt.gz. Pero considere el siguiente ejemplo para que se haga una idea de cómo funcionan estos archivos.

Suponga que quiere generar un calendario de entrenamiento físico para el 2014 con las siguientes características:

  • Imprimible en papel carta, con orientación horizontal.
  • El texto aparece en español.
  • Todos los días hay un evento: ejercicio cardiovascular.
  • Lunes, miércoles y viernes, hay otro evento: rutina de fuerza.
  • Enero 31: cita con nutricionista.

Para generar un calendario con las características especificadas arriba, escriba el siguiente archivo de configuración y guárdelo con el nombre que prefiera  (puede usar Aplicaciones → Accesorios → Editor de texto gedit para esto).

NOTA: cuando guarde archivos de configuración que contienen caracteres no latinos (como la eñe y las tildes del español), seleccione “Occidental (ISO-8859-15)” en el campo “Codificación de caracteres” que aparece en el diálogo “Guardar como…” del editor de texto que esté usando. De esta manera, los calendarios generados en idiomas diferentes al inglés mostrarán el texto correctamente. Usar esta codificación es necesario porque PCAL no es compatible todavía con UTF-8, a diferencia de la mayoría del software moderno (vea “PCAL Shortcommings” en el sitio de PCAL).

Selección de codificación de caracteres en gedit

Selección de codificación de caracteres en gedit

# ---------------------------------------------------------------------------
# Calendario de entrenamiento físico
# ---------------------------------------------------------------------------

#
# OPCIONES DE FORMATO
#

# Tamaño del papel
opt -P letter

# Orientación del papel
opt -l

# Idioma del texto
opt -a es

# Primer día de la semana
opt -F Monday

# Tipo de letra
opt -d Times-Roman/18 -t Times-Roman/30 -n Times-Roman/10

#
# EVENTOS
#

# Rutina de cardio
all days       in all    Cardio

# Rutina de fuerza
all Mondays    in all    Fuerza
all Wednesdays in all    Fuerza
all Fridays    in all    Fuerza

# Citas
Jan 31 Nutricionista

Ahora ejecute la siguiente orden en un Terminal reemplazando el texto en mayúsculas con el nombre de su archivo de configuración y el nombre que le quiere dar al calendario resultante.

$ pcal -f NOMBRE_DE_SU_ARCHIVO -o CALENDARIO.ps 1 2014 12

Descargue el archivo resultante.

Recuerde que puede aprender más acerca de PCAL leyendo el manual en un Terminal (puede cerrar el manual presionando la tecla Q):

$ man pcal

Si conoce una manera más fácil y flexible de generar calendarios, ¡cuéntenos!

Artículo cedido al dominio público


“Solariza” tu terminal de GNOME

Temas claro y oscuro de Solarized

Temas claro y oscuro de Solarized

Solarized es un esquema de color desarrollado por Ethan Schoonover que es bueno para tus ojos y que facilita pasar largas horas frente al terminal sin mayor esfuerzo.

“Solariza” tu Terminal de GNOME:

Instala el SCV git, si no lo tienes todavía:

# aptitude install git

Luego, ejecuta:

$ git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git
$ cd gnome-terminal-colors-solarized
$ ./solarize

Ahora, ve al Terminal de GNOME y cambia el Perfil a Solarized.

Para cambiar entre los temas oscuro y claro de Solarized, ejecuta la orden ./solarize.

Para “Solarizar” otros terminales (konsole, terminal de xfce) o tu editor de texto favorito, mira aquí y aquí.

¡Feliz hacking!

Autor: rsiddharth
Traductor: Luis Felipe López Acevedo (sirgazil)

Artículo cedido al dominio público

Ataque al sitio Web

Ya habrán notado que nuestro sitio Web estuvo caído por algunos momentos este fin de semana. Es porque estuvo bajo ataque. De hecho, ha estado bajo ataque por mucho más tiempo. Solo hasta ahora el ataque fue tan malo como para volver inaccesible el sitio. Afortunadamente, todavía podía acceder con SSH. top confirmó la alta carga con promedios sobre 40 y Apache usando la mayor cantidad de recursos. Una investigación de los registros de Apache reveló varios intentos de crear cuentas nuevas y acceder:

117.26.249.115 - - [05/Jan/2014:06:25:41 -0500] "GET /PmwikiVsMoin?action=newaccount HTTP/1.1" 200 3051 "http://gnewsense.org/PmwikiVsMoin?action=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
23.90.28.237 - - [05/Jan/2014:06:25:41 -0500] "GET /PmwikiVsMoin?action=login HTTP/1.0" 200 2915 "http://gnewsense.org/PmwikiVsMoin" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
192.227.240.168 - - [05/Jan/2014:06:25:41 -0500] "GET /Main/Deltah HTTP/1.0" 200 3690 "http://www.gnewsense.org/Main/Deltah?action=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
222.77.200.70 - - [05/Jan/2014:06:25:41 -0500] "GET /PmwikiVsMoin HTTP/1.1" 200 4253 "http://gnewsense.org/" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
81.52.143.30 - - [05/Jan/2014:06:25:41 -0500] "GET /matkinson HTTP/1.1" 200 3063 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) VoilaBot BETA 1.2 (support.voilabot@orange-ftgroup.com)" 
117.26.249.115 - - [05/Jan/2014:06:25:46 -0500] "GET /PmwikiVsMoin HTTP/1.1" 200 4253 "http://gnewsense.org/PmwikiVsMoin?action=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
23.90.28.237 - - [05/Jan/2014:06:25:46 -0500] "GET /PmwikiVsMoin?action=newaccount HTTP/1.0" 200 3068 "http://gnewsense.org/PmwikiVsMoin?action=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
192.227.240.168 - - [05/Jan/2014:06:25:46 -0500] "GET /Main/Deltah?action=login HTTP/1.0" 200 2919 "http://www.gnewsense.org/Main/Deltah" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
91.236.74.103 - - [05/Jan/2014:06:25:46 -0500] "GET /Main/No-Fuss_pc_games_Solutions_-_An_Update?action=login HTTP/1.1" 200 2958 "http://www.gnewsense.org/Main/No-Fuss_pc_games_Solutions_-_An_Update" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
222.77.200.70 - - [05/Jan/2014:06:25:46 -0500] "GET /PmwikiVsMoin?action=login HTTP/1.1" 200 2915 "http://gnewsense.org/PmwikiVsMoin" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
117.26.249.115 - - [05/Jan/2014:06:25:46 -0500] "GET /PmwikiVsMoin?action=login HTTP/1.1" 200 2915 "http://gnewsense.org/PmwikiVsMoin" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 
91.236.74.103 - - [05/Jan/2014:06:25:47 -0500] "GET /Main/No-Fuss_pc_games_Solutions_-_An_Update?action=newaccount HTTP/1.1" 200 3110 "http://www.gnewsense.org/Main/No-Fuss_pc_games_Solutions_-_An_Update?action=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"

Escribí un pequeño script en awk para contar el número de direcciones IP únicas en el registro de acceso de los últimos 6 días:

{print $1; ipcount[$1]++; print ipcount[$1];} 
END {for (ip in ipcount) { 
        print ip, ipcount[ip] 
    }}

Más de 50000 peticiones se originaron de una sola dirección IP, docenas de otras direcciones IP hicieron entre 1000 y 10000 peticiones. Noten también el sospechoso nombre de la página de la última línea del extracto de arriba. Esto huele a red de robots spammers (botnet) tratando de abusar de nuestro wiki para sus propósitos nefastos.

Ya habíamos tomado algunas medidas en forma de textcha y un grupo de control de accesso autoregulado. Esto fue suficiente para detener el spam en el wiki. Solo con el grupo de control de acceso hubiera sido suficiente para detener modificaciones, pero el textcha también necesita llenarse cuando uno crea una cuenta nueva en el wiki. Lo dejamos como barrera contra la creación de cuentas por spammers. Dudo que las 114 cuentas nuevas que fueron creadas en los últimos dos meses sean todas legítimas, así que eso lo detuvo un poco. Las cuentas inactivas no son muy problemáticas, así que las dejamos así.

Ahora parece que nuestro spammer se cansó de ser frenado y ha bajado el ritmo. Apache y MoinMoin estaban trabajando tan duro para poder procesar todas estas peticiones de acceso y cuentas nuevas que los usuarios normales a duras penas podían acceder. El spammer no pudo modificar el wiki y el número de cuentas no explotó, pero sería preferible detener todo este tráfico no deseado desde la puerta principal. Mi predecesor, Karl Goetz, ya había instalado y configurado Fail2ban en un intento temprano de combatir spam en el wiki.

Fail2ban es una herramienta que revisa archivos de registros en busca de comportamientos sospechosos y bloquea al agresor por un tiempo. Se me ocurrió que un usuario normal no necesita crear una cuenta nueva más de dos veces en unos minutos. Así que le dije a Fail2ban que buscara este tipo de peticiones poniendo una expresión regular apropiada en el archivo de filtro /etc/fail2ban/filter.d/moinmoin-login.local:

[Definition] 
failregex = ^<HOST> - -.*GET.*action=newaccount HTTP.*$ 
ignoreregex =

Una sección acompañante en /etc/fail2ban/jail.local le dice que busque en los registros de Apache y que envíe un correo con los detalles del spammer:

[moinmoin-newaccount] 
enabled = true 
filter = moinmoin-newaccount 
logpath = /var/log/apache2/org.gnewsense.access.log 
findtime = 600 
maxretry = 2 
port = http,https 
action = %(action_mwl)s

Unos minutos después de reiniciar Fail2ban pude ver con “iptables -n -L fail2ban-moinmoin-newaccount” que las reglas del cortafuegos estaban empezando a surtir efecto. Hice un filtro y cárcel similares para “action=login”. Ahora el cortafuegos está bloqueando constantemente 45 direcciones IP por cada filtro y los promedios de carga en el servidor volvieron a un solo dígito antes del separador decimal. No debería haber problema para que los usuarios normales puedan crear cuentas nuevas y acceder al sitio. Los usuarios de Tor podrían verse afectados, pero eso significa que más gente debería generar nodos de salida.

Autor: Sam Geeraerts, Líder del proyecto gNewSense.
Traductor: Luis Felipe López Acevedo (sirgazil)

Artículo cedido al dominio público