Controlar el Acceso a los Servicios

Mantener la seguridad en su sistema Red Hat Linux es extremadamente importante. Una forma es gestionar el acceso a los servicios del sistema cuidadosamente. El sistema puede necesitar proporcionar acceos a servicios particulares (por ejemplo, httpd si estas ejecutando un servidor Web). Sin embargo, si no necesitas proporcionar un servicio, deberias apagar — esto minimiza sy exposición a cualquier posible error.

Hay varios métodos diferentes para gestionar el acceso a los servicios de sistema. Necesitarás decidir cuales quieres usar, basandose en la configuración de su sistema y el nivel de experiencia en Linux.

La forma más fácil de negar el acceso de un servico es simplemente apagandolo. El servicio gestionado por xinetd (que hablaremos de el más tarde en esta sección) y el servicio en la jerarquía /etc/rc.d pueden se configurados para empezar o parar usando la utilidad ntsysv o chkconfig. Puedes encontrar que estas herramientas son más faciles de usar que las alternativas — editando los numerosos enlaces simbolicos localizados en los directorios debajo de /etc/rc.d para manejar o editar los ficheros de configuración xinetd /etc/xinetd.d.

ntsysv proporciona un simple interface para activar o desactivar servicios. Puede usar ntsysv para xinetd- activar y desactivar servicios. Puede también usar ntsysv para empezar o para un servicio en la jerarquía /etc/rc.d en este caso, el comando ntsysv sin opciones configura su nivel de ejcución actual. Si quiere configurar un nivel de ejecución diferente, usarás algo como ntsysv --levels 016. (En este ejemplo, debes configurar los servicios para los niveles de ejecución 0, 1 y 6.)

La interface de trabajo ntsysv como el programa de instalación modo de texto. Usa las fechas para navergar en las lista. La barra de espacio selecciona/deseleciona los servicios y se usa también para presionar el botón Ok y Cancel. Para moverse entre las lista de servicios y los botones Ok y Cancel, usa la tecla Tab. Un * significa que un servicio esta fijado. La tecla F1 muestra la descripción de cada servicio.

chkconfig puede ser usado también para activar y desactivar servicios. Si usa el comando chkconfig --list vera una lista de los servicios del sistema y serán iniciados (on) o parados (off) en los niveles de ejecución 0-6 (en el final de la lista, verá una sección para la gestión servicios por xinetd, que veremos después en esta sección

Puede usar también chkconfig para averiguar si un servicio especifico esta ejecutandose. Por ejemplo, el siguiente comando verifica el daemon finger:

$ chkconfig --list finger
finger          on

Como se muestra abajo, finger esta en el nivel de ejecución actual.

Si usa chkconfig --list para consultar un servicio en /etc/rc.d, verá los servicios configurados para cada nivel de ejecución, como:

$ /sbin/chkconfig --list anacron
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off

Más importante, chkconfig puede ser usado para fijar un servicio para ser inicializado (o no) en un nivel de ejcución especifico. Por ejemplo, si queremos desactivar nscd en el nivel de ejecución 3, 4, y 5, debes usar un comando como este:

chkconfig --level 345 nscd off

Vea chkconfig en las páginas de man para más información.

Otra forma de controlar el acceso a los servicios de Internet es usando xinetd, un seguro sustituto para inetd. Xinetd conserva recursos del sistema, proporciona control del acceso y logging, y puede ser usado para iniciar un servidor de propórsito especial. Xinetd puede ser usado para proporciona acceso solo para hosts particulares, denegar el acceso a hosts particulares solo proporciona accesos a un servicio en un cierto tiempo, etc.

Xinetd ejecutar constantemente y mostrando en todos los puertos el servicio. Cuando una conexión demanda de uno de estos servicios, xinetd inicializa el servidor apropiado para este servicio.

El fichero de configuración para xinetd es /etc/xinetd.conf, pero notará en la inspección de el fichero que contiene unos valores por defectos y una instrución para incluir el directorio /etc/xinetd.d. Los ficheros sin el directorio /etc/xinetd.d contienen las opciones de configuración de cada servicio gestionado por xinetd, necesitar editar este fichero para configurar xinetd.

Vea la página de man xinetd (8) y xinetd.conf (8) para instrucciones especificas en como configurar los ficheros en /etc/xinetd.d. La pagina Web xinetd esta en http://www.xinetd.org/.

Muchos administradores de sistemas UNIX estan acostrumbrados a usar TCP wrappers para gestionar accesos a ciertos servicios de la red. Cualquier servicio de red gestionado por xinetd puede usar TCP wrapper para gestionar accesos. xinetd puede usar el /etc/hosts.allow y /etc/hosts.deny para configurar los servicios del sistema. Si quiere usar TCP wrappers, vea la página del man hosts_access (5) para más información.

Otra forma de gestinoar el acceso a los servicios del sistema es usando ipchains para configurar un IP firewall. Si eres un nuevo usuario de Linux, comprenda que ipchains puede no ser la mejor solución. Configurar ipchains puede ser complicado y es tener experiencia para usarlo.

Por otra parte, el beneficio de usar ipchains es la flexibilidad. Por ejemplo, si necesitas una solución personalizada que proporcione acceso a determinados servicios a determinados hosts, ipchains puede proporcionartelo. Vea Linux IPCHAINS-HOWTO en http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html para más información acerca de ipchains. El Linux IPCHAINS-HOWTO esta también disponible en la documentación del CD.

Alternativamente, si esta buscando una utilidad que fije rutas de accesos generales para su ordenador, y/o si eres nuevo en Linux, deberías intentar la utilidad gnome-lokkit. gnome-lokkit es una utilidad de GUI que pregunta como quieres usar su ordenador. Basandose en sus respuestas, gnome-lokkit entonces configurará un simple firewall para usted.