En redes de computadoras , xinetd ( Extended Internet Service Daemon ) es un demonio de super-servidor de código abierto que se ejecuta en muchos sistemas similares a Unix y administra la conectividad basada en Internet . [3]
Desarrollador (es) | Rob Braun |
---|---|
Lanzamiento estable | 2.3.15 / 9 de mayo de 2012 |
Repositorio | github |
Escrito en | C , concha [1] |
Sistema operativo | Tipo Unix |
Tipo | Demonio |
Licencia | De código abierto [2] |
Sitio web | web |
Ofrece una alternativa más segura al antiguo inetd ("el demonio de Internet"), que la mayoría de las distribuciones modernas de Linux han desaprobado. [4]
Descripción
xinetd escucha las solicitudes entrantes a través de una red y lanza el servicio apropiado para esa solicitud. [5] Las solicitudes se realizan utilizando números de puerto como identificadores y xinetd generalmente lanza otro demonio para manejar la solicitud. [6] Se puede utilizar para iniciar servicios con números de puerto privilegiados y no privilegiados.
xinetd presenta mecanismos de control de acceso como TCP Wrapper ACL , amplias capacidades de registro y la capacidad de hacer que los servicios estén disponibles en función del tiempo. Puede establecer límites en la cantidad de servidores que puede iniciar el sistema y tiene mecanismos de defensa desplegables para proteger contra los escáneres de puertos , entre otras cosas.
En algunas implementaciones de Mac OS X , este demonio inicia y mantiene varios servicios relacionados con Internet, incluidos FTP y telnet . Como forma extendida de inetd, ofrece mayor seguridad. Reemplazó a inetd en Mac OS X v10.3 y, posteriormente, launchd lo reemplazó en Mac OS X v10.4 . Sin embargo, Apple ha retenido inetd por motivos de compatibilidad.
Configuración
La configuración de xinetd reside en el archivo de configuración predeterminado /etc/xinetd.conf y la configuración de los servicios que soporta residen en los archivos de configuración almacenados en el directorio /etc/xinetd.d. La configuración de cada servicio generalmente incluye un interruptor para controlar si xinetd debe habilitar o deshabilitar el servicio.
Un archivo de configuración de ejemplo para el servidor horario RFC 868 :
# predeterminado: desactivado# descripción: Un servidor horario RFC 868. Este protocolo proporciona una# fecha y hora legibles por máquina e independientes del sitio. El servicio Time envía de vuelta# a la fuente de origen el tiempo en segundos desde la medianoche del primero de enero# 1900.# Esta es la versión tcp.tiempo de servicio{ deshabilitar = sí tipo = INTERNO id = time-stream socket_type = flujo protocolo = tcp usuario = root esperar = no}# Esta es la versión udp.tiempo de servicio{ deshabilitar = sí tipo = INTERNO id = tiempo-dgram socket_type = dgram protocolo = udp usuario = root esperar = si}
Las líneas con el carácter "#" al principio son comentarios sin ningún efecto sobre el servicio. Hay dos versiones de servicio, la primera se basa en el Protocolo de control de transmisión (TCP), la segunda se basa en el Protocolo de datagramas de usuario (UDP). El tipo y el uso planificado de un servicio determina el protocolo central necesario. De una manera simple, el UDP no puede manejar grandes transmisiones de datos, porque carece de la capacidad de reorganizar los paquetes en un orden específico o garantizar su integridad, pero es más rápido que TCP. TCP tiene estas funciones, pero es más lento. Hay dos columnas en cada versión dentro de las llaves. El primero es el tipo de opción, el segundo es la variable aplicada.
La opción de deshabilitar es un interruptor para ejecutar un servicio o no. En la mayoría de los casos, el estado predeterminado es sí . Para activar el servicio cámbielo a no .
Hay tres tipos de servicios. El tipo es INTERNO si el servicio lo proporciona xinetd, RPC cuando se basa en una llamada a procedimiento remoto , normalmente se enumeran en el archivo / etc / rpc, o puede estar SIN LISTA cuando el servicio no está en / etc / services ni en los archivos / etc / rpc.
El id es el identificador único del servicio.
El socket_type determina la forma de transmisión de datos a través del servicio. Hay tres tipos: stream , dgram y raw . Este último es útil, cuando queremos establecer un servicio basado en un protocolo no estándar.
Con la opción de usuario es posible elegir un usuario para que sea el propietario del servicio en ejecución. Se recomienda encarecidamente elegir un usuario que no sea root por motivos de seguridad.
Cuando la espera es sí, xinetd no recibirá la solicitud del servicio si tiene una conexión. Por tanto, el número de conexiones se limita a una. Proporciona muy buena protección cuando queremos establecer una sola conexión por vez.
Hay muchas más opciones disponibles para xinetd. En la mayoría de las distribuciones de Linux, se puede acceder a la lista completa de opciones posibles y su descripción con un comando "man xinetd.conf".
Para aplicar la nueva configuración , se debe enviar una señal SIGHUP al proceso xinetd para que vuelva a leer los archivos de configuración. Esto se puede lograr con el siguiente comando: . PID es el número de identificador de proceso real del xinetd, que se puede obtener con el comando . [7] [8]kill -SIGHUP "PID"
pgrep xinetd
Referencias
- ^ "xinetd-org / xinetd" . Consultado el 10 de julio de 2014 .
- ^ "DERECHOS DE AUTOR" . 2003-02-19 . Consultado el 10 de julio de 2014 .
- ^ Wells, Nicholas (2000). "4: Uso de servicios de red simples". Guía de instalación y administración de Linux . 1 . Boston, Massachusetts: Cengage Learning EMEA. pag. 167. ISBN 9780619000974. Consultado el 3 de julio de 2017 .
[...] el superservidor (también llamado metaservidor) [...] escucha en varios puertos de red e inicia el servicio apropiado cuando llega una conexión de cliente para ese puerto. El programa de superservidor más utilizado se llama inetd , para el demonio de Internet. Otro superservidor que está ganando popularidad es xinetd , para el demonio extendido de Internet [...].
- ^ Smith, Roderick W. (2001). "Redes" . Guía de estudio de Linux . Sybex Press. pag. 365 . ISBN 0-7821-2939-0.
- ^ Negus, C. (2002). "Ejecución de servicios de red". Biblia Red Hat Linux 8 . Wiley Publishing Inc. pág. 1007. ISBN 0-7645-4968-5.
- ^ "Ubuntu Manpage: xinetd - el demonio de servicios de Internet extendido" . Ubuntu . 14 de junio de 2001. Archivado desde el original el 23 de septiembre de 2019 . Consultado el 21 de abril de 2020 .
Debido a la forma en que opera, xinetd (así como inetd) también se conoce como super-servidor. (...) Hasta ahora, la única razón para la existencia de un super-servidor era conservar los recursos del sistema evitando bifurcar muchos procesos que podrían estar inactivos durante la mayor parte de su vida.
- ^ Página de manual de Linux: xinetd.conf (5) http://linux.die.net/man/5/xinetd.conf
- ^ Pere, László (2005). "Hálozati szolgáltatások". GNU / Linux rendszerek üzemeltetése II . Kiskapu Kft. (Hungría). págs. 107-136. ISBN 963-9301-98-1.
enlaces externos
- fork de openSUSE , para contener todos los parches de varias distribuciones: openSUSE, Debian, Fedora, Gentoo, ...