Você está na página 1de 4

17.3.

xinetd
El demonio xinetd es un super servicio wrapped TCP que controla el acceso a un
subconjunto de servicios de red populares incluyendo FTP, IMAP y Telnet. También
proporciona opciones de configuración específicas al servicio para el control de acceso,
registro mejorado, redireccionamiento y control de utilización de recursos.

Cuando un host cliente intenta conectarse a un servicio de red controlado por xinetd, el
super servicio recibe la petición y verifica por cualquier regla de control de acceso
wrappers TCP. Si se permite el acceso, xinetd verifica que la conexión sea permitida
bajo sus propias reglas para ese servicio y que el servicio no esté consumiendo más de
la cantidad de recursos o si está rompiendo alguna regla definida. Luego comienza una
instancia del servicio solicitado y pasa el control de la conexión al mismo. Una vez
establecida la conexión, xinetd no interfiere más con la comunicación entre el host
cliente y el servidor.

17.4. Archivos de configuración xinetd


Los archivos de configuración para xinetd son los siguientes:

• /etc/xinetd.conf — El archivo de configuración global de xinetd.


• /etc/xinetd.d/ — El directorio que contiene todos los archivos específicos al
servicio.

17.4.1. El archivo /etc/xinetd.conf

El archivo /etc/xinetd.conf contiene parámetros de configuración generales los


cuales afectan cada servicio bajo el control de xinetd. Se lee una vez cuando el servicio
xinetd es iniciado, por esto, para que los cambios de la configuración tomen efecto, el
administrador debe reiniciar el servicio xinetd
http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/November2000/article
175.shtml

Atributo Valores y descripción


Aquí sólo se describen los valores más comunes . Ver la
documentación para descubrir los restantes.

• IDONLY : únicamente acepta conexiones de clientes que


tengan un servidor de identificación;
• NORETRY : en caso de fracasar evita que se desdoble el
proceso;
flags
• NAMEINARGS : el primer argumento del atributo
server_args se usa mientras argv[0] para el
servidor. Esto permite usar tcpd poniéndolo en el
atributo del server. Se escribe el nombre del servidor y
sus argumentos tal como server_args, al igual que se
haría con inetd.
xinetd usa por defecto syslogd y el selector daemon.info.

• SYSLOG selector [nivel] : permite elegir entre daemon,


auth, user o local0-7 de syslogd ;

log_type • FILE [tamaño_max [tamaño_max_absoluto]] : el archivo


especificado recibe la información. Las dos opciones fijan
los límites del tamaño del archivo. Cuando se alcanza el
primero, se envía un mensaje a syslogd; en tanto cuando se
alcanza el segundo, se interrumpe el registro de los logs del
servicio (si se trata de un archivo compartido o fijo por
defecto pueden verse afectados diversos servicios).
Cuando el servidor arranca quedan registrados diversos datos:

• PID : el PID del servidor (si se trata de un servicio interno


de xinetd el PID vale 0) ;
log_on_success • HOST : la dirección del cliente ;
• USERID : la identidad del usuario remoto de acuerdo con la
RFC1413 que define el protocolo de identificación;
• EXIT : el status de salida del proceso;

DURATION : la duración de la sesión.



log_on_failure Nuevamente xinetd registra una gran cantidad de datos cuando el
servidor no puede arrancar, ya sea por falta de recursos o por las
reglas de acceso:

• HOST, USERID : como arriba ;


• ATTEMPT : registra todo intento de acceso. Esta es una
opción automática salvo que se proporciones otro valor.

• RECORD : registra toda la información diponible del


cliente.
Cambia la prioridad del servidor al igual que lo hace el comando
nice
nice.
no_access Lista los clientes que no tienen acceso al servicio.
only_from Lista a los clientes autorizados. Si este atributo carece de un valor,
se deniega el servicio.
El puerto asociado al servicio. También es definido en el archivo
port
/etc/services. Los 2 números de puerto deben coincidir.
El protocolo especificado debe existe en el archivo
protocol /etc/protocols. Si no se proporciona un protocolo se emplea
el asociado por defecto.
server La ruta al servidor.
server_args Argumentos que se deben pasar al servidor.
socket_type stream (TCP), dgram (UDP), raw (acceso directo a IP) o seqpacket
().
xinetd puede administrar 3 tipos de servicios:

1. RPC : para aquellos definidos en el archivo /etc/rpc (no


funciona del todo bien);
2. INTERNAL : para los servicios directamente administrados
por xinetd (echo, time, daytime, chargen y
type discard) ;
3. UNLISTED : para los servicios que no están definidos en el
archivo /etc/rpc ni en el /etc/services;

Notemos que es posible combinar distintos valores como lo


veremos con los servicios internos servers, services y
xadmin.
Define el comportamiento frente a los threads (hebras). Son
posibles dos valores:

• yes : el servicio es monohebra, el servicio puede administrar


wait una sola conexión de este tipo;

• no : por cada servicio nuevo solicitado, xinetd arranca un


nuevo servidor de acuerdo al límite máximo definido
(Atención: por defecto este límite es infinito).
Limita el número de conexiones entrantes. El primer argumento es
cps precisamente este número. Cuando se supera este límite, se
desactiva el servicio con un retraso (expresado en segundos)
proporcionado por el segundo argumento.
instances Determina el máximo número de servidores del mismo tipo que
pueden funcionar en forma simultánea.
Proporciona la carga máxima del servidor (por ejemplo, 2 ó 2.5).
max_load Más allá de este límite las solicitudes que se realizan al servidor se
rechazan.
Restringe el número de conexiones al servidor que tienen un mismo
per_source
origen. Es un entero o bien UNLIMITED

Você também pode gostar