Administracion server xinetd

18
Manual Básico de Administración del Superservidor xinetd Luis Quesada Torres www.elezeta.com

description

Administracion server xinetd

Transcript of Administracion server xinetd

Page 1: Administracion server xinetd

Manual Básicode Administración del

Superservidorxinetd

Luis Quesada Torres

www.elezeta.com

Page 2: Administracion server xinetd

Índice

Sección Página1. Introducción................................................................................................... 3

¿Qué es un demonio?.................................................................................... 3¿Qué es un servicio/servidor?........................................................................ 3¿Y qué problema hay?................................................................................... 3¿Y qué solución hay?..................................................................................... 3

2. Introducción a xinetd..................................................................................... 4¿Qué ofrece xinetd?...................................................................................... 4

3. Instalación y lanzamiento de xinetd............................................................... 4¿Cómo instalo xinetd?................................................................................... 4¿Cómo lanzo/detengo xinetd?....................................................................... 5

4. Estructura general de la configuración de xinetd.......................................... 5¿Cómo se organiza la configuración de xinetd?............................................ 5

5. Parámetros.................................................................................................... 7¿Qué significan los parámetros de la configuración de xinetd?..................... 7¿Hay algún ejemplo?..................................................................................... 10

6. Configuración de servicios............................................................................ 11¿Cómo configuro los servicios internos de xinetd?........................................ 11¿Cómo configuro telnetd sobre xinetd?......................................................... 13¿Cómo configuro fingerd sobre xinetd?......................................................... 13¿Cómo configuro imapd sobre xinetd?......................................................... 14¿Cómo configuro exim sobre xinetd?........................................................... 14¿Cómo configuro ftpd sobre xinetd?.............................................................. 15¿Cómo configuro vsftpd sobre xinetd?.......................................................... 15¿Cómo configuro rsync sobre xinetd?............................................................ 16¿Cómo configuro cvs sobre xinetd?............................................................... 16¿Cómo configuro sendmail sobre xinetd?...................................................... 17¿Cómo configuro ipopd sobre xinetd?........................................................... 17¿Cómo configuro apache sobre xinetd?......................................................... 18

7. Mantenimiento automático de la configuración............................................ 18¿Puedo convertir inetd.conf en xinetd.conf/xinetd.d?................................... 18

8. Referencias.................................................................................................... 18¿Dónde puedo buscar más información?....................................................... 18

Page 3: Administracion server xinetd

1. Introducción.

– ¿Qué es un demonio?

Un demonio (daemon) es un tipo especial de proceso que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario.

Estos programas se ejecutan de forma continua sin tener relación con una terminal o consola (no utilizan entrada ni salida estandar) y sin interactuar con un humano. Generalmente utilizan como entrada o ficheros de configuración alguno de los ficheros de /etc/ y escriben las salidas en un fichero de registros en /var/log o similar.

Los demonios realizan acciones al ocurrir determinados eventos. Por ejemplo, “cron” ejecuta las órdenes indicadas en /etc/crontab cada vez que el reloj del sistema llega a una determinada hora,

– ¿Qué es un servicio/servidor?

Un servidor (no necesariamente demonio) escucha en un puerto determinado, espera a recibir peticiones y da respuestas.

Un servicio, que generalmente tiene un puerto asociado fijo es la acción en sí de generar y enviar respuestas a partir de peticiones, mientras que se conoce como servidor al programa exacto que proporciona este servicio.

Ejemplos de servicios, servidores, puertos estandar y usos son:– Servicio FTP (File Transfer Protocol), servidor vsftp. Puerto 21. Transferir archivos.– Servicio HTTP (HyperText Transfer Protocol), servidor apache. Puerto 80. Servir páginas web.– Servicio SMTP (Simple Mail Transfer Protocol), servidor sendmail. Puerto 25. Enviar correo

electrónico.– Servicio POP3 (Post Office Protocol 3), servidor ipopd. Puerto 110. Recibir correo electrónico.– Servicio MySQL (Structured Query Language), servidor mysql. Puerto 3306. Bases de datos.

Cualquier aplicación con estructura cliente/servidor tiene una parte servidor que está obviamente sujeta a esta descripción.

– ¿Y qué problema hay?

Supongamos que tenemos un ordenador que va a proporcionar muchos servicios.

Eso implica tener una gran cantidad de servidores funcionando simultáneamente, acaparando recursos (memoria, procesos, capacidad de cómputo de vez en cuando) aunque no estén siendo usados en ese mismo instante.

– ¿Y qué solución hay?

La solución a la que se llegó es simple. En lugar de tener una serie de demonios manteniendo cada cual un servidor, se tendrá un único demonio que escuche en todos los puertos necesarios. Al recibir una petición lanzará una instancia del programa asociado a ese servicio que será quien se encargue de proporcionar la respuesta a través de este demonio a esa petición.

La ventaja extra es que al recibir el mismo demonio todas las peticiones, se pueden obtener estadísticas y se puede ofrecer detección de ataques (por ejemplo al recibir muchas peticiones o scans a varios puertos desde la misma dirección).

En una primera aproximación, se llamó a este demonio “inetd” (Internet Super Server o

Page 4: Administracion server xinetd

Internet Services Daemon o Internet Daemon).

En una segunda aproximación, se implementó xinetd (eXtended InterNET Daemon).

2. Introducción a xinetd.

– ¿Qué ofrece xinetd?

El daemon xinetd, aparte de ser más eficiente que inetd, ofrece un gran número de opciones de seguridad:

– Listas de control de acceso (ACLs (Access Control Lists)):– Permite rechazar conexiones de determinados usuarios o aceptar sólo conexiones de

determinados usuarios. Incluso permitiendo utilizar /etc/hosts.{allow,deny}.– Permite limitar la cantidad de conexiones, conexiones por lapso de tiempo, conexiones

desde hosts específicos, y conexiones para un servicio determinado.– Permite limitar el acceso a servicios basado en horarios.– Permite enlazar (bind) con determinadas IP's. De esta forma puedes ofrecer servicios para

usuarios de una red distintos a los servicios para los usuarios de otra red.– Prevención de ataques de Denegación de Servicio.

– Al poderse limitar la cantidad de conexiones entrantes, xinetd puede responder correctamente ante intentos de colapso.

– Al poderse limitar el número de conexiones de un host específico, puedes evitar ataques desde un host cualquiera en general.

– Permite restringir el número de servicios a iniciar.– Posibilidades avanzadas de registro (logging).

– Puedes utilizar syslog o un fichero especificado para mantener registros.– En caso de usar syslog, puedes definir los niveles de registro de syslog

independientemente para cada servicio.– Puede registrar el tiempo de inicio y fin de cada conexión, de esta forma puedes observar

comportamientos extraños (conexiones que toman mucho tiempo innecesariamente).– Puede registrar toda la información disponible acerca de los intentos fallidos de

conexiones.– Redirigir tráfico.

– Permite redirijir un flujo TCP a otro host, que puede no ser una máquina accesible desde el esterior.

– Soporte Ipv6.– Soporta el protocolo Ipv6 que en un futuro reemplazará IPv4.

– Interacción con el usuario.– Puedes enviar distintos mensajes al cliente cuando consiguen conectar o cuando la

conexión falla. De esta forma puedes mantener al usuario informado de las causas por las que no puede acceder al servicio determinado.

3. Instalación y lanzamiento de xinetd.

– ¿Cómo instalo xinetd?

Probablemente ya tengas instalado el daemon xinetd. Comprueba si existe /etc/init.d/xinetd, en tal caso lo tienes instalado. Si no, sigue estas instrucciones:

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install xinetd

Para Red Hat o Fedora Core:

# yast -i xinetd

Page 5: Administracion server xinetd

Una instalación típica de xinetd contiene:– /usr/sbin/xinetd El daemon en sí.– /usr/sbin/itox Script para mantenimiento de la configuración.– /usr/sbin/xconv.pl Script para mantenimiento de la configuración.– /usr/share/man... Páginas de man de xinetd.log, xinetd.conf, xconv.pl, xinetd e itox.– /usr/share/doc/xinetd/ Documentación de xinetd con ejemplos.– /etc/init.d/xinetd Lanzador del daemon.– /etc/default/xinetd Definición por defecto del daemon.– /etc/xinetd.conf Configuración principal de xinetd.– /etc/xinetd.d/ Según la instalación, configuración por servicios de xinetd.

Generalmente el manejador de paquetes creará todos estos ficheros. Los enumero únicamente para saber dónde tocar a la hora de configurar algo.

– ¿Cómo lanzo/detengo xinetd?

Como cualquier otro daemon, xinetd debe lanzarse o detenerse desde /etc/init.d/.

Lanzar xinetd:

# /etc/init.d/xinetd start

Detener xinetd:

# /etc/init.d/xinetd stop

Cada vez que se modifica la configuración es necesario reiniciar xinetd para que se tomen en cuenta los cambios. Se puede realizar esto rápidamente usando:

# /etc/init.d/xinetd restart

Las distribuciones de hoy en día harán que xinetd comience a funcionar automáticamente al encender el ordenador.

4. Estructura general de la configuración de xinetd.

– ¿Cómo se organiza la configuración de xinetd?

Por norma general, xinetd divide su configuración en dos secciones.

Una de ellas es el fichero /etc/xinetd.conf, que define la sección defaults (por defecto) e incluye el directorio /etc/xinetd.d:

Ejemplo de /etc/xinetd.conf:

# Simple configuration file for xinetd# Some defaults, and include /etc/xinetd.d/

defaults{        instances               = 60        log_type                = SYSLOG authpriv        log_on_success          = HOST PID        log_on_failure          = HOST        cps                     = 25 30}

includedir /etc/xinetd.d

Page 6: Administracion server xinetd

Dentro del directorio /etc/xinetd.d, se encuentran una serie de ficheros que contienen la configuración de los distintos servicios que va a proporcionar (o no) xinetd.

Ejemplo de /etc/xinetd.d/echo:

# default: off# description: An xinetd internal service which echo's characters back to# clients.# This is the tcp version.service echo{        disable         = yes        type            = INTERNAL        id              = echo­stream        socket_type     = stream        protocol        = tcp        user            = root        wait            = no} 

Por lo tanto:– Se puede modificar /etc/xinetd.conf si se quiere cambiar la configuración por defecto de

todos los servicios proporcionados por xinetd.– Se pueden modificar los ficheros de /etc/xinetd.d si se quiere cambiar la configuración

específica de alguno de los servicios proporcionados por xinetd (añadir nuevos parámetros, sobrecargar los parámetros especificados en /etc/xinetd.conf, etc.).

– Se pueden añadir nuevos ficheros a /etc/xinetd.d respetando esta sintaxis si se quieren añadir nuevos servicios a xinetd.

En la configuración, las secciones se definen de la siguiente manera:

service nombreservicio {parametros

}

Donde “nombreservicio” puede ser cualquiera de los servicios definidos en /etc/services

Los comentarios se indican anteponiendo una almohadilla (#) al comienzo de la linea.

Y los parámetros se definen de la siguiente manera:

nombreparametro = valornombreparametro = valor1 valor2 valor3

Por ejemplo:

disable = yesflags = IDONLY INTERCEPT

Aunque también podemos utilizar el operador += para añadir algo a la configuración por defecto o -= para eliminarlo de la configuración por defecto, por ejemplo:

log_on_success += HOST DURATIONflags -= INTERCEPT

Page 7: Administracion server xinetd

5. Parámetros.

– ¿Qué significan los parámetros de la configuración de xinetd?

Estos son los distintos parámetros que se pueden utilizar bien en la configuración por defecto o bien en la configuración de cualquier servicio determinado.

– disable (desactivar).Valores posibles:– Si es “yes”, este servicio no está activo (no funciona).– Si es “no”, el servicio está activo.

– socket_type (tipo de socket).Valores posibles:– Si es “stream”, este servicio usa flujos (TCP).– Si es “dgram”, este servicio usa datagramas (UDP).– Si es “raw”, este servicio requiere acceso directo al paquete IP.– Si es “seqpacket”, este servicio requiere transmisión fiable secuencial de datagramas.

– protocol (tipo de protocolo).Valores posibles:– Si es “tcp”, este servicio usa TCP.– Si es “udp”, este servicio usa UDP.– También puede ser cualquier otro protocolo definido en /etc/protocols.

– wait (número de hebras).Valores posibles:– Si es “yes”, el servicio es monohebrado. En este caso, xinetd al recibir una petición

para el servicio, lanza la instancia del servidor y deja de manejar peticiones para el mismo hasta que este acabe.

– Si es “no”, el servicio es multihebrado. En este caso, xinetd lanza una instancia del servidor cada vez que recibe una petición aunque ya estuviera corriendo anteriormente para atender otra petición.

– id (identificador).Identifica a un servicio de forma exclusiva. Por norma general es igual que el nombre del

servicio, salvo que haya varias versiones del mismo corriendo (por ejemplo, sobre UDP y TCP simultaneamente).

– user (id de usuario).Determina la uid para los procesos del servidor, puede ser un número (UID) o un nombre

de usuario que debe existir en /etc/passwd.

– port (puerto).Determina el puerto de un servicio si este no está definido en /etc/services. Si el servicio

está definido en /etc/services, este puerto debe coincidir con el que allí hay.

– nice (valor nice).Determina la prioridad del servidor, es un número entre -20 (MUY prioritario) y 20 (MUY

POCO prioritario). Lo normal es mantener un nice de 0.

– server (programa servidor).En caso de no ser un servicio INTERNAL, determina el programa que hay que ejecutar

para manejar este servicio.

– access_times (horarios de acceso).Determina los intervalos en los que es posible acceder a este servicio en la forma

“hora:minuto-hora:minuto”, por ejemplo: “8:00-15:00 17:00-21:00”.

Page 8: Administracion server xinetd

– only_from (permitir conexiones tan solo desde).Determina una lista de direcciones IP que son las únicas con acceso a este servicio y que

pueden ser especificadas de las siguientes maneras:a) Una dirección numérica “%d.%d.%d.%d”, por ejemplo “192.168.1.10”.b) Una dirección factorizada “%d.%d.%d.{%d,%d}”, por ejemplo “192.168.1.{10,11}”.c) Un nombre de red de /etc/networks.d) Un host, por ejemplo “pepitogrillo.telefonica.net”.e) Un dominio completo “.dominio.com”, por ejemplo “.telefonica.net”.f) Un rango de ips o máscaras de red, por ejemplo “192.168.1/24”.

– no_access (no acceso).Determina una lista de direcciones IP que no pueden acceder a este servicio, pudiendo

ser las ips especificadas como en only_from.

– log_type (tipo de registro).Valores posibles:– Si es “SYSLOG seccion [nivel]”, donde “seccion” es: “daemon”, “auth”, “authpriv”,

“user”, “mail”, “lpr”, “news”, “uucp”, “ftp” o “local0-7” y nivel (opcional) es: “emerg”, “alert”, “crit”, “err”, “warning”, “notice”, “info” o “debug”, utiliza syslog para registrar en esa sección y con ese nivel los mensajes.

– Si es “FILE file [limite1 [limite2]]”, donde “file” es la ruta a un fichero, se escriben los mensajes al final de ese fichero. “limite1” define un límite de tamaño del fichero tras el cual xinetd dará un aviso. “limite2” define un límite de tamaño del fichero tras el cual xinetd dejará de registrar.

– log_on_success (registro si éxito).Determina qué queda registrado en caso de éxito en la conexión. Puede estar compuesto

por: “PID”, “HOST”, “USERID”, “EXIT”, “DURATION”, y “TRAFFIC”.

– log_on_failure (registro si fallo).Determina qué queda registrado en caso de fallo en la conexión. Puede estar compuesto

por: “HOST”, “USERID”, “ATTEMP”.

– redirect (redireccionar).Determina una ip y puerto (en formato “ip puerto”) a la que redireccionar la conexión

entrante.

– bind (enlazar).Determina una interfaz a la que enlazarse en la máquina (en formato “ip”), para poder

mantener servicios distintos para una red interna y para una externa, por ejemplo.

– banner (mensaje).Determina un fichero que será leído al host remoto cada vez que se establezca una

conexión a este servicio.

– banner_success (mensaje éxito).Determina un fichero que será leído al host remoto cada vez que se establezca una

conexión a este servicio con éxito.

– banner_fail (mensaje fallo).Determina un fichero que será leído al host remoto cada vez que se establezca una

conexión a este servicio con fallo.

– env (variables de entorno).Determina las variables de entorno que se definirán a la hora de lanzar el servidor, con la

forma “nombre=valor”.

– server_args (programa servidor).Determina los argumentos pasados al servidor. El nombre del ejecutable del servidor NO

debe ser incluido en los parámetros (en inetd sí era necesario).

Page 9: Administracion server xinetd

– per_source (número de conexiones por origen).Valores posibles:– Si es “UNLIMITED”, no hay número máximo de conexiones por ip origen.– Si es un número, ese es el límite de conexiones para una misma ip de origen.

– cps (ratio de conexiones entrantes).Determina en el formato “numeroconexiones penalizacion” donde “numeroconexiones” es

el número máximo de conexiones por segundo y “penalizacion” es el tiempo que el servicio pasará deshabilitado el número límite de conexiones por segundo a soportar tras el cual el servicio se deshabilitará durante el tiempo indicado.

– enabled (activados).Determina los servicios a activar. Sólo se activarán esas id's de servicio, en lugar de todas

las que no estén disabled.

– instances (número de instancias).Valores posibles:– Si es “UNLIMITED”, no hay número de instancias ejecutándose simultáneamente para

un servicio.– Si es un número, ese es el límite de instancias.

– umask (máscara).Determina la umask del servidor.

– type (tipo).Valores posibles (combinables):– Si no está definido, el nombre de este servicio está definido en /etc/services.– Si es “RPC”, este es un servicio RPC (definido en /etc/rpc).– Si es “INTERNAL”, este es un servicio interno, implementado dentro de xinetd.– Si es “TCPMUX”/“TCPMUXPLUS”, el servicio se lanza en el puerto TCPMUX (RFC1078).– Si es “UNLISTED”, este servicio es uno no definido en /etc/rpc ni /etc/services.

– flags (opciones).Valores posibles (combinables):– Si no está definido, se toma el comportamiento por defecto.– Si es “IPv4”, define el servicio como un servicio IPv4 (AF_INET).– Si es “INTERCEPT”, se interceptan los paquetes y las conexiones para asegurar que

provienen de lugares aceptables (no se aplica a servicios internos o multihebrados).– Si es “NAMEINARGS”, indicamos que el parámetro “server_args” incluye el nombre del

servidor ejecutable en su primer parámetro.– Si es “IDONLY”, acepta conexiones sólo cuando se identifica al usuario remoto (por

ejemplo mediante servidor de identificación). Requiere que se utilice la opción de log USERID y tan sólo se aplica a los servicios basados en conexión (TCP).

– Si es “SENSOR”, reemplaza el servicio con un sensor que detecta accesos al puerto especificado (leer manual para ver los requisitos de esta opción).

– Si es “IPv6”, define el servicio como un servicio IPv6 (AF_INET6).– Si es “NORETRY”, no reintenta en caso de que fallen las llamadas al sistema fork.– Si es “NODELAY”, se utiliza la flag TCP_NODELAY en el socket si es TCP.– Si es “KEEPALIVE”, se utiliza la flag SO_KEEPALIVE en el socket si es TCP.– Si es “NOLIBWRAP”, desactiva las llamadas internas de la biblioteca tcpwrap.– “REUSE” es ignorada actuálmente, ya que se activa por defecto.

– include (incluir).Determina un fichero de configuración a incluir en este mismo.

– includedir (incluir directorio).Determina un directorio lleno de ficheros de configuración a incluir en este mismo.

Y otros pocos más, menos interesantes, que están definidos en el manual de xinetd.conf.

Page 10: Administracion server xinetd

– ¿Hay algún ejemplo?

Sí, aquí expongo un ejemplo con los comentarios pertinentes:

# Servicio chargen (generador de caracteres).service chargen{# Lo marcamos como activado.        disable         = no# Es de tipo interno (implementado en xinetd).        type            = INTERNAL# Le damos una ID en particular (por si queremos poner otro en UDP).        id              = chargen­stream# El tipo del socket es flujo (stream).        socket_type     = stream# El protocolo es tcp.        protocol        = tcp# Se ejecuta con permisos de root.        user            = root# Multihebrado, permite varias ejecuciones simultaneas.        wait            = no# Puerto 19, tal y como aparece en /etc/services.

  port            = 19# Valor de prioridad baja.

  nice            = 10# Rango de IP's al que dejamos acceder.

  only_from       = 192.168.1.0/24# IP's a las que no dejamos acceder aun así.

  no_access       = 192.168.1.1 192.168.1.2# Horario de acceso.

  access_times    = 0:00­1:59 12:00­13:59# Registramos a un fichero.

    log_type        = FILE /var/log/chargen.log# El host y la duración (además de lo de defaults, por el +=):

  log_on_success += HOST DURATION# Enlazamos únicamente a esta ip de la red local.

  bind            = 192.168.1.13# Prevenimos de saturación de conexiones desde una misma fuente.        per_source      = 1# Prevenimos de saturación de nuevas conexiones.# Si hay saturación desactivamos el servicio durante 10 segundos.        cps             = 10 10# Prevenimos un número muy alto de instancias ejecutándose.        instances       = 5# En caso de no poder hacer fork, ignoramos la llamada.

              flags = NORETRY IPv4# Definimos la umask (permisos).        umask = 022}

Aunque en este ejemplo la mayoría de los parámetros prácticamente carecen de sentido, podemos observar que es muy fácil configurar un servicio para conseguir lo siguiente:

– Un registro completo de todo lo que pasa relacionado con este servicio.– Protección contra ataques de peticiones masivas y similares.– Personalización de todo lo relacionado con el servicio.

Sin duda, xinetd es muy potente y fácil de configurar.

Page 11: Administracion server xinetd

6. Configuración de servicios.

– ¿Cómo configuro los servicios internos de xinetd?

Aquí expongo una serie de ejemplos para configurar algunos de los servicios internos de xinetd.

Configuración por defecto (/etc/xinetd.conf):

defaults{        instances               = 60        log_type                = SYSLOG authpriv        log_on_success          = HOST PID        log_on_failure          = HOST        cps                     = 25 30}

includedir /etc/xinetd.d

Chargen (generador de caracteres):

# This is the tcp version.service chargen{        disable         = no        type            = INTERNAL        id              = chargen­stream        socket_type     = stream        protocol        = tcp        user            = root        wait            = no}# This is the udp version.service chargen{        disable         = no        type            = INTERNAL UNLISTED        id              = chargen­dgram        socket_type     = dgram        protocol        = udp        user            = root        wait            = yes        port            = 19} 

Servers (mostrar servidores activos):

service servers{        disable         = no        type            = INTERNAL UNLISTED        port            = 9099        socket_type     = stream        protocol        = tcp        user            = root        wait            = no        only_from       = 127.0.0.1} 

Page 12: Administracion server xinetd

Echo (servidor de eco):

# This is the tcp version.service echo{        disable         = no        type            = INTERNAL        id              = echo­stream        socket_type     = stream        protocol        = tcp        user            = root        wait            = no} # This is the udp version.service echo{        disable         = no        type            = INTERNAL UNLISTED        id              = echo­dgram        socket_type     = dgram        protocol        = udp        user            = root        wait            = yes        port            = 7}

Time (mostrar la hora):

# This is the tcp version.service time{

         disable = yes        type            = INTERNAL        id              = time­stream        socket_type     = stream        protocol        = tcp        user            = root        wait            = no} # This is the udp version.service time{        disable = yes        type            = INTERNAL UNLISTED        id              = time­dgram        socket_type     = dgram        protocol        = udp        user            = root        wait            = yes        port            = 37} 

Por norma general, la instalación básica de xinetd trae una serie de ficheros de configuración para todos estos servicios internos, como la configuración de todos y cada uno de ellos es prácticamente igual, apenas son interesantes.

Page 13: Administracion server xinetd

– ¿Cómo configuro telnetd sobre xinetd?

En primer lugar, instalaremos el paquete telnetd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install telnetd

Para Red Hat o Fedora Core:

# yast -i telnetd

Luego crearemos el fichero /etc/xinetd.d/telnet con esta configuración:

service telnet{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/in.telnetd}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos telnetd funcionando sobre xinetd.

– ¿Cómo configuro fingerd sobre xinetd?

En primer lugar, instalaremos el paquete fingerd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install fingerd

Para Red Hat o Fedora Core:

# yast -i fingerd

Luego crearemos el fichero /etc/xinetd.d/finger con esta configuración:

service finger{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = nobody        server          = /usr/sbin/in.fingerd}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos fingerd funcionando sobre xinetd.

Page 14: Administracion server xinetd

– ¿Cómo configuro imapd sobre xinetd?

En primer lugar, instalaremos el paquete imapd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install imapd

Para Red Hat o Fedora Core:

# yast -i imapd

Luego crearemos el fichero /etc/xinetd.d/imap con esta configuración:

service imap{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/imapd}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos imapd funcionando sobre xinetd.

– ¿Cómo configuro exim sobre xinetd?

En primer lugar, instalaremos el paquete exim si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install exim

Para Red Hat o Fedora Core:

# yast -i exim

Se requiere configurar exim correctamente para nuestra red (nombre de host, direcciones a las que permitimos hacer relay, etc.). Esto se suele pedir durante la instalación.

Luego crearemos el fichero /etc/xinetd.d/smtp con esta configuración:

service smtp{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/exim

  server_args     = ­bs}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos exim funcionando sobre xinetd.

Page 15: Administracion server xinetd

– ¿Cómo configuro ftpd sobre xinetd?

En primer lugar, instalaremos el paquete ftpd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install ftpd

Para Red Hat o Fedora Core:

# yast -i ftpd

Luego crearemos el fichero /etc/xinetd.d/ftp con esta configuración:

service ftp{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/in.ftpd}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos ftpd funcionando sobre xinetd.

– ¿Cómo configuro vsftpd sobre xinetd?

A diferencia de ftpd, vsftpd es un servidor ftp más seguro.

En primer lugar, instalaremos el paquete vsftpd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install vsftpd

Para Red Hat o Fedora Core:

# yast -i vsftpd

Luego crearemos el fichero /etc/xinetd.d/ftp con esta configuración:

service ftp{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/vsftpd}

Modificamos /etc/vsftpd.conf y cambiamos “listen=YES” por “listen=NO”.

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos vsftpd funcionando sobre xinetd.

Page 16: Administracion server xinetd

– ¿Cómo configuro rsync sobre xinetd?

En primer lugar, instalaremos el paquete rsync si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install rsync

Para Red Hat o Fedora Core:

# yast -i rsync

Luego crearemos el fichero /etc/xinetd.d/ftp con esta configuración:

service rsync{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/bin/rsync        server_args     = ­­daemon}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos rsync funcionando sobre xinetd.

– ¿Cómo configuro cvs sobre xinetd?

En primer lugar, instalaremos el paquete cvsd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install cvsd

Para Red Hat o Fedora Core:

# yast -i cvsd

Luego crearemos el fichero /etc/xinetd.d/cvs con esta configuración:

service cvspserver{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        passenv         = PATH        server          = /usr/bin/cvs        env             = HOME=/var/cvs

  server_args     = ­f –­allow­root=/var/cvs pserver}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos cvs funcionando sobre xinetd.

Page 17: Administracion server xinetd

– ¿Cómo configuro sendmail sobre xinetd?

En primer lugar, instalaremos el paquete sendmail si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install sendmail

Para Red Hat o Fedora Core:

# yast -i sendmail

Se requiere configurar sendmail correctamente para nuestra red (nombre de host, direcciones a las que permitimos hacer relay, etc.). Esto se suele pedir durante la instalación.

Luego crearemos el fichero /etc/xinetd.d/smtp con esta configuración:

service smtp{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/sendmail

  server_args     = ­Am ­bs}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos sendmail funcionando sobre xinetd.

– ¿Cómo configuro ipopd sobre xinetd?

En primer lugar, instalaremos el paquete ipopd si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install ipopd

Para Red Hat o Fedora Core:

# yast -i ipopd

Luego crearemos el fichero /etc/xinetd.d/pop3 con esta configuración:

service pop3{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/ipop3d}

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos ipopd funcionando sobre xinetd.

Page 18: Administracion server xinetd

– ¿Cómo configuro apache sobre xinetd?

Apache 2 NO soporta xinetd, por lo que aquí trato la versión 1.3 de apache.

En primer lugar, instalaremos el paquete apache si no lo tenemos ya instalado.

Para Debian, Ubuntu, Linex, Guadalinex y otros derivados con apt (paquetes .deb):

# apt-get install apache

Para Red Hat o Fedora Core:

# yast -i apache

Luego crearemos el fichero /etc/xinetd.d/pop3 con esta configuración:

service www{        disable         = no        socket_type     = stream                protocol        = tcp        wait            = no        user            = root        server          = /usr/sbin/apache}

En /etc/apache/httpd.conf cambiamos “ServerType standalone” por “ServerType inetd”.

Reiniciamos xinetd haciendo: # /etc/init.d/xinetd restart

Y ya tenemos apache funcionando sobre xinetd.

7. Mantenimiento automático de la configuración.

– ¿Puedo convertir inetd.conf en xinetd.conf/xinetd.d?

¡Sí! En el paquete xinetd se incluyen dos scripts, itox y xconv.pl que se encargan de hacer esta conversión.

La sintaxis es:

# itox -daemon_dir /usr/sbin < /etc/inetd.conf > /etc/xinetd.conf# xconv.pl < /etc/inetd.conf > /etc/xinetd.conf

8. Referencias

– ¿Dónde puedo buscar más información?

Página del manual de xinetd.conf, xinetd.log, itox y xconv.pl.http://www.xinetd.org/http://es.wikipedia.org/wiki/Demonio_%28inform%C3%A1tica%29http://es.wikipedia.org/wiki/Servidor_%28inform%C3%A1tica%29http://en.wikipedia.org/wiki/Inetdhttp://en.wikipedia.org/wiki/Xinetdhttp://www.fentlinux.com/listing/manuales/Xinet.pdfhttp://www.cyberciti.biz/faq/linux-how-do-i-configure-xinetd-service/http://archiv.debianhowto.de/en/xinetdhttp://archiv.debianhowto.de/en/xinetd/xinetdkonfig.html