Es muy probable que su sistema Linux necesite una forma de conectarse a Internet. Aquí es donde entra en juego un Super Servidor de Internet. Ofrece a los usuarios de Linux dos opciones para acceder a Internet.
La arquitectura cliente / servidor de los servicios de Internet requiere que el servidor esté en funcionamiento antes de que un cliente realice una solicitud de servicio. Probablemente sea una mala idea ejecutar todos los servidores todo el tiempo; hacerlo no es práctico porque cada proceso del servidor utiliza recursos del sistema en forma de memoria y tiempo de procesador. Además, no es necesario que todos los servicios estén listos en todo momento. En su lugar, ejecute un solo servidor que escuche todos los puertos e inicie el servidor apropiado cuando ingrese la solicitud de un cliente. Este servidor se conoce como un súper servidor de Internet porque inicia varios servicios a pedido.
Los dos super servidores de Internet son inetd
y xinetd
. El inetd
servidor es el más antiguo y todavía se usa en distribuciones de Linux como Debian, Knoppix y Ubuntu. El xinetd
servidor es un sustituto de inetd
, ofreciendo un mejor control de acceso y registro. El nombre xinetd
significa extendido inetd
. Distribuciones como el uso de Fedora y SUSE xinetd
.
Cómo usar inetd para conectar un sistema Linux a Internet
En las distribuciones de Linux que usan inetd
, el sistema se inicia inetd
cuando se inicia. El inetd
servidor lee un archivo de configuración llamado /etc/inetd.conf
al inicio. Este archivo indica inetd
qué puertos escuchar y qué servidor iniciar para cada puerto. La entrada en el /etc/inetd.conf
archivo que inicia el Protocolo de acceso a mensajes de Internet (IMAP) en un servidor se ve así:
imaps stream tcp nowait root / usr / sbin / tcpd / usr / sbin / imapd
El primer elemento de esta línea imaps
, indica inetd
el nombre del servicio. inetd
utiliza este nombre para buscar el número de puerto en el /etc/services
archivo. Si escribe grep imaps / etc / services , encontrará que el número de puerto del servicio IMAP es 993. Esta especificación le dice inetd
que escuche el puerto 993 para las solicitudes de servicio FTP.
El resto de los campos de la entrada IMAP tienen los siguientes significados:
- El segundo y tercer campo de la entrada
stream
ytcp
, indicaninetd
que el servicio FTP utiliza un socket TCP orientado a la conexión para comunicarse con el cliente. Para los servicios que utilizan los sockets UDP sin conexión, estos dos campos sondgram
yudp
. - El cuarto campo,
nowait
indicainetd
que se inicie un nuevo servidor para cada solicitud. Si este campo eswait
,inetd
espera hasta que el servidor salga antes de iniciarlo nuevamente. - El quinto campo proporciona el ID de usuario que se
inetd
utiliza para ejecutar el servidor. En este caso, el servidor ejecuta el servidor FTP comoroot
. - El sexto campo especifica el programa que se ejecutará para este servicio y el último campo es el argumento que
inetd
pasa al programa servidor. En este caso, el/usr/sbin/tcpd
programa se proporciona/usr/sbin/imapd
como argumento.
El /usr/sbin/tcpd
programa es una función de control de acceso, o un contenedor TCP, para servicios de Internet. Debido a que los servicios de Internet innecesarios son a menudo fuentes de vulnerabilidades de seguridad, es posible que desee desactivar cualquier servicio innecesario o al menos controlar el acceso a los servicios. El tcpd
programa puede iniciar otros servicios, como FTP y Telnet, pero antes de iniciar el servicio, tcpd
consulta el /etc/hosts.allow
archivo para ver si el host que solicita el servicio tiene permitido ese servicio. Si no hay /etc/hosts.allow
información sobre ese host, tcpd
verifica el /etc/hosts.deny
archivo para ver si se debe denegar el servicio. Si ambos archivos están vacíos, tcpd
permite que el host acceda al servicio solicitado. Puede colocar la línea ALL:ALL
en el /etc/hosts.deny
archivo para denegar a todos los hosts el acceso a cualquier servicio de Internet.
Examine el /etc/inetd.conf
archivo en su sistema para averiguar los tipos de servicios que inetd
están configurados para comenzar. Hoy en día, la mayoría de los inetd
servicios están desactivados y muchos otros, como FTP, se inician mediante servidores independientes. En cualquier caso, si ve algún servicio que desea desactivar, simplemente coloque una marca de almohadilla ( #
) al comienzo de las líneas que inician estos servicios. Cuando realice un cambio de este tipo en el /etc/inetd.conf
archivo, escriba /etc/init.d/inetd restart para reiniciar el inetd
servidor.
Cómo usar xinetd para conectar un sistema Linux a Internet
Las distribuciones de Linux que utilizan se xinetd
inician xinetd
cuando se inicia el sistema. El xinetd
servidor lee un archivo de configuración llamado /etc/xinetd.conf
al inicio. Este archivo indica xinetd
qué puertos escuchar y qué servidor iniciar para cada puerto. El archivo puede contener instrucciones que incluyan otros archivos de configuración. En Linux, el /etc/xinetd.conf
archivo tiene el siguiente aspecto:
# Archivo de configuración simple para xinetd # # Establezca algunos valores predeterminados e incluya /etc/xinetd.d/ valores predeterminados { instancias = 30 log_type = ARCHIVO /var/log/xinetd.log log_on_success = DURACIÓN DE SALIDA DEL HOST log_on_failure = INTENTO DEL HOST cps = 50 10 } incluidoir /etc/xinetd.d
Las líneas de comentario comienzan con la marca de almohadilla ( #
). El bloque de atributos predeterminado, encerrado entre llaves ( { … }
), especifica valores predeterminados para algunos atributos. Estos valores predeterminados se aplican a todos los demás servicios del archivo de configuración. El instances
atributo se establece en 30
, lo que significa que no pueden estar activos simultáneamente más de 30 servidores para cualquier servicio.
La última línea del /etc/xinetd.conf
archivo usa la includedir
directiva para incluir todos los archivos dentro del /etc/xinetd.d
directorio, excluyendo los archivos que comienzan con un punto ( .
). La idea es que el /etc/xinetd.d
directorio contenga todos los archivos de configuración del servicio: un archivo para cada tipo de servicio que xinetd
se espera que administre el servidor. Escriba ls /etc/xinetd.d para ver los xinetd
archivos de configuración de su sistema. Cada archivo de /etc/xinetd.d
especifica atributos para un servicio que xinetd
puede iniciarse.
SUSE Linux utiliza xinetd
para iniciar algunos servicios, incluido el vsftpd
servidor (demonio FTP muy seguro). (Un demonio es un proceso que se ejecuta continuamente y nunca muere). Escriba cat /etc/xinetd.d/vsftpd para ver la xinetd
configuración del vsftpd
servicio. Aquí hay una lista típica de ese archivo en un sistema SUSE:
# predeterminado: desactivado # descripción: # El servidor FTP vsftpd sirve conexiones FTP. Usa # nombres de usuario y contraseñas normales y sin cifrar para la autenticación. # vsftpd está diseñado para ser seguro. servicio ftp { socket_type = flujo protocolo = tcp esperar = no usuario = root servidor = / usr / sbin / vsftpd }
El nombre del archivo (en este caso vsftpd
) puede ser cualquier cosa; lo que importa es el nombre del servicio que aparece junto a la service
palabra clave en el archivo. En este caso, la línea service
ftp indica xinetd
el nombre del servicio. xinetd
utiliza este nombre para buscar el número de puerto en el /etc/services
archivo.
Los atributos de /etc/xinetd.d/vsftpd, encerrados entre llaves ({…}), tienen los siguientes significados:
- El
socket_type
atributo se establece enstream
, lo que indicaxinetd
que el servicio FTP utiliza un socket TCP orientado a la conexión para comunicarse con el cliente. Para los servicios que utilizan sockets UDP sin conexión, este atributo se establece endgram
. - El
wait
atributo se establece enno
, lo que indicaxinetd
que se inicie un nuevo servidor para cada solicitud. Si este atributo se establece enyes
,xinetd
espera hasta que el servidor salga antes de iniciarlo de nuevo. - El
user
atributo proporciona el ID de usuario que sexinetd
utiliza para ejecutar el servidor. En este caso, el servidor ejecuta el servidor vsftpd comoroot
. - El
server
atributo especifica el programa que se ejecutará para este servicio. En este caso,xinetd
ejecuta el/usr/sbin/vsftpd
programa para brindar el servicio FTP.
Examine los archivos en el /etc/xinetd.d
directorio de su sistema Linux para averiguar qué tipo de servicios xinetd
está configurado para comenzar. Si desea desactivar algún servicio (muchos servicios ya están deshabilitados), puede hacerlo editando el archivo de configuración para ese servicio y agregando la siguiente línea dentro de las llaves que encierran todos los atributos:
deshabilitar = sí
Cuando realiza un cambio de este tipo en los xinetd
archivos de configuración, debe reiniciar el xinetd
servidor escribiendo el siguiente comando:
/etc/init.d/xinetd reiniciar
Normalmente, puede configurar los servicios para que se ejecuten en xinetd
o como un servicio independiente. SUSE inicia el demonio FTP muy seguro ( vsftpd
) bajo el control de xinetd
. Debian y Fedora, sin embargo, se ejecutan vsftpd
como un servidor independiente.