Seguridad en un servidor en modo Clásico

La seguridad de su servidor de alojamiento cloud Gandi es su responsabilidad.

Esta página pretende describir varias maneras en que usted puede acceder a su recién creado servidor en modo Clásico y sus servicios de escucha por defecto, así como para dar algunos consejos para la aplicación de algunas medidas de seguridad básicas.

Un servidor recién creado

Acceso SSH está activado por defecto para el usuario y la contraseña que ha configurado al crear el servidor. El usuario puede obtener permisos de root ejecutando el comando:

su -

Debido a la contraseña del usuario es la misma que la contraseña de root por defecto, sería prudente cambiarla con el comando “passwd”.

Mejores prácticas

SSH: Autenticación basada de clave

En lugar de utilizar una contraseña cuando se conecte a través de SSH, puede crear un par de claves pública/privada que le permitirá conectarse de su máquina local sin que se le pida una contraseña. La ventaja de este enfoque es que usted no necesita recordar una contraseña para conectarse, y el intercambio de claves es bastante seguro, siempre y cuando el par de claves se mantiene seguro. La desventaja es que necesitará cada ordenador que se conecta de esta manera el par de claves instalado.

Para crear las llaves, ejecute el comando siguiente en su ordenador local:

  ssh-keygen -t rsa -b 2048 

A continuación, copie la clave pública al servidor remoto (donde “ip_de_servidor” es la dirección IP de su VPS):

 scp .ssh/id_rsa.pub usario@ip_de_servidor:~/.ssh/authorized_keys 

Si el directorio ~/.ssh/ ya no existe en el VPS, usted tendrá que crearlo antes de subir la clave pública.

Ahora, cuando se conecta a través de SSH (“ssh usuario@ip_de_servidor”) ya no pedirá proporcionar la contraseña.

Para obtener más información sobre pubkey autenticación, consulte Connecting to your Classic mode server via SSH.

SSH: La clave de Gandi

Una clave SSH está incluido en los servidores de modo clásico para permitir el acceso a nuestro equipo de alojamiento si se presenta la autorización y si la urgencia o la complejidad del problema impide resolución por cualquier otro medio.

Si lo desea, puede desactivarlo en el archivo /etc/default/gandi.

SSH: Escuchando en otro puerto o el port-knocking

Esta técnica permite reducir la eficacia de los ataques de fuerza bruta mediante el establecimiento de SSH para escuchar los intentos de conexión sólo después de que haya activado por “knocking” en otro puerto de primera.

Más información está disponible en Wikipedia y Ubuntu.

Instrumentos de seguridad (Firewall, IDS ...)

Usted debe cerrar los puertos abiertos que no esté utilizando en las interfaces públicas. Varias instrumentos basados en iptables (Netfilter/Linux reglas de firewall) pueden ser utilizados para hacer esto, y así aumentar la seguridad de su servidor, así como informar de los intentos de conexión fraudulentos. Tenga en cuenta que iptables puede ser gestionado directamente desde la línea de comandos.

  • Firewalls: Shorewall, Ufw, Arno-iptables-firewall, Dtc…
  • Sistemas de reducción de la eficacia de los ataques de fuerza bruta: fail2ban…

Ninguno de estos programas toman IPv4 e IPv6 en cuenta en la misma interfaz. Para asegurar IPv6, un firewall IPv6 específica está en orden (Shorwall6, por ejemplo).

En los sistemas Unix/BSD, Packet Filter (PF) es el firewall estándar.

Usted debe aceptar los solicitudes ICMP echo (ping) a fin de que el protocolo IPv6 funcionará en su servidor privado virtual.

Alertas / instrumentos de informe

  • Logwatch/logcheck: Informe diario enviado por correo electrónico - el análisis de los registros del servidor
  • Rkhunter/Chkrootkit: Comprobación de rootkit en el sistema
  • Ninja/Tiger: Generación de informes (mira sobre permisos y cambios a los archivos del sistema)
  • Debsecan: Informar sobre fallos conocidos de los paquetes instalados en el servidor

Activación de SELinux en CentOS (6.0 y superior)

Puede utilizar SELinux para inhibir la instalación no autorizada y reconfiguración de software en su servidor, y mejorar la aplicación de las políticas de control de acceso. Este es un paso importante en el endurecimiento de sus sistemas.

La activación de SELinux en CentOS 6.x ha sido probado por nuestros equipos en los kernels 2.6.32 y 3.2.

Primero debe activar SELinux en la configuración de discos avanzada, accesible desde la sección del kernel de la página de gestión del disco en su cuenta de Gandi.

En la secció “Parámetros de activación avanzados” realice las selecciones siguientes:

  • “Activar SELinux”: marcado
  • “Sistema de seguridad (security framework)”: selinux

Haga clic en “Cambiar” para guardar la configuración del disco. Tenga en cuenta que el servidor tiene que ser reiniciado para que los cambios surtan efecto.

Puede comprobar si funcionaba ejecutando este comando en su servidor como usuario root:

 # cat /proc/cmdline
  console=hvc0 nosep loglevel=8 selinux=1 security=selinux ro root=/dev/xvda1
 

A continuación, agregue las siguientes líneas en el archivo /etc/fstab:

  none    /selinux    selinuxfs    defaults    0  0

Por último, instale los siguientes paquetes:

  • libselinux
  • selinux-policy
  • selinux-policy-<tipo> (donde <tipo> es minimum, targeted…)

SELinux ahora debe estar activo.

Si reinicia su servidor, tendrá que tomar medidas adicionales.

Será necesario utilizar semodule para gestionar módulos de políticas de SELinux en el servidor, por ejemplo:

  # packages="execmem.pp.bz2 unconfined.pp.bz2 unconfineduser.pp.bz2"
  # semodule -n -r oracle-port -b base.pp.bz2 -i $packages -s \
       targeted 2>&1 | grep -v "oracle-port"

La lista de paquetes disponibles se puede encontrar en el archivo /usr/share/selinux/<type>/*.pp.bz2.

También puede cargar políticas adicionales con el comando load_policy.

Si es necesario, puede hacer arreglos con fixfiles. Usted puede verificar el estado de SELinux con el comando sestatus.

Puede obtener más información en los paquetes de scripts selinux-policy-<tipo>, y leerlos con el comando rpm-q-script, por ejemplo: rpm -q –scriptps selinux-policy-minimum.

Última modificación: el 01/08/2013 a las 21:03 por Lyubomir G. (Gandi)