Documentation for a newer release is available. View Latest

Servicios y Demonios

indexterm:[services configuration] Mantener la seguridad de su sistema es extremadamente importante y una forma de acercarse a esta tarea es administrar el acceso a los servicios del sistema cuidadosamente. Su sistema puede que necesite suministrar acceso abierto a servicios concretos (por ejempo, `httpd` si está ejecutando un servidor web). Sin embargo, si no necesita suministrar un servicio usted debería quitarlo para minimizar la exposición a posibles aprovechamientos de errores.

Este capítulo cubre la configuración de los servicios a ser ejecutados cuando se arranca el sistema y suministra información sobre como arrancar, parar y reiniciar los servicios desde a línea de comandos usando la utilidad systemctl.

Mantener el sistema seguro

Cuando usted permite acceso para nuevos servicios, recuerde que siempre que tanto el cortafuegos como SELinux necesitan ser configurados también. Uno de los errores más comunes que se cometen cuando se configura un nuevo servicio es el descuido en implementar la necesaria configuración de cortafuegos y de políticas de SELinux para permitir su acceso. Para más información vea Fedora Rawhide Guía de Seguridad.

Configurando Servicios

Para permitirle configurar que servicios son iniciados en el momento del arranque, Fedora lleva integrada la herramienta en línea de comandos systemctl.

No utilice las utilidades ntsysv y chkconfig

Aunque todavía es posible usar las utilidades ntsysv y chkconfig para administrar servicios que tengan instalados scripts de inicio en el directorio /etc/rc.d/init.d/ es aconsejable utilizar la utilidad systemctl.

Habilitar el servicio irqbalance

Para asegurar un rendimiento óptimo de la arquitectura de ALIMENTACIÓN se recomienda habilitar el servicio irqbalance. En la mayoría de los casos este servicio se instala y se configura para corra durante la instalación de Fedora Rawhide . Para verificar que irqbalance está corriendo, teclee lo siguiente en el indicador de shell:

systemctl status irqbalance.service

Habilitar el Servicio

Para configurar que un servicio se inicie automáticamente en el momento del arranque, use el comando systemctl en el siguiente formato:

systemctl enable service_name.service

El servicio se iniciará la siguiente vez que arranque el sistema. Para información sobre como iniciar el servicio inmediatamente, vea Correr el Servicio.

Ejemplo 1. Habilitar el servicio httpd

Imagine que desea correr el Servidor Apache HTTP en su sistema. Siempre que tenga instalado el paquete httpd usted puede habilitar el servicio httpd tecleando lo siguiente en el indicador de shell como root:

~]# systemctl enable httpd.service

Deshabilitar el Servicio

Para deshabilitar el inicio de un servicio en el momento del arranque, use el comando systemctl en la siguiente forma:

systemctl disable service_name.service

La próxima vez que usted arranque el sistema el servicio no se iniciará. Para información sobre como para el servicio inmediatamente vea Para el Servicio.

Ejemplo 2. Deshabilitar el servicio telnet

Con el objetivo de asegurar el sistema se advierte a los usuarios para que deshabiliten los protocolos de conexión no seguros como Telnet. Se puede asegurar de que e servicio telnet está deshabilitado corriendo el siguiente comando como root:

~]# systemctl disable telnet.service

Correr Servicios

La utilidad systemctl le permite también determinar el estado de un servicio concreto, así como iniciar, parar o reiniciar un servicio.

No utilice la utilidad service

Aunque todavía es posible utilizar la utilidad service para administrar servicios que tengan scripts de inicio instalados en el directorio /etc/rc.d/init.d/ se le recomienda que use la utilidad systemctl.

Comprobar el Estado del Servicio

Para determinar el estado de un servicio concreto, use el comando systemctl de la siguiente forma:

systemctl status service_name.service

Este comando proporciona información detalladas sobre el estado del servicio. Sin embargo, si solo necesita verificar que el servicio está corriendo puede usar en su lugar el comando systemctl de la siguiente forma:

systemctl is-active service_name.service
Ejemplo 3. Comprobar el estado del servicio httpd

Habilitar el servicio httpd ilustra como habilitar en el inicio del servicio httpd en el momento del arranque. Imagine que se ha reiniciado el sistema y necesita verificar que el servicio está realmente corriendo. Para hacer esto teclee lo siguiente en el indicador de shell:

~]$ systemctl is-active httpd.service
active

También puede visualizar información detallada sobre el servicio ejecutando el siguiente comando:

~]$ systemctl status httpd.service
httpd.service - LSB: start and stop Apache HTTP Server
          Loaded: loaded (/etc/rc.d/init.d/httpd)
          Active: active (running) since Mon, 23 May 2011 21:38:57 +0200; 27s ago
         Process: 2997 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS)
        Main PID: 3002 (httpd)
          CGroup: name=systemd:/system/httpd.service
                  ├ 3002 /usr/sbin/httpd
                  ├ 3004 /usr/sbin/httpd
                  ├ 3005 /usr/sbin/httpd
                  ├ 3006 /usr/sbin/httpd
                  ├ 3007 /usr/sbin/httpd
                  ├ 3008 /usr/sbin/httpd
                  ├ 3009 /usr/sbin/httpd
                  ├ 3010 /usr/sbin/httpd
                  └ 3011 /usr/sbin/httpd

Para visualizar una lista de todos los servicios activos en el sistema, use el siguiente comando:

systemctl list-units --type=service

Esto comando proporciona una salida tabulada en la que cada línea consta de las siguientes columnas:

  • UNIT — A nombre de unidad systemd. En este caso, un nombre de servicio.

  • LOAD — Información sobre sí la unidad systemd fue cargada apropiadamente.

  • ACTIVE — Un estado de activación de alto nivel de la unidad.

  • SUB — Un estado de activación de bajo nivel de la unidad.

  • JOB — Un trabajo pendiente para la unidad.

  • DESCRIPTION — Una breve descripción de la unidad.

Ejemplo 4. Listar todos los servicios activos

Puede listar todos los servicios activos usando el siguiente comando:

~]$ systemctl list-units --type=service
UNIT                      LOAD   ACTIVE SUB     JOB DESCRIPTION
abrt-ccpp.service         loaded active exited      LSB: Installs coredump handler which saves segfault data
abrt-oops.service         loaded active running     LSB: Watches system log for oops messages, creates ABRT dump directories for each oops
abrtd.service             loaded active running     ABRT Automated Bug Reporting Tool
accounts-daemon.service   loaded active running     Accounts Service
atd.service               loaded active running     Job spooling tools
[output truncated]

En el ejemplo de arriba el servicio abrtd está cargado, activo, y no tiene ningún trabajo pendiente.

Correr el Servicio

Para correr un servicio, use el comando systemctl de la siguiente forma:

systemctl start service_name.service

Esto iniciará el servicio en la sesión actual. Para configurar que el servicio se inicie en el momento del arranque vea Habilitar el Servicio.

Ejemplo 5. Ejecutar el servicio httpd

Habilitar el servicio httpd ilustra como correr el servicio httpd en el momento del arranque. Puede iniciar el servicio inmediatamente tecleando lo siguiente en el indicador de shell como root:

~]# systemctl start httpd.service

Parar el Servicio

Para parar un servicio, use el comando systemctl de la siguiente forma:

systemctl stop service_name.service

Esto parará el servicio en la sesión actual. Para deshabilitar el inicio del servicio en el momento del arranque, vea Habilitar el Servicio.

Ejemplo 6. Parar el servicio telnet

Deshabilitar el servicio telnet ilustra como deshabilitar el inicio del servicio telnet en el momento delarranque. Puede parar el servicio inmediatamente ejecutando el siguiente comando como root:

~]# systemctl stop telnet.service

Reiniciar el Servicio

Para reiniciar un servicio, use el comando systemctl de la siguiente forma:

systemctl restart service_name.service
Ejemplo 7. Reiniciar el servicio sshd

Para que cualquier cambio en el archivo de configuración /etc/ssh/sshd_config tenga efecto se requiere que reinicie el servicio sshd. Puede hacer esto tecleando lo siguiente en el indicador de shell como root:

~]# systemctl restart sshd.service

Recursos Adicionales

Documentación Instalada

  • systemctl(1) — La página de manual para la utilidad systemctl.

Libros Relacionados

Guía de Seguridad Fedora Rawhide

Una guía para el aseguramiento de Fedora. Contiene información de valor sobre como configurar el cortafuegos, así como la configuración de SELinux.