¿Cómo se debe proteger un servidor? [cerrado]

22

Hablando hacia Ubuntu 10.04, edición del servidor, ¿qué herramientas / prácticas recomendaría para asegurar el servidor?

Grant Palin
fuente

Respuestas:

25

Esto es un poco inespecífico, pero en general necesitará

  • Ejecute un firewall como iptables o ufw para administrar la conexión a puertos abiertos.

  • Solo instale el software que necesite.

  • Solo ejecute servicios que sean esenciales para la ejecución del servidor.

  • Mantenga ese software actualizado con todos los parches de seguridad.

  • Configure nuevos usuarios con los menores privilegios que requieren para realizar sus tareas.

  • Ejecute denyhosts o fail2ban para verificar si hay ataques de fuerza bruta.

  • Ejecute logwatch para enviarle por correo electrónico cualquier anomalía en los archivos de registro.

  • Revise sus registros con frecuencia para detectar actividades sospechosas.

  • Use sudo siempre y use contraseñas seguras.

  • Deshabilite los cifrados débiles y de fuerza media en SSL para apache, exim, proftpd, dovecot, etc.

  • Configure los servicios para que solo escuchen localhost (cuando corresponda).

  • Ejecute chkrootkit diariamente.

  • Ejecute clamscan con la frecuencia necesaria para verificar si hay virus de Windows (si corresponde).

  • Esté atento, conozca su servidor, sepa lo que debería estar haciendo y lo que no debería estar haciendo.

Solo mantendrá las cosas seguras al verificar y asegurar constantemente. Si no sabe qué hace algo, cómo o por qué, o si algo parece sospechoso, simplemente pida consejo a otros.

Richard Holloway
fuente
9

Impresionante respuesta de Richard Holloway. Si está buscando una guía paso a paso específica, consulte la siguiente guía de 2 partes de la biblioteca Slicehost.

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

Lo uso en casi todas partes cuando tengo que configurar una instancia de Ubuntu Server. Estoy seguro de que te encantará.

Otra gran fuente es la Biblioteca Linode en http://library.linode.com/

Echa un vistazo a los artículos en ambos lugares. Hay un montón de información disponible allí y contará con suficientes conocimientos para manejar su servidor perfectamente.

PD: De ninguna manera, una biblioteca puede ser un sustituto de la gran intuición, visión y capacidad de toma de decisiones de un administrador de sistemas.

Mir Nazim
fuente
Siempre me alegro de ser de alguna ayuda
Mir Nazim
"Impresionante respuesta de Richard Holloway ..." - Gracias hombre. Puedo ver que nos haremos grandes amigos.
Richard Holloway
2

Algo que no veo mencionado es "usar 64 bits". Esto asegura que tenga protecciones de memoria NX, entre otras cosas.

Kees Cook
fuente
Y también obtiene vulnerabilidades de root locales si usa el modo de compatibilidad de 32 bits.
vh1
Solo si no te mantienes actualizado sobre las actualizaciones de seguridad del kernel. :)
Kees Cook
1

Tres cosas que tiendo a recomendar son:

  • Monte todas las áreas de escritura global (/ tmp, / var / tmp) como 'noexec': esto en su mayor parte es seguro sin peculiaridades, excepto (a partir de la escritura) a menos que elija actualizar su sistema. Vea el error # 572723 en Launchpad para más detalles allí.

  • No instale ningún compilador o ensamblador a menos que sea absolutamente necesario: creo que esto se explica por sí mismo.

  • Comience a usar AppArmor: AppArmor se puede ver como una alternativa a SELinux, y es una gran característica de Ubuntu para aplicaciones en ejecución sandbox para garantizar que no tengan más acceso del que necesitan. Recomiendo revisar la guía en los foros si está interesado. http://ubuntuforums.org/showthread.php?t=1008906

ibuclaw
fuente
1
  • Instale y configure iptables con un conjunto de reglas apropiado para su entorno. Filtrar el tráfico entrante y saliente.
  • psad para detectar y alertar sobre cualquier escaneo de puertos en su sistema.
  • Utilice fail2ban para evitar intentos de inicio de sesión de fuerza bruta contra SSH.
  • No permita el acceso remoto utilizando la cuenta raíz, ya que esto, entre otras cosas, significa que si un atacante va a intentar forzar el acceso a su servidor por fuerza bruta, debe ejercitar tanto el nombre de usuario como la contraseña.
  • Use contraseñas seguras para todas las cuentas de usuario.
  • Limite el acceso SSH para que solo esté disponible desde ciertas direcciones IP si es posible.
  • Utilice Tripwire de otro sistema de detección de intrusos basado en host.
  • Monitoree el servidor con un programa de monitoreo de red como nagios.
Mark Davidson
fuente
0

Si fuera usted, buscaría en iptables (firewall estándar de Linux) y vería qué servicios se están ejecutando. Básicamente, solo desea ejecutar los servicios que necesita, es decir, no ejecutar un servidor web cuando solo desea configurar un servidor de correo electrónico, y solo tener los puertos abiertos que realmente necesita. ¡Todo lo demás debería estar bloqueado!

Guía de iptables: https://help.ubuntu.com/community/IptablesHowTo

¡Espero que esto ayude!

ps Si necesita más ayuda, suba a irc y presione el canal # ubuntu-server en freenode


fuente