Hablando de Ubuntu 10.04, edición de servidor, ¿qué herramientas / prácticas recomendaría para asegurar el servidor?
Esto es un poco no específico, pero en general necesitará
Ejecute un firewall como iptables o ufw para administrar la conexión y abrir los puertos.
Solo instale el software que requiera.
Solo ejecute servicios que son esenciales para la ejecución del servidor.
Mantenga ese software actualizado con todos los parches de seguridad.
Configure nuevos usuarios con los privilegios mínimos que necesitan para realizar sus tareas.
Ejecute denyhosts o fail2ban para verificar los ataques de fuerza bruta.
Ejecute logwatch para enviarle por correo electrónico cualquier anomalía en los archivos de registro.
Revise sus registros a menudo para las actividades sospechosas.
Use sudo siempre y use contraseñas seguras.
Deshabilite los cifrados débiles y medios en SSL para apache, exim, proftpd, dovecot, etc.
Configure los servicios para que solo escuchen a localhost (cuando sea apropiado).
Ejecutar chkrootkit diariamente.
Ejecute clamscan tan a menudo como sea necesario para verificar si hay virus de Windows (si corresponde).
Esté atento, conozca su servidor, sepa qué debería estar haciendo y qué no debería estar haciendo.
Solo mantendrás las cosas seguras revisando y asegurando constantemente. Si no sabe qué hace algo o cómo o por qué, o si algo parece sospechoso, solo pida consejo a otros.
Impresionante respuesta por Richard Holloway. Si está buscando una guía paso a paso específica, consulte la siguiente guía de 2 partes de la biblioteca de Slicehost.
Lo uso en casi todas partes cuando tengo que configurar una instancia de Ubuntu Server. Estoy seguro de que te encantaría.
Otra gran fuente es la biblioteca de 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 estará armado con el conocimiento suficiente para manejar su servidor sin problemas.
PD: De ninguna manera, una biblioteca puede ser un sustituto para las capacidades de intuición, conocimiento y toma de decisiones de un gran administrador de sistemas.
Algo que no veo mencionado es “use 64bit”. Esto asegura que tengas protecciones de memoria NX, entre otras cosas.
Tres cosas que tiendo a recomendar son:
Monte todas las áreas de escritura global (/ tmp, / var / tmp) como ‘noexec’: esto es en su mayor parte seguro sin inconvenientes, excepto (en el momento de la escritura) a menos que elija actualizar su sistema. Ver error # 572723 en Launchpad para más detalles allí.
No instale ningún comstackdor o ensamblador a menos que sea absolutamente necesario: creo que esto se explica por sí mismo.
Comience con AppArmor: AppArmor se puede ver como una alternativa a SELinux, y es una gran característica de Ubuntu para el uso de aplicaciones de 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
Si fuera usted, buscaría 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 tener solo los puertos abiertos que realmente necesita. ¡Todo lo demás debería estar cerrado!
Guía para iptables: https://help.ubuntu.com/community/IptablesHowTo
¡Espero que esto ayude!
ps Si necesita más ayuda, acceda a irc y pulse el canal # ubuntu-server en freenode
Para los cortafuegos, puede ver @ Firestarter o ufw con gufw .