PDF de programación - hd magazine 11 201309

Imágen de pdf hd magazine 11 201309

hd magazine 11 201309gráfica de visualizaciones

Publicado el 10 de Julio del 2017
857 visualizaciones desde el 10 de Julio del 2017
1,7 MB
29 paginas
Creado hace 6a (30/09/2013)
Año 0 - Número 11

30.09.2013

RESPONSABLE EDITORIAL
Eugenia Bahit

HACKER TEAM:
Eugenia Bahit
María José Montes Díaz
Milagros Infante Montero
Pablo Bernardo Baragaño
y colaboradores

Hackers &
DEVELOPERS
+ C h a n g e

.
.OO
.OOOO
.OOOO'
OOOO' .-~~~~-.
OOO' / (o)(o)
.OOOOOO `O .OOOOOOO. / .. |
.OOOOOOOOOOOO OOOOOOOOOO/\ \____/
.OOOOOOOOOOOOOOOOOOOOOOOO/ \\ ,\_/
.OOOOOOO%%OOOOOOOOOOOOO(#/\ /.
.OOOOOO%%%OOOOOOOOOOOOOOO\ \\ \/OO.
.OOOOO%%%%OOOOOOOOOOOOOOOOO\ \/OOOO.
OOOOO%%%%OOOOOOOOOOOOOOOOOOO\_\/\OOOOO
OOOOO%%%OOOOOOOOOOOOOOOOOOOOO\###)OOOO
OOOOOO%%OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOO%OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
`OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'
.-~~\OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'
/ _/ `\(#\OOOOOOOOOOOOOOOOOOOOOOOOOOOO'
/ / \ / `~~\OOOOOOOOOOOOOOOOOOOOOOOOOO'
|/' `\// \\ \OOOOOOOOOOOOOOOOOOOOOOOO'
`-.__\_,\OOOOOOOOOOOOOOOOOOOOO'
jgs `OO\#)OOOOOOOOOOOOOOOOOOO'
`OOOOOOOOO''OOOOOOOOO'
`""""""' `""""""'

Hacker
es alguien que disfruta
jugando con la inteligencia

HACKERS & DEVELOPERS MAGAZINE
MAGAZINE DIGITAL DE EDICIÓN MENSUAL SOBRE SOFTWARE LIBRE, HACKING Y PROGRAMACIÓN

P U BL IC AC I Ó N B A J O L I C E N C I A C R E AT I VE C O M M O N S AT R IB U C I Ó N N O C O M E RC IA L C O M PA RT IR I G UA L 3 . 0 U N P O RT E D

© 2 0 1 3 H A C K E R S & D E V E L O P E R S M A G A Z I N E

HACKERS & DEVELOPERS MAGAZINE “CHANGE” - AÑO 0 NÚMERO 11
FECHA DE PUBLIC ACIÓN: 30 DE SEPTIEMBRE DE 2013
LICENCIA CREATIVE COMMONS ATRIBUCIÓN NO COMERCIAL COMPARTIR IGUAL 3.0 UNPORTED
CREADO CON LIBREOFFICE WRITER

CHANGE

S U P L E M E N T O E S P E C I A L
H A C K E R S & D E V E L O P E R S M A G A Z I N E

NUESTRO COMPROMISO CON QUIENES APUESTAN AL VERDADERO CAMBIO

PA PE R S D E · E U G E N I A BA H IT · M A R Í A J O S É M O N T E S D Í A Z · M I L AG RO S I N FA N T E M O N T E RO · PA B LO B E R N A R D O · Y C O L A B O R A D O R E S

EN ESTA EDICIÓN:

Protegiendo GRUB.............................................................................................. 3

Creación de paquetes .deb.................................................................................. 6

Ataque ARP Spoofing: Detectándolo mediante Bash Scripting..........................11

PseInt: Una herramienta de programación indispensable .................................14

Entendiendo el código fuente de los archivos SVG creados con Sozi e Inkscape..17

La importancia de estar documentado – Mozilla Developer Network.................23

El software y el Derecho.................................................................................... 27

@2012-2013 HACKERS & DEVELOPERS MAGAZINE “CHANGE” #11 - WWW.HDMAGAZINE.ORG – CREATIVE COMMONS ATRIBUCIÓN NO COMERCIAL COMPARTIR IGUAL 3.0 UNPORTED
PARA PRODUCIR 1000 KG DE PAPEL SE UTILIZAN 100.000 LITROS DE AGUA Y SE TALAN 7 ÁRBOLES DE 15 X 0,40 MTS
EN HD ASUMIMOS EL COMPROMISO DE CAMBIAR. TU TAMBIÉN PUEDES. NO IMPRIMAS ESTA PÁGINA SI NO ES ESTRICTAMENTE NECESARIO.

3

Protegiendo GRUB

GRUB, por defecto, permite que todos los usuarios
puedan editar las entradas del menú en el arranque.
Esto es para poder restablecer contraseñas y otras
tareas. Sin embargo, si utilizamos un equipo
compartido, es posible que necesitemos proteger el
acceso a la edición de entradas. Aquí veremos cómo
hacerlo.

Escrito por: María José Montes Díaz (Docente & Programadora)

Estudiante de Grado Ingeniería en Tecnología de la información. Técnico en informática de gestión.
Monitora FPO. Docente de programación Python y Scratch para niños de 6-12 años. Activista del
software libre y cultura libre.

Webs:
Blog: http://archninfa.blogspot.com.es/

Redes sociales:
Twitter: @MMontesDiaz

controlador, etc. U

na característica de GRUB (y otros cargadores de arranque), es que nos proporcionan una línea de comandos o un editor para
poder ajustar los parámetros que le pasamos al kernel. Esto es muy útil en ciertos casos, como por ejemplo, tener la
necesidad de arrancar en un modo diferente (en lugar de gráfico, en modo multiusario), desactivar alguna opción de algún

Una de las cosas que nos permite hacer es arrancar un intérprete de órdenes (shell), sin necesidad de realizar un login, opción que
utilizamos en el artículo anterior para restablecer la contraseña del usuario root, pero que también podemos utilizar para recuperar
un sistema dañado.

Esto está muy bien y es muy útil, hasta que compartimos la máquina con otras personas, nos dejamos el portátil en casa de alguien,
nos levantamos del puesto de trabajo un momento, etc. En ese caso, podríamos tener problemas, pues el arranque que se
realiza se hace con permisos de usuario root.

Entonces, ¿por qué no viene protegido el gestor de arranque? En la mayor parte de los casos, las personas que tienen acceso físico al
equipo, tienen la posibilidad de acceder al mismo con múltiples mecanismos, con lo que añadir una protección aquí, de entrada, solo
complica más la recuperación del sistema. En realidad, donde se hace realmente necesario proteger el arranque es en equipos
compartidos, normalmente en lugares de trabajo, donde debemos establecer muy bien los permisos y roles de las diferentes personas
que utilizarán el mismo.

Cómo no podía ser de otra manera, nuestro GRUB nos proporciona mecanismos para proteger esta edición. El mecanismo por defecto
es muy restrictivo: No podemos ejecutar la entrada y tampoco editarla (aunque se puede suavizar esta restricción). Pero... ¿cómo
podemos restringir tanto la ejecución como la edición de entradas en el GRUB? Disponemos de varias opciones. Empezaré por la más
simple de todas.

Lo primero que debemos hacer es editar el archivo de configuración de GRUB, /boot/grub/grub.cfg. Al principio del archivo,
debemos indicar qué usuarios dispondrán de permisos para ejecutar y editar las entradas de GRUB. Esto se hace estableciendo una
lista de usuarios, separadas por comas, espacios o puntos y comas, de la siguiente manera:

@2012-2013 HACKERS & DEVELOPERS MAGAZINE “CHANGE” #11 - WWW.HDMAGAZINE.ORG – CREATIVE COMMONS ATRIBUCIÓN NO COMERCIAL COMPARTIR IGUAL 3.0 UNPORTED
PARA PRODUCIR 1000 KG DE PAPEL SE UTILIZAN 100.000 LITROS DE AGUA Y SE TALAN 7 ÁRBOLES DE 15 X 0,40 MTS
EN HD ASUMIMOS EL COMPROMISO DE CAMBIAR. TU TAMBIÉN PUEDES. NO IMPRIMAS ESTA PÁGINA SI NO ES ESTRICTAMENTE NECESARIO.

4

set supersusers="root,mary"

Ya tenemos los usuarios que podrán ejecutar y editar las entradas del menú. Ahora hay que indicar cuál será la clave para estos
usuarios. Hay que tener en cuenta que no es la clave de sistema: El sistema no ha arrancado. Es una clave específica para GRUB.
Además, aparte del usuario root, podemos establecer los que queramos, sin necesidad de que coincidan con los usuarios reales del
sistema. Añadimos también una entrada por cada usuario, con su clave, así como usuarios que no queremos que ejecuten todas las
entradas, pero sí las que especifiquemos:

password root clave_root
password mary clave_mary
password usuario clave_usuario

A partir de aquí, sólo los usuarios root y mary podrán ejecutar todas las opciones del menú de GRUB. Sus claves serán clave_root
y clave_mary, respectivamente. La última línea es para establecer una clave a usuario, que utilizaremos después.

Pero... ¿No hay algo “raro”? Pues sí, las claves están especificadas en texto plano . Esto, en un entorno de trabajo, no es
recomendable, así que vamos a generar un hash para ocultar nuestra clave. Para ello debemos utilizar un comando que nos
proporciona GRUB. Ejecutamos, en la línea de órdenes:

grub-mkpasswd-pbkdf2

Nos solicitará que introduzcamos una contraseña y, después, que la confirmemos, devolviendo algo similar a esto:

$ grub-mkpasswd-pbkdf2

Introduzca la contraseña:

Reintroduzca la contraseña:

El hash PBKDF2 de su contraseña es
grub.pbkdf2.sha512.10000.B2B745D9862E47F95CA64C5DEB31CE0443E038122D2775F4294A7C5F15F79D5E1CC44
97A9BBBEA080F4847433291385AFADD253564037E79F999877CCDBEDB58.1951C740709F4EB38228E2049F180607F6
E36E6F5E0DA3F2552419C0B934DE6E573FFCC0B43D1C2B3D0D69644224259F451178D7CFE99DFF38FFF5356E7978CA

Ahora, en lugar de poner la clave en texto plano en el archivo /boot/grub/grub.cfg, debemos introducir el hash devuelto e
indicar que la clave no está en texto plano:

password_pbkdf2 root grub.pbkdf2.sha512.10000.B2B745D986...
...

Todas las entradas del menú de GRUB están protegidas. Aunque, en ciertas ocasiones, puede que nos interese habilitar la ejecución a
algún usuario en particular. Para ello, en la entrada a la que queramos habilitar la ejecución a algún usuario que no esté en la lista
superusers, añadimos lo siguiente:

menuentry 'Arch Linux, con Linux core repo kernel' --class arch --class gnu-linux --class gnu
--class os $menuentry_id_option 'gnulinux-core repo kernel-true-2288d60f-b933-4c45-98f7-
536130a19caf' --users usuario { … }

Si queremos que la entrada pueda ser ejecutada por cualquier usuario:

@2012-2013 HACKERS & DEVELOPERS MAGAZINE “CHANGE” #11 - WWW.HDMAGAZINE.ORG – CREATIVE COMMONS ATRIBUCIÓN NO COMERCIAL COMPARTIR IGUAL 3.0 UNPORTED
PARA PRODUCIR 1000 KG DE PAPEL SE UTILIZAN 100.000 LITROS DE AGUA Y SE TALAN 7 ÁRBOLES DE 15 X 0,40 MTS
EN HD ASUMIMOS EL COMPROMISO DE CAMBIAR. TU TAMBIÉN PUEDES. NO IMPRIMAS ESTA PÁGINA SI NO ES ESTRICTAMENTE NECESARIO.

5

menuentry 'Arch Linux, con Linux core repo kernel' --class arch --class gnu-linux --class gnu
--class os $menuentry_id_option 'gnulinux-core repo kernel-true-2288d60f-b933-4c45-98f7-
536130a19caf' --unrestricted { … }

En cualquier caso, aunque todos los
  • Links de descarga
http://lwp-l.com/pdf5087

Comentarios de: hd magazine 11 201309 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad