Construyendo un servidor seguro con CentOs [duplicado]

1

Recientemente comencé a administrar mi propio servidor con un servidor basado en la nube. Recientemente fui hackeado de alguna manera y el servidor fue utilizado para phising. En el servidor se instalaron CentOs, cPanel / WHM y CSF con una configuración de seguridad media.

Después de ser hackeado me doy cuenta de la necesidad de más seguridad. ¿Cómo puedo hacer un servidor seguro con CentOS?

    
pregunta Anders 10.08.2012 - 15:42
fuente

3 respuestas

4

Para obtener la máxima seguridad, escriba este comando.

# sudo ifdown eth0

Pero de verdad. La respuesta en este hilo es casi exactamente lo que estás buscando. ¿Cómo ejecuto una comprobación de seguridad en ¿Mi servidor de WordPress?

edit: Oh, me di cuenta de que fue USTED quien hizo esa pregunta ...

  1. Reglas de cortafuegos usando iptables. Solo deja abiertos los puertos que necesites. Bloquea todo, permite el puerto 80 por ejemplo.
  2. Cambiar las contraseñas predeterminadas. Si desea saber cómo se piratea a mucha gente ... las contraseñas predeterminadas son una de las razones principales. Cámbielo por su servidor mysql, sus cuentas de usuario, lo que sea.
  3. Deshabilita los servicios que no necesitas. Demonios, desinstálalos.
  4. Ejecutar software actualizado. La razón por la que wordpress se actualizará a veces es porque una versión anterior puede tener una vulnerabilidad. Asegúrese de que todos sus servicios estén actualizados.

Si haces esto bien ... deberías estar bastante seguro.

    
respondido por el user11869 10.08.2012 - 15:53
fuente
2

Esta es una pregunta extremadamente amplia y, como ya habrá notado, podríamos enumerar cientos de configuraciones, ajustes y cambios que "ayudarán a hacer [a] un servidor más seguro" hasta que las vacas regresen a casa.

Además del "cierre / apagado general de todo lo que no esté usando" y las maravillosas recomendaciones que se hacen aquí, si esta es la primera vez que administra un servidor, tampoco es una mala idea comenzar a trabajar a través de la comprensión del núcleo. principios de seguridad.

CentOS se refleja en RedHat, que se usa con más frecuencia en una configuración Enterprise. Como tal, hay un montón de buen material para comenzar. Intente echar un vistazo a las guías de la NSA para proteger Linux:

enlace

Comprender cómo y por qué las personas se dividen en los servidores, y cómo suelen ser sus vectores de ataque también es un área invaluable de comprensión (que siempre está cambiando)

enlace

El último paso, más allá de asegurarse de que su servidor esté seguro, es garantizar que el software y la aplicación web que hospeda también sean seguros. Si va a realizar un alojamiento web, es clave conocer los tipos de vulnerabilidades que plantean y lo que eso significa para las personas que pueden acceder a su servidor (Sugerencia: SELinux, aunque es una molestia, es su amigo aquí). Inyección de SQL, secuencias de comandos entre sitios, etc. - aprenda esto y aprenda cómo ejecutar evaluaciones de aplicaciones web. OWASP es un gran lugar para comenzar para eso

enlace

    
respondido por el Univ426 10.08.2012 - 17:42
fuente
2
  • CloudLinux ofrece un endurecimiento de CPanel con la virtualización del sistema de archivos.
  • SELinux: habilítelo con booleanos para carpetas de usuario y suexec y lo que sea necesario, además de capacitar nuevas reglas a través del modo de entrenamiento - por usuario tmp en carpetas de tmp, este es complejo ya que funciona en todo el sistema, pero también es por eso que está bien.
  • Actualice CPANEL con la última versión de PHP 5.3 y aplicaciones
  • Actualizar MySQL a paquetes 5.5
  • ModSecurity con reglas básicas previene múltiples explotaciones
  • Suhosin de PHP, endurecimiento como la desactivación de fopen () con URLS
  • Hacer que el código fuente de PHP sea de solo lectura, por ejemplo, solo se podrían escribir en carpetas específicas, con nombres específicos utilizando la página de administración del sitio web.
  • Habilitando el firewall IPTABLES con límites y antiexploración, habilite el seguimiento de la conexión, y ninguna de las conexiones que puede manejar (tablas hash y depósitos para iptables en / proc), también niega el acceso a ssh, etc. desde todos los servidores.
  • Ejecutando Snort IDS con detección de escaneo
  • Realización de escaneos con Nessus y Web Scanners
  • Asegúrese de que la copia de seguridad se haya realizado en una ubicación diferente y sea recuperable / no borrable
  • Deshabilitar servicios innecesarios (también reduce la RAM)
  • Habilite SuEXEC, FastCGI, para que cada cuenta se ejecute solo en su carpeta de inicio y no pueda escribir / leer archivos temporales de otros.
  • Ejecute Anti-Virus para correo y web
  • Ejecuta Multi-threaded (worker) Apache y php-cgi, y aplica mod_qos a esto.

Además, también puedes fortalecer tus aplicaciones PHP.

Simplemente lo que necesitas se llama "jaula". SELinux, AppArmor, Cloud Linux hace todo esto, y luego puede fortalecer PHP haciendo ini para cada usuario, pero si el sitio es vulnerable a, por ejemplo. código de inyección, entonces no puede ayudar mucho con esto, excepto para la seguridad_mod.p

Además, si esto se ralentiza demasiado, puede agregar Varnish proxy cache, y hacer que su aplicación también cambie / compile el código, hay muchos niveles de caché:

  • caché de barniz
  • Caché de la aplicación (por ejemplo, recuerda los objetos generados, escritos en OO PHP)
  • Static Cache (archivos estáticos generados, que pueden servirse con marca de tiempo para Application Cache, que se sirve para Varnish, también OO PHP, en el caso de CPanel).
  • Caché de PHP - xcache, APC etc.
  • Memcached - caché de objetos para PHP

Frente a todo eso, puedes poner HAProxy que ayuda a enrutar las solicitudes entre Varnish y Apache.

Con esto debería estar bien ejecutando mod_security y el resto de las protecciones, si tiene una aplicación seria que ejecuta CPanel.

También asegúrate de no usar la cuenta de root en MySQL.

Esto no es tan malo, solo necesitas ajustar el registro para que las estadísticas funcionen bien.

    
respondido por el Andrew Smith 10.08.2012 - 16:31
fuente

Lea otras preguntas en las etiquetas