Issabel ISO (Latest): Download Here
Cloud Services: User Portal - Quick Guide
News: Telegram channel
Become a Patron!
  • General
  • Beware: New Elastix 2.5 / 4.0 FreePBX 2.11.0.26 exploit..

asternic Nicolás, apliqué lo indicado por hgmnetwork y por lo menos hasta ahora los potenciales atacantes están recibiendo los errores HTTP 401 y 403 lo cual es positivo hasta el momento. Igual estaré monitoreando mis servidores afectados durante todo el día para saber si así se ven finalmente truncados en sus intentos de ingresar y dañar el acceso GUI de FreePBX.

Lo que me preocupa es que http y https están bloqueados en el firewall para IPs que no sean la mía y las fijas de los clientes pero aún sigo viendo intentos de accesar a la central por esos puertos lo cual me deja pensando si algo del firewall de Elastix no está funcionando bien o si no está aplicando las reglas en el orden correcto.

Yo entiendo que la prioridad es de número mayor a número menor lo cual significa por ejemplo que la regla #12 se aplica primero que la regla #8 y por ende lo que la regla #8 "libere" viene después de lo que yo haya "bloqueado" en la regla #12. Ejemplo: En la regla #12 de acuerdo al firewall de Elastix he bloqueado http a todo el mundo y en la regla #8 desbloqueo http para 127.0.0.1 y en la #9 desbloqueo http para la IP fija de mi oficina. Si entiendo esta lógica correctamente esta acción debería permitir el paso al puerto http a las IPs de la regla #8 y #9 pero a nadie más. Corríjanme si me equivoco?

A mi siempre me ha gustado aportar con reportes de bugs del sistema o con problemas de cualquier índole. Ayuda mucho que yo comercializo elastix virtualizado junto con DIDs y minutos de llamadas locales o internacionales para oficinas y call centers. Estoy día a día monitoreando mis servdores para estar pendiente de cualquier ataque o problema que pueda haber y reportarlo.

    asternic y por cierto, estos ataques fueron realizados también a instalaciones limpias, nuevecitas de paquete de Elastix 4.0 que se supone tiene CentOS 7 y no el 5.11 que ya está descontinuado. Es decir que el exploit del script está presente incluso en la versión "mas reciente" del antiguo Elastix.

    striderec Todo lo que puedas reportar es más que bienvenido. Con respecto a las reglas de firewall, lo único que puedo sugerir es que las veas en consola, no por web:

    iptables -vnL

    Y ahí podrás verificar el orden de las mismas. Elastix 4 tiene muchos bugs debido a la intriducción de Centos 7, incluído el que NO INICIALIZA el firewall aunque en el GUI diga que si. Y el GUI no comprueba nunca si el firewall (iptables), está corriendo o no.

    El comando de arriba te va a mostrar si hay reglas o no creadas.

    Issabel 4 ha cambiado mucho de lo que fue Elastix 4:

    FreePBX fue forkeado a IssabelPBX en su version 2.11.43 (esa versión corrige muchos de los exploits de freePBX).
    Hemos corregido el bug anteriormente mencionado con el firewall y además muestra en GUI el estado real.

    Hemos comprobado que hay exploits no reportados/conocidos en A2Billing, por lo que lo hemos removido del .iso y próximamente de los repositorios de modo preventivo.

    Es posible que existan otros exploits in freePBX (IssabelPBX ahora), o en el código que era de Elastix, y estamos trabajando proactivamente para resolver/minimizar incidencias.

    En la próxima semana anunciaremos la versión estable de Issabel 4, y te pediremos entonces que puedas al menos migrar uno de tus sistemas (si tienes tiempo y ganas, puedes hacerlo con nuestra versión de desarrollo esta misma semana), para luego monitorear este nuevo sistema y veas si es atacado y exploiteado.

    Si quieres experimentar con la iso de Issabel 4, dime por privado y te hago llegar un link para que lo pruebes.

    Saludos,

    Estuve sufriendo el mismo ataque, todos los días a las 00:22 se elminaban varios archivos, lo mitigue con un script que recupera desde un backup anterior los archivos afectados. También bloqueé todo el tráfico https que por error había quedado expuesto a la pública y eliminé el file magnito.php que sólo se encontraba en el directorio _asterisk, curiosamente con fecha de Octubre de 2015 que es la de instalación de la central. Por ahora desde hace una semana que no tengo inconvenientes y por si acaso también eliminé el directorio /usr/src/a2billing.

      alvbosch Hola AlvBosch,

      Estaba pensando en un script también pero pensé que el dañar la interfaz pudiera ser sólo la punta del iceberg para este ataque y que quizá el transfondo sea usar tu servidor para hacer ataques DDoS a otras redes o la tuya propia a parte de tratar de robarse minutos. Por ahora con los cambios que apliqué hoy gracias a hgmnetwork puedo decir que 10 horas después aún no me han tumbado el FreePBX en ninguno de los 3 servidores que me estaban atacando (3 con Elastix 4.0 y 1 con Elastix 2.5)

      asternic Nicolás,

      Gracias por toda la información que me has proporcionado sobre el Issabel 4.0 oficial.

      Uno de mis clientes está de acuerdo en hacer el upgrade a Issabel 4.0 y usarlo como lo hace con Elastix 4.0.

      ¿Cómo te contacto para el Link y realizar la prueba? Este servidor de este cliente en particular también estaba siendo blanco del ataque LORD MAGNITO V 1.0

      Con mucho placer haré pruebas de todo tipo y reportar anormalidades que encuentre tanto en funcionalidad como en algún agujero de seguridad de ser el caso.

        striderec Actualización: Ya fastidiaron a uno de los servidores con Elastix 4.0... YO creo que las reglas del firewall no es están ejecutando correctamente.......

          Me alegra saber que la ayuda del htaccess ha mitigado los ataques aunque efectivamente es algo mas molesto para los clientes, lo bueno que se puede almacenar la clave y solo es darle aceptar. y para ataques via http/https ayuda mucho ya que deben vulnerar primero una y posterior la otra y con el htaccess y el fail2ban el que entre o conoce las claves o algo ha pasado :D

          asternic, Seria bueno en el modulo antihacker poner esa opcion el poder mediante htaccess crear 1 o x usuarios y asi quien desee activarlo pueda mediante el modulo y de forma facil añadir, modificar o quitar usuarios autorizados o eso creo yo :D.

          Basicamente yo suelo instalar el CSF Firewall junto con el webmin para poder controlar el servidor y bloqueando en el CFS y permitiendo solo el pais al que dedican o bloqueando por ejemplo rusia, china y algun pais raro con eso el fail2ban y el htaccess hasta la fecha ( y por suerte :D ) de momento no hemos tenido incidencites grabes.

          Me parece una idea estupenda el poder hacer pruebas. Actualmente tengo un servidor vacio reservado para cuando saquen el estable de issabel 4 poder instalarlo , en cuanto lo instale probare todas las opciones

          Saludos!

          asternic Podríamos considerar agregar por defecto en Issabel 4 el mod_evasive en apache? Este ayudará a mitigar ataques de fuerza bruta.

          striderec Podrías compartir con nosotros los log referentes al ataque realizado a Issabel 4? Sería interesante identificar y mitigar posibles vulnerabilidades.

          hgmnetwork Hola hgmnetwork,

          Gracias por toda tu ayuda. Desafortunadamente para mí creo que la misma llegó muy tarde puesto que todos mis PBX Elastix afectados con el problema amanecieron hoy nuevamente con el freePBX dañado y el famoso magnito.php presente. Tal parece que ya es un script que se ha metido y que desde adentro está fastidiando porque revisando ssl_access.log potenciales atacantes sólo reciben error 401 y 403 de HTTP

          Me va a tocar exhaustivamente buscar scripts PHP con fechas recientes y borrarlos ya que esto para mí prueba de que es algo que ya está metido y no importa lo que haga, me van a seguir fastidiando la vida.

          Otra Consulta: Pueden cohexistir el módulo de firewall de Elastix / Issabel con CSF Firewall y con el anti-hacker? No quisiera tener una ensalada de productos para proteger al sistema contra intrusos y luego entre ellos se fastidien y resulte en problemas en el PBX o resultados no deseados en la protección.

          Gracias de nuevo por todo,

          Paul

            markmarco16 Hola Mark,

            Los ataques que he reportado no han sido contra Issabel 4 sino Elastix 2.5 y Elastix 4.0. Déjame saber si igual te interesa ver los logs o no por favor.

            Nicolás indicó que el fork del FreePBX con el que Issabel viene es el 2.11.0.43 que ya no tiene esta vulnerabilidad y Elastix como has de saber llegó sólo hasta el 2.11.0.26

            Estoy considerando migrar dos de estos servidores a Issabel 4 pero quisiera saber si con sólo cambiar los repositorios y correr "yum update" el Elastix 2.5 y 4.0 se convierten en Issabel 2.5 y 4.0 respectivamente..

            asternic Nicolás,

            Definitivamente creo que las reglas no se están aplicando bien porque en /var/log/messages veo intentos de conexión al servidor TFTP que está bloqueado para todos menos mis IPs así como el mismísimo http o https.

            EL resultado de correr iptables -vnL en uno de mis Elastix atacados es:

            Chain INPUT (policy ACCEPT 148K packets, 107M bytes)
            pkts bytes target prot opt in out source destination

            18 840 f2b-vsftpd tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 21
            11378 885K f2b-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 45622
            26353 2717K f2b-https tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
            6060 3205K f2b-asterisk udp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060

            Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
            pkts bytes target prot opt in out source destination

            Chain OUTPUT (policy ACCEPT 112K packets, 21M bytes)
            pkts bytes target prot opt in out source destination

            Chain f2b-asterisk (1 references)
            pkts bytes target prot opt in out source destination

            12 8924 REJECT all -- 146.0.32.94 0.0.0.0/0 reject-with icmp-port-unreachable
            1229 786K REJECT all -- 154.16.126.40 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 95.154.217.168 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 95.110.232.224 0.0.0.0/0 reject-with icmp-port-unreachable
            28 21757 REJECT all -- 92.114.32.74 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 89.163.146.72 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 89.163.146.243 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 89.163.144.189 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 87.106.16.49 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 82.165.97.126 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 62.210.181.99 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 62.210.181.161 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 62.210.143.74 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 51.15.71.197 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 51.15.146.174 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 5.152.215.58 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 5.104.111.244 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 5.104.105.102 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 45.61.34.247 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 45.243.58.167 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 37.8.37.27 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 35.184.220.231 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 31.6.23.109 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 23.239.70.162 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 23.239.69.227 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 23.239.66.123 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 213.202.233.77 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 213.202.233.200 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 212.83.168.81 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 212.47.247.54 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 212.129.47.132 0.0.0.0/0 reject-with icmp-port-unreachable
            29 16511 REJECT all -- 209.126.117.58 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 209.126.116.166 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 195.154.214.162 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 185.111.228.246 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 185.111.228.158 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 163.172.4.70 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 163.172.121.136 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 139.196.15.87 0.0.0.0/0 reject-with icmp-port-unreachable
            0 0 REJECT all -- 104.143.31.104 0.0.0.0/0 reject-with icmp-port-unreachable
            4762 2371K RETURN all -- 0.0.0.0/0 0.0.0.0/0

            Chain f2b-https (1 references)
            pkts bytes target prot opt in out source destination

            0 0 REJECT all -- 95.141.35.112 0.0.0.0/0 reject-with icmp-port-unreachable
            26353 2717K RETURN all -- 0.0.0.0/0 0.0.0.0/0

            Chain f2b-ssh (1 references)
            pkts bytes target prot opt in out source destination

            11378 885K RETURN all -- 0.0.0.0/0 0.0.0.0/0

            Chain f2b-vsftpd (1 references)
            pkts bytes target prot opt in out source destination

            18 840 RETURN all -- 0.0.0.0/0 0.0.0.0/0

            striderec Te recomendaria instalar el webmin + modulo csf (Firewall) y hay bloqueas cualquier ip que no sea del pais xx asi pones solo las que sepas que son mas viables.

            Aparte puedes bloquear si hacen x intentos o peticiones

            Suele ser muy efectivo yo lo tengo instalado en los elastix 2.5 ( no llegue a poner ningun 4 en producción)

            Es bastante facil de instalar.

            yum install webmin

            una vez instalado te debe ir a la ip_servidor:10000

            el user y pass es el root
            y luego el modulo de csf puedes ver como implementarlo aqui https://www.bitronictech.net/knowledgebase/10088/Installing-CSF-on-Webmin.html

            espero te ayude.

              hgmnetwork Hola hgmNetwork,

              Entiendo tus sugerencias a la perfección pero aún quisiera saber si esto no va a inteferir con anti hacker y el firewall de Elastix (reglas de iptables) que ya existen en el sistema.. no quisiera que se pisen la manguera entre bomberos como decimos en mi país...

              Ya tengo instalado webmin pero antes de proceder con CSF quisiera me pudieras contestar esa pregunta sobre "conflicto de intereses" entre estos módulos de seguridad.

              Se me ocurre a mi desactivar el firewall de Elastix, inactivar anti-hacker (o eliminar el módulo) y de allí instalar CSF y configurarlo.

              Gracias de antemano!

                Lo primero es que añadas tu ip a la lista blanca para que sea como sea no te bloquees a ti mismo :D eso es muy importante, esto tanto en el de elastix como en el csf y en el fail2ban.

                Yo suelo mantener el propio de elastix activado y a la vez el csf lo uso para bloquear ips de rusia, china y no recuerdo cual mas, y tambien para determinados puertos y flood

                lo que si me despiste de indicarte que debes en el firewall de elastix activar y permitir el acceso al puerto 10.000 si no no te dejara entrar al webmin :D porque el firewall del propio elastix te bloqueara ese puerto.

                con el CFS incluso tiene opciones que te ayudaran a mejorar la seguridad con muy pocos pasos, por ejemplo yo suelo cambiar el puerto ssh tambien y poner en el ssh 1 solo intento si se falla cierra conexion si yo pongo mal la clave de root tengo que probar de nuevo pero si es un ataque lo complica bastante mas. si lo cambias tambien recuerda abrir el puerto que uses en el firewall de elastix y poner tu ip en la lista blanca para que a ti nunca te bloquee.

                  hgmnetwork Entiendo lo de no bloquearme mi propia IP y lo de cambiar el puerto SSH. De hecho hace años ya no uso el puerto 22 sino uno alto. También tengo abierto el puerto 10000 ya que si he usado webmin desde hace años pero jamás el CSF. Cómo integro GeoIP al CSF?

                  Muchas gracias de antemano.

                    Esta todo al instalarlo una de las opciones que tiene es bloquesr todos mos puertos o determinados puertos soll debes poner las siglas del pais mira en google hay mucha ayuda

                      striderec Fijate que las reglas de iptables solo listan fail2ban, el firewall de Elastix no esta activo. Con respecto a repetidas intrusiones, pueden haber habilitado un back shell con lo que ya no hace falta atacar via http a scripts vulnerables.

                      Con respecto a compatibilidades, con Issabel 4 no usarás más el módulo antihacker (fail2ban), pues ya está integrado. No es un addon, es base del producto. Con respecto al firewall, geolocalización estará incluído de base también, no hace instalar otros administradores de firewall (si bien un usuario experto está en todo su derecho de usar las herramientas que más le gusten!).

                      Restricción .htaccess no vamos a llegar a hacerlo me parece para la semana próxima. Seguramente en un update posterior. Veré si llegamos pero está complicado pues al ser un release canidate lo que ya tenemos, no deberíamos agregar funcionalidad nueva.

                      Con respecto a módulos adicionales de apache, si existen .rpm para centos 7 se pueden agregar facilmente. Si no existen y alguien quiere contribuir a empaquetarlos, estupendo.. se pueden probar y agregar via yum y listo.

                      striderec Hola, yum update así como así no va a funcionar lamentablemente, cambia la version base de centos y no hay upgrade posible via yum. Lo que tendrás que hacer para migrar un 2.5 es un backup completo, luego instalar Issabel 4, subir el backup via scp o via web en el modulo backup/restore. El módulo detecta si es un backup de elastix y te permite "migrar" que es una opción especial para migrar de sistemas legacy.

                      El "yum install issabel" quizás funcione para pasar del beta 2 al final, pero también aquí hay problemas pues hemos renombrado TODOS los paquetes y esto genera un problema con los menús del admin (que se borran al desinstalarse paquetes elastix). Se pueden reinstalar los rpm de Issabel para que se regeneren los menús, pero no es muy elegante que digamos. En estos casos también se puede hacer backup completo, instalar a nuevo y restaurar/migrar.

                      Geolocalización está presente de base, no hace falta que uses scripts adicionales. En el firewall agregas una regla y en protocolo eliges "Geoip" y luego seleccionas países individuales o continentes enteros y REJECT o similar.

                      Es decir, se instala Issabel 4, ni bien instalas ingresas a Seguridad, Firewall, y lo habilitas, si quieres le agregas una regla de geoip. Puedes ir a fail2ban/admin y habilitarlo también. Las tablas geoip se actualizan semanalmente.

                      Fail2ban está configurado por defecto de modo que verifica distintos servicios, apache, ssh, postfix y asterisk y pueden seleccionarse cuales habilitar o no, por cuanto tiempo bloquear, etc. También esta la opción de ver las ip bloqueadas y desbloquearlas si así lo desean.

                      Dejo el link (secreto) :) del ultimo iso generado hace unos minutos:

                      http://iso.issabel.org/issabel4-test-2017-06-16.iso

                      El miércoles anunciaremos el oficial y subiremos el iso a sourceforge.

                        asternic Nicolás...

                        1) ¿Puedo con toda seguridad crear un backup de toda una central PBX Elastix 2.5 (incluyendo Voicemails y grabaciones de llamadas, es decir TODO) y después de instalar un Issabel 4 con el último ISO migrar con confianza todo?

                        2) ¿Qué hay con migraciones de servidores con Elastix 4? Puedo hacer un backup completo de Elastix 4.0 y aplicarlo a una instalación nueva de paquete de Issabel 4 sin problemas?

                        3) Issabel 4 usa CentOS 7 y como sabes Elastix 2.5 usa CentOS 5.11 que ya está descontinuado. Asumo que el proceso de migración de centrales Elastix 2.5 a Issabel 4.0 toman en cuenta ese detalle, ¿correcto?

                        4) Si instalo este ISO nuevo del link que es Release candidate y el Miércoles sale el oficial.. necesito reinstalar todo desde cero o el yum update se encargará de convertir esa versión final de prueba en la oficial de Issabel?

                        Gracias y quedo a la espera de tus respuestas. Voy a instalar el nuevo ISO y tratar de hacer unas migraciones de prueba a ver cómo me va...