Configuración Avanzada de Redes y Servidores: SSH, Iptables, ACL y Virtual Hosts Apache

Enviado por Chuletator online y clasificado en Otras materias

Escrito el en español con un tamaño de 8,89 KB

Conceptos Fundamentales de Redes y Administración de Servidores

1. Ventajas del uso de Terminal Server en la red

Los motivos principales para utilizar *Terminal Server* (o Servicios de Escritorio Remoto) en una red corporativa son la centralización y la gestión simplificada.

  • Centralización de recursos: Permite configurar los equipos de la empresa para que los usuarios solo accedan a los programas necesarios para su trabajo.
  • Ahorro de tiempo y recursos: No es necesario instalar y mantener los programas individualmente en cada ordenador cliente, ya que todas las aplicaciones se ejecutan en el servidor central al que están conectados.
  • Seguridad y control: Facilita la aplicación de políticas de seguridad y el control de acceso a las aplicaciones.

2. Razón para utilizar el modo pasivo en FTP

La razón principal por la que se utiliza el modo pasivo (PASV) en FTP en lugar del modo activo (PORT) es para evitar problemas con los *firewalls*.

En el modo activo, el servidor intenta iniciar la conexión de datos hacia un puerto alto del cliente. Si el cliente está detrás de un *firewall* o un dispositivo NAT, este puede rechazar las conexiones entrantes iniciadas por el servidor, bloqueando la transferencia de datos. En el modo pasivo, es el cliente quien inicia ambas conexiones (control y datos), lo que es mucho más compatible con la mayoría de las configuraciones de seguridad y NAT.

3. Interpretación de comandos SSH: Tunneling Local

Comando: ssh -L 6000:192.168.1.2:10000 20.23.150.3

Con este comando, conseguimos establecer un túnel SSH (o *Local Port Forwarding*). Esto permite:

  • Abrir el puerto local 6000 en la máquina cliente.
  • Todo el tráfico dirigido al puerto 6000 del cliente es encapsulado y enviado a través del servidor SSH (20.23.150.3).
  • El servidor SSH redirige ese tráfico internamente hacia la dirección 192.168.1.2, puerto 10000 (que presumiblemente aloja una interfaz de gestión como Webmin).

En resumen, se crea un acceso seguro al servicio alojado en 192.168.1.2:10000, utilizando el servidor 20.23.150.3 como intermediario seguro.

Configuración de Firewall y Enrutamiento

4. Ejercicio de ACL (Access Control List) en Squid

A continuación, se presenta la interpretación de las reglas de control de acceso, típicamente utilizadas en un proxy como Squid:

  • http_port 3128 transparent: Este puerto (3128) está configurado para capturar cualquier conexión HTTP que pase por el *firewall* (modo transparente).
  • acl redlocal src 192.168....: Identifica el nombre redlocal con el rango de direcciones IP 192.168.x.x.
  • acl localhost src 127.0....: Identifica el nombre localhost con la dirección IP de bucle local (127.0.0.1).
  • acl all src 0.0.0....: Identifica all con cualquier dirección IP.

Reglas de Acceso (http_access)

  1. http_access allow localhost: Permite el acceso al propio servidor proxy.
  2. http_access deny all: Deniega el acceso a todas las demás conexiones.
  3. http_access allow redlocal: Permite el acceso a la red local.

Corrección y Conclusión: Solo puede acceder localhost porque el orden de las reglas afecta la evaluación. La regla 2 (deny all) se ejecuta antes de la regla 3 (allow redlocal), denegando el acceso a la red local. Para que redlocal acceda, su regla debe estar antes del deny all.

5. Comandos para conocer puertos abiertos

Los comandos más comunes para listar conexiones activas y puertos abiertos son:

  • netstat
  • nmap

6. Comando route del default gw 192.168...

Este comando elimina la ruta por defecto de la tabla de enrutamiento que utiliza la puerta de enlace (gateway) especificada (192.168.x.x).

7. Reglas de Iptables: Política de Salida

Comando: iptables -P OUTPUT ACCEPT

Establece la política por defecto de la cadena OUTPUT (tráfico saliente) a ACCEPT. Esto significa que, si ningún paquete saliente coincide con una regla específica, será aceptado por defecto.

8. Reglas de Iptables: Redirección NAT

Comando: iptables -t nat...

Este comando, típicamente utilizado con la tabla nat y la cadena PREROUTING, se utiliza para redirigir el tráfico. Por ejemplo, redirige las conexiones entrantes a la interfaz eth0 dirigidas al puerto 80 (HTTP) hacia el puerto 3128, que es el puerto por defecto del proxy Squid.

9. Reglas de Iptables: Eliminación de Regla

Comando: iptables -D INPUT -i eth0 -p tcp --dport 10000 -j DROP

Este comando borra (-D) una regla específica de la cadena INPUT. La regla eliminada denegaba (DROP) las conexiones TCP entrantes (-i eth0) dirigidas al puerto 10000.

10. Interpretación de la Tabla de Enrutamiento (4 líneas)

La interpretación de las cuatro líneas de una tabla de enrutamiento (asumiendo un formato estándar) es la siguiente:

  1. La red .3.0 tiene conexión directa con todo a través de la interfaz eth2.
  2. La red .43.0 utiliza la puerta de enlace 3.30, accesible a través de la interfaz eth2.
  3. La red .174.0 utiliza la puerta de enlace por defecto, accesible a través de la interfaz eth1.
  4. La ruta por defecto (0.0.0.0) que actúa como *router* para todo el tráfico no especificado.

11. Diferencia entre NAT y No NAT

La principal diferencia radica en la traducción de direcciones IP:

  • NAT (Network Address Translation): Oculta la red interna. Cuando un dispositivo de la red interna se comunica con el exterior, su dirección IP privada es traducida a una única dirección IP pública (mascaramiento).
  • No NAT: La red interna utiliza direcciones IP públicas o, si utiliza privadas, no puede acceder directamente a Internet sin un mecanismo de traducción.

Configuración de Servidores Web Apache

12. DirectoryIndex

La directiva DirectoryIndex permite especificar el nombre de la página por defecto que se mostrará cuando un usuario acceda a un directorio sin especificar un archivo (ejemplo: index.html, default.php).

13. Options Indexes

La directiva Options Indexes, cuando está habilitada, permite que el servidor Apache genere y muestre automáticamente un listado de los archivos contenidos en un directorio si no se encuentra un archivo especificado por DirectoryIndex.

14. Archivo .htaccess

El archivo .htaccess (o archivo de configuración distribuida) permite a los administradores o usuarios dotar de permisos, como control de acceso o denegación, a directorios específicos sin modificar el archivo de configuración principal del servidor.

15. Creación de Virtual Hosts en Apache

Crea las directivas necesarias en Apache para mantener dos sitios web con las siguientes características:

  • Sitio 2 es el sitio por defecto (el sitio por defecto se configura el primero).

Requisitos

  1. Sitio 1: Nombre: www.sitio1.es | Ubicación: /var/www1/ | Responde a la IP 190.0.2.1
  2. Sitio 2: Nombre: www.sitio2.es | Ubicación: /var/www2/ | Responde a la IP 190.0.2.1

Solución de Configuración (Name-Based Virtual Hosting)

Para que el Sitio 2 sea el predeterminado, debe ser el primer VirtualHost listado.

Listen 80
NameVirtualhost 190.0.2.1

<VirtualHost 190.0.2.1:80>
    # SITIO 2: CONFIGURACIÓN POR DEFECTO
    DocumentRoot /var/www2
    ServerName www.sitio2.es
    
    <Directory /var/www2>
        Order deny, allow
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost 190.0.2.1:80>
    # SITIO 1
    DocumentRoot /var/www1
    ServerName www.sitio1.es
    
    <Directory /var/www1>
        Order deny, allow
        Allow from all
    </Directory>
</VirtualHost>

Entradas relacionadas: