Xinetd, o el Daemon de Servicios de Internet Extendidos, es un llamado super-servidor. Puede configurarlo para escuchar en el lugar de muchos servicios e iniciar el servicio que debe manejar una solicitud entrante solo cuando realmente llega al sistema, ahorrando así recursos. Si bien esto puede no parecer un gran problema en un sistema donde el tráfico es relativamente permanente, este servicio frente a otro enfoque tiene algunas ventajas interesantes, como registro o control de acceso.
En este artículo instalaremos xinetd en un RHEL 8 / CentOS 8 y pondremos el sshd
demonio bajo su cuidado. Después de verificar la configuración, ajustaremos un poco la configuración para ver el control de acceso en acción.
En este tutorial aprenderás:
- Cómo instalar xinetd
- Cómo configurar sshd en RHEL 8/CentOS 8 como un servicio xinetd
- Cómo permitir el acceso solo desde una red específica al servicio sshd de xinetd
- Cómo auditar el tráfico de las entradas de registro de xinetd

Requisitos de software y convenciones utilizadas
Cómo instalar el servicio xinetd en Red Hat 8 instrucciones paso a paso
Xinetd
se puede encontrar en los repositorios base después de configurar los repositorios oficiales de gestión de suscripciones. El sshd
El servidor está instalado en cualquier Red Hat (y prácticamente en cualquier distribución de Linux) de forma predeterminada.
Tenga en cuenta que
sshd
se apagará durante esta configuración. NO intente completar esta guía en un sistema al que solo puede acceder con ssh, de lo contrario, perderá la conexión con el sistema en el momento en que apague sshd para iniciar el servidor xinetd.- Primero necesitamos instalar el
xinetd
demonio. Usaremosdnf
:# dnf install xinetd
- Si por alguna razón su sistema no contiene la instalación de OpenSSH, puede instalar paquetes como en este caso el
openssh
paquete de la misma manera que arriba:# dnf install openssh
- Xinetd viene con un archivo de configuración predeterminado
/etc/xinetd.conf
, así como algunos buenos ejemplos en el/etc/xinetd.d/
directorio, todo deshabilitado por defecto. Con un editor de texto comovi
onano
, vamos a crear un nuevo archivo de texto/etc/xinetd.d/ssh
con el siguiente contenido (tenga en cuenta que la nueva línea después del nombre del servicio es obligatoria):service ssh { disable = no socket_type = stream protocol = tcp port = 22 wait = no user = root server = /usr/sbin/sshd server_args = -i }
- Si
sshd
el servidor se está ejecutando en el sistema, debemos detenerlo; de lo contrario,xinetd
no se puede vincular al puerto TCP 22. Este es el paso en el que se desconectará si ha iniciado sesión a través de ssh.# systemctl stop sshd
Si planeamos usar sshd sobre xinetd a largo plazo, también podemos deshabilitar el
systemd
servicio para él, para evitar que se inicie en el momento del arranque:systemctl disable sshd
- Ahora podemos iniciar
xinetd
:# systemctl start xinetd
Y, opcionalmente, habilite el inicio en el momento del arranque:
# systemctl enable xinetd
- Después de que se inicia xinetd, podemos iniciar sesión a través de ssh, ya que nuestra configuración básica no contiene ninguna restricción adicional. Para probar el servicio, solicitamos iniciar sesión en
localhost
:# ssh localhost root@localhost's password: Last login: Sun Mar 31 17:30:07 2019 from 192.168.1.7 #
- Agreguemos otra línea a
/etc/xinetd.d/ssh
, justo antes de la pulsera de cierre:[...] server = /usr/sbin/sshd server_args = -i only_from = 192.168.0.0 }
Con esta configuración, restringimos el acceso solo desde el segmento de red 192.168.*.*. Necesitamos reiniciar xinetd para que este cambio de configuración surta efecto:
# systemctl restart xinetd
- Nuestra máquina de laboratorio tiene más de una interfaz. Para probar la restricción anterior, intentaremos conectarnos a una interfaz que no esté permitida por la configuración de xinetd y una que sí esté permitida:
# hostname -i fe80::6301:609f:4a45:1591%enp0s3 fe80::6f06:dfde:b513:1a0e%enp0s8 10.0.2.15 192.168.1.14 192.168.122.1
Intentaremos abrir la conexión desde el propio sistema, por lo que nuestra dirección IP de origen será la misma que la del destino al que intentamos conectarnos. Por lo tanto, cuando intentamos conectarnos a
10.0.2.15
, no podemos conectarnos:# ssh 10.0.2.15 ssh_exchange_identification: read: Connection reset by peer
Mientras que la dirección
192.168.1.14
está dentro del rango de direcciones permitido. Obtendremos la solicitud de contraseña y podremos iniciar sesión:# ssh 192.168.1.14 root@192.168.1.14's password:
- Como no hemos cambiado la configuración de registro predeterminada, nuestros intentos de inicio de sesión (o, en otras palabras, nuestros intentos de acceder al servicio xinetd) se registrarán en
/var/log/messages
. Las entradas de registro se pueden encontrar con un simplegrep
:cat /var/log/messages | grep xinetd Mar 31 18:30:13 rhel8lab xinetd[4044]: START: ssh pid=4048 from=::ffff:10.0.2.15 Mar 31 18:30:13 rhel8lab xinetd[4048]: FAIL: ssh address from=::ffff:10.0.2.15 Mar 31 18:30:13 rhel8lab xinetd[4044]: EXIT: ssh status=0 pid=4048 duration=0(sec) Mar 31 18:30:18 rhel8lab xinetd[4044]: START: ssh pid=4050 from=::ffff:192.168.1.14
Estos mensajes facilitan saber cómo se accedió a nuestros servicios. Si bien hay muchas otras opciones (incluida la limitación de conexiones concurrentes o la configuración de tiempos de espera después de conexiones fallidas para evitar ataques de DOS), esta sencilla configuración muestra el poder de este súper servidor que puede facilitar la vida del administrador de sistemas, especialmente abarrotado, orientado a Internet. sistemas.
-
Cómo instalar y configurar Varnish Cache 6 con Nginx en CentOS 8
-
Cómo instalar Lighttpd con PHP5 FastCGI y MySQL en CentOS 6 / RHEL 6
-
Cómo instalar Go en Fedora y Rocky Linux/Centos/RHEL
-
CentOS/RHEL:Cómo instalar e iniciar el servicio Apache httpd
-
CentOS / RHEL 7:Cómo instalar y configurar el servidor ftp (vsftpd)
Cómo instalar WordPress en RHEL 8 / CentOS 8 Linux
Cómo instalar GIMP en CentOS 8 / RHEL 8 Linux
Cómo instalar Lighttpd con PHP FPM y MariaDB en CentOS 7 / RHEL 7
Cómo instalar y usar Neofetch en Linux (RHEL/CentOS/Arch)
Cómo instalar y configurar contenedores LXC Linux en CentOS/RHEL/Ubuntu
Cómo instalar y configurar el servidor VNC (TigerVNC) en CentOS / RHEL 7
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | RHEL 8 / CentOS 8 |
Software | xinetd 2.3.15-23, OpenSSH 7.8p1 |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando$ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |