Hay literalmente miles o más formas posibles en que alguien puede ingresar a su sitio.
Lo mejor que puede hacer es una combinación de copias de seguridad, mejores prácticas y scripts que verifiquen si los hashes son los mismos o que le notifiquen si cambian.
En la práctica, es posible que desee hacer lo siguiente:
- ¿Qué significa exactamente 'uso no comercial' con respecto a las imágenes?
- Cómo hacer un sitio web gratuito alojado en GitHub
- ¿Cuál es el mejor sitio de juegos en línea?
- ¿Cuáles son algunos de los sitios y aplicaciones que me harán volver a escribir?
- Quiero comprar un nombre de dominio y alojar un sitio web. ¿Qué sitio web ofrece los servicios de alojamiento más baratos? ¿No quiero gastar más porque soy estudiante y lo voy a hacer gastando mi dinero de bolsillo?
Mejores prácticas
Comience buscando en Google las “mejores prácticas” para cada servicio que planea ejecutar. Comenzaría con al menos estos 6, suponiendo que esto es en lo que ejecuta su wordpress:
- MySQL
- SSH
- apache
- Linux
- PHP
- WordPress
Use tan pocos servicios como sea posible.
Por ejemplo, ssh para administrarlo y servir solo en el puerto 80. No ejecute el correo entrante o la base de datos entrante en ese servidor. Cortafuegos todo. No ejecute scripts cgi o aplicaciones que puedan ofrecer fácilmente nuevas fuentes de ataque.
Cortafuegos con suscripción a la lista negra:
Bloquee subredes enteras de atacantes conocidos automáticamente. Sin embargo, esta es una falsa sensación de seguridad porque podrían atacar desde un nuevo host en cualquier momento. Detiene el ruido / ruido de la red y facilita la revisión periódica de los registros.
Optimizar cada servicio:
Aquí hay un ejemplo para SSH:
- Cambie el puerto predeterminado de ssh a algo así como 64022. Esto no ayuda a la seguridad, pero detiene los análisis automáticos ejecutados por la mayoría de las personas. Hará que los ataques reales sean más fáciles de ver.
- Cortafuegos ssh para que solo se permita desde hosts confiables (como solo su red doméstica).
- Use claves ssh en lugar de contraseñas.
- Aplicar un bloqueo de conjetura usando fail2ban.
- Revise sus registros con logwatch.
- Manténgalo parcheado y actualizado a la última versión.
- Ejecute algo como “rootkit hunter” para tomar hash md5 de binarios importantes y notificarle cuando cambien.
Repita para todos los servicios:
- apache
- mysql
- su kernel de Linux y el sistema operativo base
- su cliente de correo
Tomar lecturas de referencia:
Qué puertos están escuchando, cuál es su espacio en disco, cuáles son las huellas digitales de su servidor, cuál es su rendimiento cada día. ¿Cuál es el md5 de su página de inicio y algunas de las páginas de su sitio? Configuración que verifica cada día para enviarle un correo electrónico si ha cambiado.
Compárelos para notar cosas que difieren.
¿Suena imposible?
La seguridad (buena seguridad que es perfecta) es casi imposible. Ni siquiera los profesionales de seguridad pueden defenderse de todo. Si alguien quiere, puede obtenerlo, eventualmente. Siempre hay un agujero. Su objetivo es ser más difícil que el próximo sitio. No tengo que escapar de un oso … Solo tengo que correr más rápido que mi compañero de senderismo, ¿verdad?
Hay servicios de suscripción que hacen esto por una tarifa mensual (muchas de las cosas de las que hablé), pero es costoso. ¡Si encuentra uno que sea asequible y que haga algunas de las cosas que figuran en la lista! usalos, usalos a ellos. Hacerlo usted mismo es una curva de aprendizaje dolorosa (pero divertida).