LFCE: Instalación de servicios de red y configuración de inicio automático en el arranque - Parte 1


Un ingeniero certificado por la Fundación Linux (LFCE) está preparado para instalar, configurar, administrar y solucionar problemas de servicios de red en sistemas Linux, y es responsable del diseño e implementación de la arquitectura del sistema.

Presentamos el programa de certificación de la Fundación Linux.

En esta serie de 12 artículos, titulada Preparación para el examen LFCE (Linux Foundation Certified Engineer), cubriremos los dominios y competencias requeridos en Ubuntu, CentOS y openSUSE:

Instalación de servicios de red

Cuando se trata de configurar y utilizar cualquier tipo de servicio de red, es difícil imaginar un escenario del que Linux no pueda formar parte. En este artículo, mostraremos cómo instalar los siguientes servicios de red en Linux (cada configuración se tratará en los próximos artículos separados):

  1. Servidor NFS (Network File System)
  2. Servidor web Apache
  3. Squid Proxy Server + SquidGuard
  4. Servidor de correo electrónico (Postfix + Dovecot) y
  5. Iptables

Además, queremos asegurarnos de que todos esos servicios se inicien automáticamente al arrancar o bajo demanda.

Debemos tener en cuenta que incluso cuando puede ejecutar todos estos servicios de red en la misma máquina física o servidor privado virtual, una de las primeras llamadas " reglas " de seguridad de red les dice a los administradores del sistema que eviten hacer así que en la medida de lo posible. ¿Cuál es el juicio que respalda esa afirmación? Es bastante simple: si por alguna razón un servicio de red se ve comprometido en una máquina que ejecuta más de uno de ellos, puede ser relativamente fácil para un atacante comprometer el resto también.

Ahora, si realmente necesita instalar varios servicios de red en la misma máquina (en un laboratorio de pruebas, por ejemplo), asegúrese de habilitar solo los que necesita en un momento determinado y deshabilitarlos más tarde.

Antes de comenzar, debemos aclarar que el artículo actual (junto con el resto de las series LFCS y LFCE ) se centra en una perspectiva basada en el rendimiento y, por lo tanto, no puede Examine todos los detalles teóricos sobre los temas cubiertos. Sin embargo, presentaremos cada tema con la información necesaria como punto de partida.

Para utilizar los siguientes servicios de red, deberá desactivar el cortafuegos por el momento hasta que aprendamos a permitir el tráfico correspondiente a través del cortafuegos.

Tenga en cuenta que esto NO se recomienda para una configuración de producción, pero lo haremos solo con fines de aprendizaje.

En una instalación predeterminada de Ubuntu, el firewall no debería estar activo. En openSUSE y CentOS, deberá deshabilitarlo explícitamente:

# systemctl stop firewalld
# systemctl disable firewalld 
or
# or systemctl mask firewalld

Dicho esto, ¡comencemos!

NFS en sí mismo es un protocolo de red, cuya última versión es NFSv4 . Esta es la versión que usaremos a lo largo de esta serie.

Un servidor NFS es la solución tradicional que permite a los clientes remotos de Linux montar sus recursos compartidos en una red e interactuar con esos sistemas de archivos como si estuvieran montados localmente, lo que permite centralizar los recursos de almacenamiento para la red.

# yum update && yum install nfs-utils
# aptitude update && aptitude install nfs-kernel-server
# zypper refresh && zypper install nfsserver

Para obtener instrucciones más detalladas, lea nuestro artículo que explica cómo configurar el servidor y el cliente NFS en sistemas Linux.

El servidor web Apache es una implementación FOSS sólida y confiable de un servidor HTTP. A finales de octubre de 2014, Apache funciona con 385 millones de sitios, lo que le otorga una cuota de mercado del 37,45% . Puede utilizar Apache para servir un sitio web independiente o varios hosts virtuales en una máquina.

# yum update && yum install httpd		[On CentOS]
# aptitude update && aptitude install apache2 		[On Ubuntu]
# zypper refresh && zypper install apache2		[On openSUSE]

Para obtener instrucciones más detalladas, lea nuestros siguientes artículos que muestran cómo crear hosts virtuales Apache basados en IP y basados en nombre y cómo proteger el servidor web Apache.

  1. Alojamiento virtual basado en nombre y basado en IP de Apache
  2. Consejos de seguridad y refuerzo del servidor web Apache

Squid es un servidor proxy y un demonio de caché web y, como tal, actúa como intermediario entre varias computadoras cliente e Internet (o un enrutador conectado a Internet), al tiempo que acelera las solicitudes frecuentes al almacenar en caché los contenidos web. y resolución DNS al mismo tiempo. También se puede utilizar para denegar (o conceder) acceso a determinadas URL por segmento de red o en función de palabras clave prohibidas, y mantiene un archivo de registro de todas las conexiones realizadas con el mundo exterior por usuario.

Squidguard es un redirector que implementa listas negras para mejorar el calamar y se integra perfectamente con él.

# yum update && yum install squid squidGuard			[On CentOS] 
# aptitude update && aptitude install squid3 squidguard		[On Ubuntu]
# zypper refresh && zypper install squid squidGuard 		[On openSUSE]

Postfix es un agente de transporte de correo (MTA). Es la aplicación responsable de enrutar y entregar mensajes de correo electrónico desde un origen a un servidor de correo de destino, mientras que dovecot es un servidor de correo electrónico IMAP y POP3 ampliamente utilizado que recupera mensajes del MTA y los entrega al buzón de correo del usuario correcto.

También están disponibles los complementos de Dovecot para varios sistemas de administración de bases de datos relacionales.

# yum update && yum install postfix dovecot 				[On CentOS] 
# aptitude update && aptitude postfix dovecot-imapd dovecot-pop3d 	[On Ubuntu]
# zypper refresh && zypper postfix dovecot				[On openSUSE]	

En pocas palabras, un firewall es un recurso de red que se utiliza para administrar el acceso a una red privada o desde ella, y para redirigir el tráfico entrante y saliente según ciertas reglas.

Iptables es una herramienta instalada por defecto en Linux y sirve como interfaz para el módulo del kernel netfilter, que es el máximo responsable de implementar un firewall para realizar funciones de filtrado/redirección de paquetes y traducción de direcciones de red.

Dado que iptables está instalado en Linux de forma predeterminada, solo debe asegurarse de que realmente se esté ejecutando. Para ello, debemos comprobar que los módulos de iptables estén cargados:

# lsmod | grep ip_tables

Si el comando anterior no devuelve nada, significa que el módulo ip_tables no se ha cargado. En ese caso, ejecute el siguiente comando para cargar el módulo.

# modprobe -a ip_tables

Lea también : Guía básica del cortafuegos Iptables de Linux

Configuración del inicio automático de servicios en el arranque

Como se discutió en Gestión de procesos y servicios de inicio del sistema - Parte 7 de la serie de 10 artículos sobre la certificación LFCS , hay varios administradores de sistemas y servicios disponibles en Linux. Sea cual sea su elección, necesita saber cómo iniciar, detener y reiniciar los servicios de red a pedido, y cómo habilitarlos para que se inicien automáticamente al arrancar.

Puede verificar cuál es su sistema y administrador de servicios ejecutando el siguiente comando:

# ps --pid 1

Dependiendo de la salida del comando anterior, usará uno de los siguientes comandos para configurar si cada servicio debe iniciarse automáticamente en el arranque o no:

----------- Enable Service to Start at Boot -----------
# systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
# systemctl disable [service] # prevent [service] from starting at boot
----------- Start Service at Boot in Runlevels A and B -----------
# chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
# chkconfig --level CD service off 

Asegúrese de que el script /etc/init/[service].conf exista y contenga la configuración mínima, como:

# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process in case of crash
respawn
# Specify the process/command (add arguments if needed) to run
exec /absolute/path/to/network/service/binary arg1 arg2

También puede consultar la Parte 7 de la serie LFCS (a la que nos referimos al principio de esta sección) para ver otros comandos útiles para administrar servicios de red bajo demanda.

Resumen

A esta altura, debería tener todos los servicios de red descritos en este artículo instalados y posiblemente funcionando con la configuración predeterminada. En artículos posteriores exploraremos cómo configurarlos de acuerdo con nuestras necesidades, ¡así que asegúrese de estar atento! Y no dude en compartir sus comentarios (o publicar preguntas, si tiene alguna) sobre este artículo utilizando el formulario a continuación.

  1. Acerca de la LFCE
  2. ¿Por qué obtener una certificación básica de Linux?
  3. Regístrese para el examen LFCE