9
Trabajo elaborado por: Tatiana Mansilla Clavería 2º ING 24/03/2009 Ingeniería Informática Administración de servidores Práctica 2

Memoria2_TatianaMansilla

Embed Size (px)

Citation preview

Page 1: Memoria2_TatianaMansilla

Trabajo elaborado por: Tatiana Mansilla Clavería

2º ING

24/03/2009

Ingeniería Informática

Administración de servidores

Práctica 2

Page 2: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 1 -

Índice

Índice 1

Manual 2

Tarea 1 2

Tarea 2 3

Tarea 3 4

SSH 5

BIND9 6

Bibliografía 8

Page 3: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 2 -

Memoria

TAREA 1

En primer lugar he partido de una imagen con debían correctamente

funcionando, llamada debian_limpio.imb. Una vez que ya tenía la imagen he creado el

volumen lógico con: lvcreate –L1G –n deb2 grupodeb, por lo que ahora ya solo

me queda utilizar el comando dd para duplicar la imagen, ya que es un comando

bastante útil para transferir datos desde un archivo hacia un dispositivo:

dd if=/home/tatiana/Escritorio/debian_limpio.img of=/dev/grupodeb/deb2

Como la imagen de la máquina virtual Debian, no tenía password he utilizado el

comando passwd para ponérsela. No he modificado el nombre de máquina ya que el de

la primera máquina es Debian y el de la segunda es DebianVM, por lo que al no

coincidir no me ha hecho falta cambiarlo. Las direcciones ip se generan

automáticamente buscando la que está libre, por lo tanto tampoco he tenido que

modificar el fichero ya que la dirección ip de la primera es 192.168.122.110 y la de la

segunda es 192.168.122.123.

Con todo esto ya tengo mis dos máquinas virtuales con diferente nombre y

diferente ip. Para que se pudieran conectar las tres máquinas (Ubuntu, deb_1 y deb_2)

he modificado y duplicado el fichero xml para meter las máquinas en el virt-manager.

En el fichero xml he modificado el nombre, el uuid, el source file (la ruta del

volumen lógico), la dirección mac y el puerto, ya que si los puertos eran el mismo en las

dos máquinas me daba error y no podían estar conectadas a la vez. Con la consola virsh

he realizado un define de los dos archivos xml y se me han agregado correctamente

las dos máquinas.

Una vez que ya están las dos máquinas virtuales en el virt-manager ejecuto las

dos a la vez y les hago pings entre ellas y funcionan correctamente. Por lo tanto ya

tengo conectividad entre las tres máquinas.

Page 4: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 3 -

TAREA 2

Esta tarea consiste en conectarnos a través del escritorio remoto gracias a ssh,

por lo que lo primero que hay que hacer es instalarlo: apt-get install ssh.

Ahora voy a generar la clave RSA con el siguiente comando:

ssh-keygen -t rsa, el cual crea la clave RSA y la guarda. En todos los pasos le

he dado a intro, por lo que he dejado todo por defecto. Esta clave la voy a utilizar para

cifrar la contraseña de root y poderme conectar con ssh a las máquinas virtuales sin que

me pida ninguna contraseña.

El siguiente paso es pasarle la contraseña encriptada con RSA a las dos

máquinas virtuales para ello hay que ejecutar los siguientes comandos (uno para cada

máquina). Al ejecutar cada uno de ellos tiene que estar la máquina virtual

correspondiente encendida:

ssh-copy-id -i [email protected]

ssh-copy-id -i [email protected]

Para comprobar que funcionan correctamente he hecho: ssh '[email protected]'

ssh '[email protected]'

Y automáticamente me ha cambiado mi prompt a: nombre_cuenta@nombre_manquina,

por lo que de ésta manera he comprobado que me iba bien.

Page 5: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 4 -

TAREA 3

La última tarea consiste en poner en funcionamiento el servidor bind9, para ello,

hay que instalar el paquete que utiliza este DNS: apt-get install bind9, tras

instalármelo correctamente he realizado algunas modificaciones de los ficheros

named.conf.local en el que he añadido lo siguiente:

zone "tmansilla.es" {

type master;

file "/etc/bind/db.tmansilla";

};

El siguiente fichero que he modificado es el db.tmansilla, pero antes de esto, he

realizado una copia del fichero db.local que se llamase db.tmansilla para modificarla, y

le he cambiado lo siguiente:

@ IN NS tmansilla.es.

@ IN A 127.0.0.1

www IN A 192.168.122.110

Tras todas las modificaciones hay que ejecutar el commando:

/etc/init.d/bind9 restart, para que se reinicie y se apliquen las

modificaciones. También me he instalado el paquete gbindadmin para utilizar el bind9

con interfaz gráfica.

Finalmente para comprobar que este servidor DNS me funcionaba correctamente

he ejecutado dos commandos: host -t a www.google.com 192.168.122.1

host -t a www.tmansilla.es 192.168.122.1

Page 6: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 5 -

SSH

SSH (Secure SHell, en español: intérprete de órdenes seguro) es un protocolo y

a su vez, el programa que implementa este protocolo. Sirve para poder acceder a

máquinas remotas a través de una red por medio de una CLI (Command Line Interface -

Interfaz de Línea de Comandos- también llamada: "shell"). Permite copiar datos de

forma segura, manejar por completo el ordenador mediante un intérprete de comandos,

gestionar claves RSA para no tener que escribir claves al conectar a las máquinas y

pasar datos de cualquier otra aplicación por un canal seguro tunelizado mediantes SSH.

Es semejante a Telnet, con la excepción de que ssh codifica la información cuando

viaja, por lo que es mucho más segura.

Ya que se trata de un intérprete de órdenes seguro, debemos configurarlo pero

que lo sea, por lo tanto, lo primero que debemos modificar es el fichero

/etc/ssh/sshd_configSSH, ya que el puerto que utiliza por defecto es el 22, y si se lo

cambiamos hace que sea más seguro. Se pueden modificar también otra serie de

opciones como puede ser la “Authentication”, “PermitRootLogin”. “AllowUsers”,

“MaxAuthTries”, “MaxStartups”,… Pero para lo que vamos a hacer nosotros no

necesitamos tanta seguridad, por lo tanto no hace falta cambiar tantas cosas.

Siempre que nos conectemos a un ordenador remoto con SSH nos va a pedir el

password de acceso para asegurarse de que tenemos permisos. Hay una forma de evitar

que nos pida el password. Para ello hay que generar una clave RSA: $ ssh-keygen -t rsa

Nos da la opción de crear una palabra de paso aunque en caso de pulsar intro nos creará

una en blanco, la cual no nos será requerida cuando accedamos.

Las claves se almacenan por defecto en ~/.ssh/, quedando el directorio así:

Los ficheros id_rsa e id_rsa.pub contienen respectivamente las claves privada y pública.

El fichero known_hosts contiene la lista de las claves públicas de las máquinas

reconocidas.

Una vez que se ha generado la clave se copia al usuario del ordenador remoto

utilizando el comando ssh-copy-id, para copiar la clave pública al fichero

~/.ssh/authorized_keys de cada usuario que vamos a usar, dentro del servidor al que

queremos acceder. ssh-copy-id es un script que se conecta a la máquina y copia el

archivo (indicado por la opción -i) en ~/.ssh/authorized_keys, y ajusta los permisos a los

valores adecuados.

La primera vez que se arranca el SSH nos pregunta la contraseña y a partir de

entonces ya podemos acceder al ordenador remoto sin tener que escribir el password

cada vez.

Algunos comandos que se utilizan a través de SSH son los siguientes:

pwd muestra el path completo del directorio en el que se encuentra, cd cambia de

directorio, ls lista archivos y directorios de un directorio, pico ruta/archivo

edita el archivo con el editor pico, cp copia todos los archivos de un directorio a otro

manteniendo sus respectivos permisos, etc.

Page 7: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 6 -

Bind9

BIND (Berkeley Internet Name Domain), distribuido bajo la GNU GPL, es el

servidor DNS más antiguo y ampliamente utilizado. Trabaja en todas las plataformas

informáticas principales y se caracteriza por su flexibilidad y seguridad.

Domain Name Service (DNS) es el servicio que resuelve los nombres de

dominio asociados a una dirección IP para direccionar las peticiones a un servidor en

específico. Se utiliza cuando un nodo (o host) en Internet contacta a otro mediante el

nombre de domino de la máquina y no por su dirección IP.

Todos los equipos que están en Internet o una Intranet tienen una dirección IP

única que las identifica, pero el recordar todas las direcciones en este formato sería

sumamente difícil, por lo que utilizamos los nombres de dominio para referenciarlos.

Para configurar un servidor local de caché de nombres con BIND para una red

local y así acelerar las búsquedas DNS, hay que instalar BIND en una máquina Linux,

en mi caso en Ubuntu. Tras instalarlo hay que modificar varios archivos de

configuración.

Se debe editar el fichero de configuración local, esto es: /etc/bind/named.conf.local, en

el que hay que añadir la siguiente información:

zone "example.com" {

type master;

file "/etc/bind/db.example.com";

};

Con esto, le decimos que la zona es example.com, que es un esclavo y que el fichero

para guardar la info es "/etc/bind/db.example.com" (bind9 lo mete en /var/cache/bind)

que permitimos cualquier pregunta y le decimos quien es nuestro maestro (su ip). El

fichero de configuración “db.example.com” se crea a partir de “db.local”: cp db.local db.example.com

El fichero db.example.com se debe editar de la siguiente manera:

;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.example.com. root.example.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.example.com.

@ IN A 192.168.1.10

box IN A 192.168.1.10

Page 8: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 7 -

Cada vez que se cambia la configuración de BIND9, debemos reiniciar el demonio:

/etc/init.d/bind9 restart

Para que nuestra máquina utilice el servidor de DNS que hemos configurado,

debemos editar “/etc/resolv.conf” y dejamos únicamente la línea:

nameserver 127.0.0.1

Para comprobar el correcto funcionamiento, utilizamos el comando “host” el

cual sirve para resolver dominios.

Si deseamos también disponer de resolución de dominios inversa, es decir, que

podamos preguntar por la IP “192.168.1.10″ y el servidor DNS nos diga que pertenece a

example.com, debemos añadir a “/etc/bind/named.conf.local”:

zone "192.in-addr.arpa" {

type master;

file "/etc/bind/db.192";

};

Creamos el archivo de configuración “/etc/bind/db.192″ a partir del “/etc/bind/db.127″:

cd /etc/bind/

cp db.127 db.192

Editamos “/etc/bind/db.192″, substituimos “localhost” por “example.com” y cambiamos

la última línea:

;

; BIND reverse data file for local loopback interface

;

$TTL 604800

@ IN SOA example.com. root.example.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS example.com.

10.1.168 IN PTR example.com.

De forma que, la última linea indica que la IP [192.]168.1.10 (escrita a la inversa y

omitiendo el 192 que ya se especifico en “named.conf.local”) corresponde al dominio

example.com.

Podemos comprobar su funcionamiento reiniciando el demonio BIND9 y realizando

una consulta.

Page 9: Memoria2_TatianaMansilla

Tatiana Mansilla Clavería

- 8 -

Bibliografía

http://tuxpepino.wordpress.com/2007/05/11/ssh-el-dios-de-la-administracion-remota/

http://www.guia-ubuntu.org/index.php?title=Servidor_ssh

http://www.aemilius.net/soporte/tutoriales/comandos-ssh-shell-telnet-frecuentes.html

http://doc.ubuntu-es.org

http://www.estrellateyarde.es/discover/servidor-dns-en-linux

http://www.marblestation.com/blog/?p=543

https://help.ubuntu.com/community/BIND9ServerHowto

http://diariolinux.com/index.php?s=autom%C3%A1tico

http://www.gpltarragona.org/archives/421

http://es.tldp.org/COMO-INSFLUG/COMOs/DNS-Como/DNS-Como-3.html