Qué hacer cuando la botnet se vuelve sorprendente

“Era una noche fría y ventosa, pero la brisa de un mal presagio que soplaba a través de la red era más fría. El flujo regular de intentos de inicio de sesión se ha convertido repentinamente en un torrente de direcciones IP, todas tratando de ingresar a la parte posterior del sitio web Joomla que tengo alojado. Serví otra taza de Joe, será una noche larga. "

Por el lado de la tecnología, sucedió algo extraño. Recibo un correo electrónico de ese sitio cada vez que falla el inicio de sesión. El intento de inicio de sesión ocasional no es sorprendente, pero fueron múltiples intentos por minuto, todos desde diferentes direcciones IP. Al mirar los registros, sentí que estaban extrayendo nombres de usuario y contraseñas de uno de los varios contenedores de la base de datos, probablemente también sembrando accidentalmente información de la base de datos Whois en mi dominio.

Whois Sluething

Hablando de eso, "Whois" es una herramienta útil para encontrar información sobre un nombre de dominio o una dirección IP. Es un directorio digital que contiene la empresa responsable de la IP o dominio, y la información de contacto. Seleccioné algunas de las direcciones IP de ataque e investigué. Estas IP eran de Digital Ocean, (una empresa de alojamiento de servidores virtuales), servicios en la nube de Google, ISP en Tailandia, etc. Muchas direcciones parecen pertenecer a servidores. La extracción de algunas direcciones IP en un navegador web parecía confirmar que se trataba principalmente de máquinas Linux. La única explicación creíble es que este sitio cayó en los sitios web de botnets que se ejecutan en servidores Linux comprometidos.

Las botnets tienen dos modos de funcionamiento generales. El modo más obvio es cuando atacan un sitio web o servicio para exterminarlo. Suele ser un ataque de Neo Service (DoS), destinado a agotar la banda ancha u otros recursos informáticos. Hay empresas como Cloudflare que se basan en el objetivo de prevenir este tipo de ataques. El otro modo funcional es propagarse, infectar más computadoras. Muchas redes de bots tienen una naturaleza viral y utilizan la red de bots existente para intentar comprometer otras máquinas. Creo que vi eso.

Recordatorio amistoso: el soporte para 14.04 LTS finaliza después de una semana.

Entonces, ¿cómo salgo de la cruz y evito que mi pecho se agriete? Primero, si espera hasta atacarse a sí mismo para pensar en la seguridad, ya es demasiado tarde. Un poco de higiene básica ayuda mucho: mantenga su sistema operativo actualizado, mantenga actualizado Joomla / WordPress / etc., y mantenga también actualizados los complementos o actualizaciones. Es apenas una semana antes de que se encuentre la siguiente vulnerabilidad, y la ejecución de software antiguo hace que su servidor sea una fruta débil.

Deshabilitar la cuenta "admin" predeterminada hace una gran diferencia. Revisar una lista de contraseñas públicas contra la cuenta de administrador se puede hacer con bastante rapidez. La mayoría de los marcos le permiten cambiar el nombre o reemplazar la cuenta de administrador incorporada. Si permite los inicios de sesión SSH, es posible que se desactive el registro de root. Haga la vida de un atacante lo más difícil posible, no permita que los nombres de usuario obvios sean atacados.

Terminando el problema

Traté de seguir las pautas anteriores, por lo que no estaba demasiado preocupado por el compromiso. La avalancha de correos electrónicos de notificación sigue siendo una molestia, y siempre existe la remota posibilidad de que un atacante tenga suerte con una suposición de inicio de sesión o un correo electrónico de pescador dirigido. Elegí alguna opción nuclear: usar la configuración del servidor web para restringir el acceso a la interfaz de administración. En Apache, dentro de la estrofa "VirtualHost" para ese sitio, agregué una declaración "Directorio" que apunta a la interfaz de administración. En esa sección, un Require ip Esta declaración me permite prohibir que cualquiera intente iniciar sesión en el portal de administración del sitio.

El módulo que se ejecuta aquí es "mod_authz_host", y también tomará una red / máscara de red. Si no tiene una IP estática, otra opción sería una VPN. Si usa direcciones 10.0.1.x, la declaración se verá como Require ip 10.0.1.0/24, asegurándose de que su interfaz protegida solo esté disponible para clientes VPN.

Encontrarse a sí mismo como el objetivo de una botnet nunca es agradable, pero hay al menos pasos factibles para resolver el problema, especialmente cuando es tan simple como intentar adivinar la contraseña de administrador de un sitio web Joomla.

  • drenehtsral dice:

    Una vez, hace mucho tiempo, mientras trabajaba como administrador, noté que una gran red (resultó ser una universidad en algún lugar de China continental) y se equivocaron al ingresar su información de whois y dejaron lo que obviamente era una criptografía (). contraseña donde se suponía que había sucedido algo más. Tuve que intentar, por curiosidad, y configurar un servidor de respaldo que tenía en casa, ejecutando John the Butcher Knife y cinco semanas después BAM: un giro incomprensible y completamente creíble del acrónimo en inglés de la escuela con un número tradicionalmente afortunado adicional. (No he intentado usar mis certificados recién descubiertos, pero tampoco me sorprendería si la seguridad laxa que me restó importancia al obtener los certificados para administrar su bloqueo de red con ICANN es lo que los inundó con botnets).

    Casi me sentí mal por el programa de robot de adivinación de contraseña porque nuestro servidor ssh requería autenticación de clave pública, por lo que ninguna cantidad de adivinación de contraseña les permitirá ingresar.

  • Luis dice:

    También puede implementar Fail2Ban[1], que examina los archivos de registro de los intentos fallidos de inicio de sesión y los prohíbe o realiza cualquier acción si cumplen las condiciones.
    El uso típico es observar el correo y los registros auténticos y detener la comunicación de inicios de sesión fallidos, pero se puede configurar para verificar otros archivos de registro y evaluar expresiones regulares.
    Consulte también CSF: http://configserver.com/cp/csf.html
    [1] https://www.fail2ban.org/wiki/index.php/Main_Page

    • Jonathan Bennett dice:

      Usé fail2ban, me encanta. En este caso, las direcciones IP nunca repetimos, y los invitados con el nombre de usuario también fueron bastante aleatorios. Fail2ban sobresale en el bloqueo de direcciones IP que realizan muchas pruebas.

      • dios indiferente dice:

        ¿no es así?

        • Maravilloso dice:

          ¿De qué estás hablando?

          • X-OTM dice:

            Somos una contracción de "somos"

        • Jonathan Bennett dice:

          Oh, la alegría de escribir comentarios en una pantalla táctil con una corrección automática demasiado aguda.

      • Freman dice:

        Configuré un script como fail2ban que busca algunos fallos de nombre de usuario que obviamente no soy yo (SMTP, SSH, IMAP, cualquier cosa en realidad) y los agrega automáticamente a ipset. Refiéralos a ipabusedb. Al mismo tiempo, una vez al día, descargue la última lista de los mejores probadores y complete una lista de bloqueo.

        Reduce el ruido de forma significativa.

  • William F. Dudley Jr. dice:

    drenehstral enterró el lede: deshabilite la autenticación de contraseña ssh y use la autenticación de clave pública.

    • Neil dice:

      `PasswordAuthentication no` en` sshd_config`, excepto que el OP habla de intentos de iniciar sesión en un sitio web, no SSH.

  • MBC dice:

    "La única explicación creíble es que este sitio ha caído en la trampa de los sitios de botnets que se ejecutan en servidores Linux comprometidos".

    Los sitios deben escribirse como lugares de interés, como ocurre con las armas.

    • Ren dice:

      IOW, ¡Botnets tiene sitios web!
      B ^)

  • floz dice:

    ¿Autenticación de contraseña?
    [youtubehttps://wwwyoutubecom/watch?v=k7OLCbjuidE&w=560&h=315%5D[youtubehttps://wwwyoutubecom/watch?v=k7OLCbjuidE&w=560&h=315%5D[youtubehttps://wwwyoutubecom/watch?v=k7OLCbjuidE&w=560&h=315%5D[youtubehttps://wwwyoutubecom/watch?v=k7OLCbjuidE&w=560&h=315%5D

    Como se mencionó anteriormente, la autenticación de pares de claves y el control estricto de esas claves es un buen paso. Finalmente me di por vencido con WordPress, es un poco demasiado suizo para mi gusto. Resulta que no es muy difícil construir una simple página de procedimientos en cualquier motor de base de datos con un poco de php y python. La ventaja de este método es que obtienes exactamente lo que quieres, ni más ni menos.

    • Dan dice:

      WordPress es solo un queso suizo si coloca muchos complementos o temas utilizables en él, o no lo actualiza. Desafortunadamente, muchos temas y aditivos populares son el queso suizo, a menudo debido a que se hacen demasiadas cosas en lugar de hacer una cosa y hacerlo bien. Pero el núcleo de WP es bastante sólido.

  • torio dice:

    La seguridad debe ser un enfoque de varias capas. Y es un proceso, no un estado.
    Mi servidor tiene SSH, pero en un puerto aleatorio. El puerto predeterminado opera un demonio ssh falso que rechaza todas las contraseñas y se desconecta después de 3 intentos. Si bloquea el servidor y pulsa 3 puertos cerrados, fail2ban le pide a iptables que le diga que todos los puertos están cerrados. Si adivina el puerto correcto, debe tener mi contraseña más un carácter TOTP, o tener mi clave.
    Que yo sepa, casi nadie pasó la primera capa, algunos se encendieron y solo yo me conecté al puerto SSH real, en casi una década.

    • djsmiley2k dice:

      Mismo. en la mayor parte.

      Simplemente inicie sesión en SSH (podría crear una contraseña e iniciar sesión, pero nunca necesité iniciar sesión con tanta urgencia como para que valiera la pena). Hasta donde yo sé, nadie ha probado mi puerto anormal, lo cual es extraño: esperaría que los robots que solo barren áreas de puertos enteras lo golpeen más temprano que tarde (ni siquiera es un puerto particularmente aleatorio).

      E incluso si la máquina era complicada, he bloqueado las copias de seguridad.

      • Guille dice:

        Fail2ban es esencial en sistemas en los que puede pagarlo. Bloquee tantos puertos como sea posible, y sí: solo se requiere un inicio de sesión clave. Sin embargo, su programa anterior (por ejemplo, WordPress) podría complicarle la vida. Especialmente cuando se trata de un programa conocido.

      • torio dice:

        Utilizo la autenticación de contraseña en los momentos en que estoy lejos de mi computadora, y tengo que iniciar sesión en mi servidor para algunas tareas de mantenimiento. Lo he usado varias veces. Dejar la autenticación de clave solo me bloqueará cuando no tenga mi clave conmigo. Sé que reduce la seguridad general, pero es un riesgo pequeño cuando se protege de todas las demás capas.

        • Freman dice:

          Active una clave SSH en su teléfono, luego puede permitir temporalmente cualquier computadora que esté en su teléfono.

    • Ostraco dice:

      Configúrelo para que los puertos entiendan las huelgas, los chistes llamativos. 😉

      • Jonathan Bennett dice:

        Fwknop por la victoria.

    • William F. Dudley Jr. dice:

      ¿El servidor ssh falso está disponible públicamente o tú lo escribiste? Supongo que uno podría escribir uno con bastante facilidad, tal vez incluso concha la escritura sería suficiente.

      • Guille dice:

        Solo necesita iniciar openssl con su propio archivo de configuración apuntando a archivos passwd / shadow vacíos / inválidos (podría hacer un entrepierna, pero eso sería demasiado).

      • torio dice:

        Pregunte a Google por sshpot. Incluso puede iniciar sesión con los nombres de usuario / contraseñas si lo desea. Solo los tiro a la basura.

        • NiHaoMike dice:

          Lo que podría ser un poco gracioso es un servidor SSH falso que finge ser vulnerable, excepto que cuando se le pide que inicie la carga útil, en su lugar arroja una gran cantidad de basura al remitente para intentar bloquearla.

  • ejonesss dice:

    ¿No podría configurar los inicios de sesión después de tantos intentos que la cuenta está bloqueada?

    inserta por error su PIN en el cajero automático 3 veces y la máquina toma la tarjeta y la cuenta se bloquea, por lo que tiene que ir al banco y obtener su tarjeta y probar su identidad.

    entonces, ¿no debería hacerse lo mismo con las cuentas de administrador, raíz y usuario?

    • Jonathan Bennett dice:

      Esto deja una manera fácil para que otra persona bloquee su cuenta.

  • TerraRoot Lande dice:

    Utilizo este f2bloop, ayudo a cambiar las direcciones IP y realmente ralentizo las pruebas.
    http://blog.shanock.com/fail2ban-increased-ban-times-for-repeat-offenders/

  • dknomad dice:

    Fail2Ban salvó muchos de mis servidores. Básicamente, 3 registros fallidos de la misma IP te otorgan 10 prohibiciones (el firewall elimina paquetes) y 3 prohibiciones de 10 minutos te prohíben. La mayoría de los usuarios reales se convierten en máquinas de escribir cuidadosas después de los primeros 10 minutos de prohibición; de lo contrario, siempre pueden solicitar una prohibición a través de los canales adecuados.

    • La taza de Joe dice:

      Si yo fuera usted, haría algo como agregar un factor de "lo siento", donde después de X muchos inicios de sesión (desde el mismo rango de direcciones IP o similar, o la misma geolocalización, etc.), se perdonan las advertencias y / o el número de las huelgas van en aumento

  • Miseria dice:

    Si funciona en su caso, también le sugiero que agregue reglas de bloqueo geográfico al host o firewall de uno. Por ejemplo, sé que no hay ninguna razón para que alguien fuera de los Estados Unidos se comunique con mi red, por lo que bloqueo las direcciones que no sean de EE. UU. (Es decir, cualquier cosa que no esté en http://www.ipdeny.com/ipblocks/data/aggregated / us- aggregate.zone). Eso redujo el tráfico de mi puerta en aproximadamente un 90% según mi estimación salvaje. Solía ​​tener cientos, si no más de mil, de reglas de fail2ban generadas automáticamente en mis hosts. Con las reglas de bloqueo geográfico por delante, obtengo algunas docenas.

    FWIW. Gracias.

  • Adobe / Flash Hate dice:

    "La secuencia de comandos parece estar deshabilitada".
    "Para ver la versión sin script, haga clic en el botón / enlace a continuación"
    por supuesto, el botón no funcionará mal sin un script habilitado.
    (? ¿en serio?)

    O obtienes esa página "espera un momento" sin nada más en ella. (Encapsular)

    Usted / los administradores deben saber ahora que muchas personas bloquean los scripts (y las cookies) hasta que confiamos en un sitio web.
    Así que necesitas una página de destino mínima con algo más que un captcha o redireccionamiento a esa maldita página de "espera un momento".
    Simplemente apedrearnos con una pantalla desafiante (y sin tener idea del contenido del sitio web) asegura que la mayoría de nosotros nunca regresaremos.

    En serio, todos los sitios web necesitan una página de inicio simple (como mínimo) que nos dé la oportunidad de decidir si vale la pena permitir un script.
    Nosotros (los ciudadanos de Internet) también estamos cansados ​​de que nuestro equipo sea "atacado".

  • Cristóbal dice:

    Puede considerar bloquear a los visitantes de ciertos países. En Linux, puede usar iptables o ipsec como firewall. Para obtener la lista de países, puede obtenerla de forma gratuita en https://www.ip2location.com/free/visitor-blocker

  • Oh, no eres tú dice:

    El suavizado se escribe con la e antes de la u.

Manuel Gómez
Manuel Gómez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.