Tema 4: Servicios básicos de servidor a
cliente
Administración de Sistemas e Redes
Tomás Fernández Pena
[email protected]
Índice
1. Introducción
2. Acceso remoto y transferencia de cheros
2.1. Servicio de telnet y ftp . . . . . . . . . . . . . . . . . . . . . .
2.2. SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
5
3. Sistemas de archivos de red (NFS)
8
9
3.1. Características principales . . . . . . . . . . . . . . . . . . . .
3.2.
Instalación de NFS en Debian . . . . . . . . . . . . . . . . . . 11
3.3. Consideraciones de seguridad en NFS . . . . . . . . . . . . . . 14
4. Servicios de directorio
15
4.1. Servicio de Información de Red NIS . . . . . . . . . . . . . . . 16
5. Servicio de directorio: LDAP
21
5.1. OpenLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2. Modelo de datos de LDAP . . . . . . . . . . . . . . . . . . . . 22
5.3.
Instalación de un servidor LDAP . . . . . . . . . . . . . . . . 24
5.4. Migración desde cheros o NIS . . . . . . . . . . . . . . . . . . 27
5.5.
Instalación de un cliente LDAP . . . . . . . . . . . . . . . . . 28
5.6. Conguración de LDAP con múltiples servidores . . . . . . . . 32
5.7. Herramientas de administración de LDAP . . . . . . . . . . . 33
1
6. Compartición Linux-Windows: Samba
33
6.1. Funcionamiento de Samba . . . . . . . . . . . . . . . . . . . . 34
6.2.
Instalación básica de Samba . . . . . . . . . . . . . . . . . . . 35
6.3. Conguración de Samba . . . . . . . . . . . . . . . . . . . . . 36
6.4. Otros comandos Samba . . . . . . . . . . . . . . . . . . . . . . 38
1. Introducción
Dos tipos de servicios:
1. Servicios de Internet:
Servicios de ejecución remota: telnet, ssh
Servicios de transferencia de cheros: ftp, sftp
Servicio de DNS
Servicio de Proxy
Servicio de correo electrónico: SMTP, POP, . . .
Servicio Web
2. Servicios de intranet
Sistemas de archivos de red (NFS)
Servicio de información de red (NIS)
Servicio de directorio (LDAP)
Compartición Windows/Linux (Samba)
Los servicios de DNS, Web, Proxy y e-mail se tratan en la asignatura Admi-
nistración Avanzada de Sistemas e Redes
2. Acceso remoto y transferencia de cheros
Permiten acceder a un sistema remoto y transferir cheros de/hacia este
sistema
Aplicaciones clásicas
1. telnet (TELetype NETwork ) permite conectarnos a otros orde-
nadores de la red como terminal remoto
2
2. ftp (File Transfer Protocol ) permite intercambiar cheros entre
distintos ordenadores de la red
Problema: la información se transere en claro
El uso de telnet y ftp se desaconseja
Reemplazarlos por ssh, scp, sftp
1. ssh (Secure Shell ) permite conectarnos a otro sistema encriptando
toda la información
2. scp, sftp permiten la transferencia de cheros de forma encrip-
tada
scp similar a cp y sftp similar a ftp
2.1. Servicio de telnet y ftp
Los servicios TCP (telnet, ftp, talk, nger, etc.) son normalmente lanzados
por el superdemonio de red inetd (o xinetd)
El chero de conguración es el /etc/inetd.conf
Ejemplo de línea
telnet
stream
tcp
nowait
telnetd
/usr/sbin/in.telnetd
cuando inetd reciba una petición al puerto telnet abre un socket
tipo stream y ejecuta fork() y exec() del programa /usr/sbin/in.telnetd,
bajo la identidad del usuario telnetd
nowait indica que el servidor puede continuar procesando cone-
xiones en el socket
Versión mejorada de inetd: xinetd
Para mayor control usar TCP Wrapper (programa tcpd)
Permite conceder/denegar acceso a determinados hosts/redes me-
diante los chero /etc/hosts.allow y /etc/hosts.deny
3
Servicio de telnet
Instalación de un servidor telnet
Descargar el paquete telnetd
El paquete actualiza el /etc/inetd.conf
Por defecto usa TCP wrappers
El servidor escucha el puerto 23
Desistalar el servicio telnet
Desinstalar el paquete telnetd, o
Comentar la línea correspondiente en /etc/inetd.conf
Servicio de FTP
Transere cheros a/desde un host remoto
Permite usuarios registrados o anónimos (anonymous)
Utiliza dos puertos: 21 (conexión de control) y 20 (conexión de datos)
Dos modos de funcionamiento:
1. Activo (modo por defecto en el comando ftp)
El servidor inicia la conexión de datos desde su puerto 20 a
un puerto > 1023 del cliente
Problema con los rewalls en el cliente
2. Pasivo (modo recomendable, por defecto en navegadores)
El cliente inicia las conexiones de control y datos
No se utiliza el puerto 20
No tiene problema con los rewall
Instalación de un servidor ftp básico
1. Instalar el paquete ftpd
El paquete actualiza el /etc/inetd.conf
Por defecto usa TCP wrappers
Podemos denegar el acceso ftp a ciertos usuarios incluyéndolos en
el chero /etc/ftpusers
4
Servicio de FTP avanzado
Servidores avanzados de FTP
Proporcionan numerosas facilidades, tanto para ftp normal cono anó-
nimo
Existen numerosos servidores comerciales u open source: Wu-FTPD,
Pure-FTPd, ProFTPD, wzdftpd, vsftpd
Estos servidores proporcionan normalmente:
Operación a través de inetd o standalone
Servidores FTP virtuales (varios servidores de FTP anónimos en
el mismo host)
Usuarios FTP virtuales (cuentas ftp diferentes de las cuentas del
sistema)
Facilidades para registro y monitorización de accesos
Facilidades para controlar y limitar accesos
Comunicación encriptada
2.2. SSH
SSH: Shell seguro
Permite comunicarnos de forma segura con un servidor remoto
Permite abrir sesiones o transferir cheros (scp o sftp)
Reemplazo de rlogin, telnet o ftp
Todos los datos viajan encriptados
Dos versiones SSH-1 y SSH-2:
◦ Recomendable SSH-2
◦ Versión open-source OpenSSH
Paquetes Debian:
Ciente: openssh-client
Servidor: openssh-server
5
Modos de autenticación mediante SSH
SSH soporta 4 modos de autenticación:
1. Si el nombre del host remoto desde el cual un usuario se conecta al
servidor esta listado en ~/.rhosts, ~/.shosts, /etc/hosts.equiv o
/etc/shosts.equiv el usuario remoto puede entrar sin contraseña
Método absolutamente desaconsejado
2. Igual que el anterior pero la clave pública del host remoto debe aparecer
en /etc/ssh_known_hosts o ~/.ssh/known_hosts
No demasiado seguro (si el host remoto se ve comprometido, el
servidor local queda comprometido)
3. La clave pública del usuario remoto debe estar en ~/.ssh/authorized_keys
El usuario remoto debe tener acceso a su clave privada
Método más seguro, pero un poco incomodo
4. Acceso mediante contraseña (modo por defecto)
Menos seguro que el anterior
Opciones para autenticación
Fichero de conguración del servidor ssh: /etc/ssh/sshd_config
Opción
RhostsRSAAuthentication
M Dfto. Signicado
2
no
HostbasedAuthentication
IgnoreRhosts
IgnoreUserKnownHosts
RSAAuthentication
PubkeyAuthentication
PasswordAuthentication
UsePAM
2
2
2
3
3
4
2,3,4
no
yes
no
yes
yes
yes
no
6
Si yes permite autenticación por host
(SSH-1)
Si yes permite autenticación por host
(SSH-2)
No usa los cheros ~/.rhosts y
~/.shosts
Ignora el chero ~/.ssh/known_hosts
Autenticación de clave pública de
usuario (SSH-1)
Autenticación de clave pública de
usuario (SSH-2)
Autenticación mediante contraseña
Usa PAM para autenticación
Otras opciones de conguración del servidor
Otras opciones en /etc/ssh/sshd_config
Opción
Port
Protocol
ListenAddress
PermitRootLogin
X11Forwarding
Dfto. Signicado
22
2,1
Puerto (puede ser interesante cambiarlo a
>1024)
Protocolo aceptado (más seguro sólo 2)
Todas Dirección local por la que escucha
yes
no
Permite acceder al root
Permite forwarding X11
Para más opciones man sshd_config
Opciones para el cliente
Fichero de conguración del cliente ssh: /etc/ssh/ssh_config o ~/.ssh/config
En este chero se especican opciones para los comandos ssh, scp o
sftp
Algunas de estas opciones se pueden especicar en el momento de eje-
cutar el comando, p.e.
$ ssh -p port servidor # Indica otro puerto
Algunas opciones:
Opción
Hosts
Port
Protocol
Cipher[s]
ForwardX11
22
2,1
no
Dfto. Signicado
Host para los que se aplican las opciones (*
implica todos)
Puerto por defecto
Protocolo usado por defecto
Mecanismos de cifrado usados
Reenvío X11
Para más opciones man ssh_config y man ssh
Otros comandos
ssh-keygen generación y gestión de claves públicas/privadas para SSH
Permite claves RSA o DSA (DSA sólo SSH-2, por defecto RSA-2)
Ficheros (para SSH-2)
7
◦ Clave privada: ~/.ssh/id_rsa o ~/.ssh/id_dsa (~/.ssh/identity
◦ Clave pública: ~/.ssh/id_rsa.pub o ~/.ssh/id_dsa.pub (~/.ssh/identity.pub
para SSH-1)
para SSH-1)
La clave privada debe tener una passphrase de longitud arbitraria
◦ Puede cambiarse con la opción -p
ssh-agent Agente de autenticación
Mantiene en memoria la clave privada
Evita tener que escribir la passphrase cada vez que usemos ssh
Habitualmente, si entramos en X11 se activa automáticamente
◦ Opción use-ssh-agent de /etc/X11/Xsession.options (ver
man xsession.options)
Para activarlo en consola usar (como usuario)
eval $(ssh-agent)
Dene las variables SSH_AUTH_SOCK y SSH_AGENT_PID
ssh-add Añade las claves privadas al agente
Uso:
ssh-add [opciones ] [-t life ] [fichero ]
Por defecto añade los cheros ~/.ssh/id_rsa, ~/.ssh/id_dsa y
~/.ssh/identity, pidiendo las correspondientes passphrases
Pueden añadirse múltiples claves
◦ En una conexión se prueban las diferentes claves hasta que
coincide
Algunas opciones:
◦ -l Muestra las identidades añadidas
◦ -t life Especica un tiempo de vida de la identidad
3. Sistemas de archivos de red (NFS)
NFS (Network File System) permite compartir sistemas de cheros en la red
Introducido por Sun MicroSystems en 1985, y soportado por todos los
Unixes
8
Versiones principales: NFSv2, NFSv3 y NFSv4 (la más reciente, RFC
3530, incluido en kernel 2.6, última revisión 4.1)
NFSv2 y 3: protocolo sin estado, el servidor no mantiene información
de los clientes
NFSv4 incorpora estado: servidor y clientes mantienen información so-
bre cheros abiertos y locks
Incorpora un mecani
Comentarios de: Tema 4: Servicios básicos de servidor a cliente - Administración de Sistemas e Redes (0)
No hay comentarios