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..

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...

          asternic Nicolás, ¿cómo determino si tengo un back shell y cómo lo puedo eliminar? No quisiera migrar los datos de una de mis PBX Elastix afectadas con estos scripts o backshells a una instalación nueva de Issabel 4 y "exportar" o "migrar" ese script malicioso también...

          striderec Hola. estuve probando la migracion desde Elastix 2.5 y 4 a Issabel 4 test 2017-06-16 usando el modulo de Backup/Restore. El unico "inconveniente" que tiene por el momento que soporta uploads de backups solo hasta 600MB. Con lo cual habria que ver si las grabaciones de llamada toca migrarlas con otra herramienta.
          El resto todo OK.
          Si puedes probarlo y dejar tus comentarios seria de gran ayuda.

            striderec La migración no restaura archivos html/php por lo que si tienes un back shell o similar, no va a 'restaurarse' en el equipo de destino. Como puedes darte cuenta si tienes uno? Es dificil decirlo, tienes que mirar si no tienes algún .php que te sobre en algún lugar dentro del web root. Muchas veces se crean directorios 'ocultos' con prefijo "." para que no los veas. Si lo encuentras, simplemente borra ese archivo o directorio.

            De todas maneras, si pones protección .htaccess auth basic o similar en el web root y no lo cancelas en subdirectorios, entonces incluso esos scripts no serán accesibles a menos que el hacker sepa el usuario y clave que configuraste.

            No dan los tiempos para armar un módulo para proteger directorios con .htaccess, de todos modos no es muy complicado hacerlo aunque puede ser una molestia para el usuario tener que autenticar dos veces.

              striderec 1) Issabel es open source, como tal no te da garantía de ningún tipo. Hicimos todos los esfuerzos necesarios para tratar de minimizar incidencias o problemas, pero siempre pueden ocurrir. Migrar sistemas nunca es sencillo. Así que lo de "toda seguridad" te la debemos. Puedo comentarte que hemos hecho pruebas restaurando backups de elastix 2.5 y 4, con voicemails, faxes, extensions, etc.. y la migración fue correcta.

              La base del sistema operativo da igual, la restauración del sistema es sobre configuraciones, no sobre programas o paquetes específicos. Esto quiere decir que vas a migrar configuraciones de tu PBX, pero no los addons que tenías en el otro equipo. Si tienes addons o cualquier otro agregado, tendrás que migrarlo manualmente. Con respecto a addons, los que existían con Elastix no serán compatibles con Issabel, requerirán de al menos un reempaquetado para que se puedan instalar, y en varios casos cambio de código por versiones de php más recientes y demás. Por lo tanto, deberás hacer pruebas con esas herramientas/addons antes de lanzarte a una migración si es que dependes de las mismas.

              El iso que pasé es un release candidate, como tal no conviene usarlo en producción, no es que pase nada serio, solo que en el final quizás haya algun que otro parche que NO vas a obtener via yum hasta tanto se saque el siguiente release al oficial.. si tienes ahora paquetes 4.0.0-1 tendrás que esperar a que se actualicen al 4.0.0-2. En estos 5 días que faltan seguramente habrá algún que otro pequeño fix y/o agregado.

              La idea es que con tus pruebas nos puedas decir si encontraste algún bug o problema, y ver si es posible resolverlo antes del release oficial (si es que se puede verificar el problema).

              Gracias!

              asternic Hola Nicolás,

              Entiendo todo lo que dices.

              En este instante estoy instalando Issabel 4 con el ISO que pusiste y luego de eso subiré backups de Elastix a ver qué pasa. Tengo un par de backups de 6 GB porque hay archivos con grabaciones. Espero que no haya problemas.

              Otras cosa que he notado:

              Cuando se instala Issabel 4 con un servidor virtualizado con WMWare el botón del mouse no funciona. Puedo deslizar el puntero entre las opciones de instalación pero cuando hago click no hace nada y debo entonces usar la tecla TAB, las direccionales y la barra espaciadora para seleccionar y cambiar lo que me interesa. Con Elastix 2.5 y 4.0 (que usa CentOS 7) no pasa eso, puedo hacer cambios y moverme de través de los menús perfectamente haciendo click con el mouse.

                asternic Mis primeras observaciones:

                1) En Fail2Ban cuando pones "Enable Fail2Ban" el mensaje en la parte superior dice que lo ha hecho pero el botón sigue diciendo "Enable Fail2Ban" como que no lo hubiera hecho. No se si es algo sólo visual y si lo activó o si en realidad las reglas de Fail2Ban no están activas. Adicionalmente no veo opción para decirle a Fail2Ban a dónde enviar alertas en caso de intrusiones. El módulo anti hacker de Elastix te permitía cambiar una plantilla con el text del e-mail que querías recibir y a qué e-mail enviar la información de las IPs bloqueadas y a qué servicio trataron de atacar... no veo esa opción en esta configuración de fail2ban y me parece vital que se te envíe un correo con las alertas de los intrusos bloqueados.

                2) Al importar el backup de uno de mis servidores con Elastix 2.5 a Issabel 4 para realizar una prueba a pesar de que el sistema me indicó que la migración fué exitosa pues no fué así y recibo este error:

                Reload failed because retrieve_conf encountered an error: 255
                click here for more info
                1 error(s) occurred, you should view the notification log on the dashboard or main screen to check for more details.

                Los detalles al hacer click son:

                exit: 255
                found language dir it for speeddial, not installed on system, skipping
                found language dir en_GB for speeddial, not installed on system, skipping
                PHP Fatal error: Call to undefined function core_users_list() in /var/www/html/admin/modules/voicemail/functions.inc.php on line 181

                asternic Con todo respeto no comparto la implementación de .htaccess Auth Basic por defecto en Issabel, esto obedece a una particularidad de implementación (exposición a red WAN).

                Podría más bien tomarse como referencia en una Guia "Aseguramiento de Issabel v4 para WAN"

                Voy a probar migrar el backup de mis centrales 2.5 a Issabel 4 y compartire los resultados

                striderec Si el botón sigue diciendo "enable" es que el servicio en realidad no se ha levantado, en ese caso deberás probar en consola y mirar las tablas creadas:

                iptables -vnL

                Si tienes fail2ban activo, verás montones de cadenas con nombre f2b-xxxxx (una para cada jaula creada).

                Con respecto a la migración, el error que ves es el llamado a una función en el core de issabelPBX. (antes freePBX), y la verdad que me parece muy raro ya que la migración no importa tu freePBX anterior, sino solo sus configuraciones. En ese caso tendríamos que hacer pruebas con el archivo de backup que has usado para ver si podemos reproducir el inconveniente.. El backup de que versión de Elastix es? Habría que ver como puedes contactar para ver si puedes compartir un backup para que podamos hacer las pruebas de migracion con el mismo.

                Saludos,

                markmarco16 No creo que la protección .htaccess deba hacerse por defecto. La idea era dar la posibilidad de que opcionalmente quien quiera pueda habilitar protección .htaccess via GUI, para facilitarlo a quienes lo requieren y le tengan miedo a la línea de comandos, ya que no es para nada complicado hacerlo desde consola.

                asternic Nicolás,

                EL backup es de Elastix 2.5. Te detallo a continuación lo que dice el botón "version" :100:
                Kernel
                Linux(x86_64)-2.6.18-407.el5

                Elastix
                elastix-2.5.0-1
                elastix-addons-2.5.0-6
                elastix-agenda-2.5.0-3
                elastix-anti_hacker-1.0.3-5
                elastix-asterisk-sounds-1.2.3-1
                elastix-distributed_dialplan-2.3.0-1
                elastix-email_admin-2.5.0-6
                elastix-endpointconfig2-2.5.0-5
                elastix-extras-2.5.0-1
                elastix-fax-2.5.0-3
                elastix-firstboot-2.5.0-3
                elastix-framework-2.5.0-20
                elastix-im-2.5.0-1
                elastix-my_extension-2.5.0-1
                elastix-pbx-2.5.0-9
                elastix-portknock-0.0.1-0
                elastix-reports-2.5.0-8
                elastix-roomx-2.0-113
                elastix-security-2.5.0-4
                elastix-sugarcrm-addon-5.2.0l-9
                elastix-system-2.5.0-8

                RoundCubeMail
                RoundCubeMail-0.3.1-12

                Mail
                postfix-2.3.3-7.el5
                cyrus-imapd-2.3.7-16.el5_11

                IM
                openfire-3.10.2-1

                FreePBX
                freePBX-2.11.0-26

                Asterisk
                asterisk-11.25.0-0
                asterisk-perl-1.03-0
                asterisk-addons-11.25.0-0

                FAX
                hylafax-4.3.11-1rhel5
                iaxmodem-1.3.0-0

                DRIVERS
                dahdi-2.10.2-0
                rhino-0.99.7-0
                wanpipe-util-7.0.14-0

                A proósito, qué alternativas hay para un tarifador tipo A2Billing que pueda asociar a Issabel 4? Así mismo algunos clientes míos usan OPENFIRE para IM... Pensé que ese extra no lo iban a eliminar.

                Para el backup indícame a dónde te puedo pasar el link de mi NAS para que lo descarguen y lo prueben..

                  asternic Resultado de iptables -vnL en mi Issabel de prueba (No hay nada de F2B ) :

                  [root@issabeltest01 ~]# iptables -vnL
                  Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
                  pkts bytes target prot opt in out source destination
                  2240K 2559M ISSABEL_INPUT all -- 0.0.0.0/0 0.0.0.0/0

                  Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                  pkts bytes target prot opt in out source destination
                  0 0 ISSABEL_FORWARD all -- 0.0.0.0/0 0.0.0.0/0

                  Chain OUTPUT (policy ACCEPT 2155K packets, 698M bytes)
                  pkts bytes target prot opt in out source destination
                  2155K 698M ISSABEL_OUTPUT all -- 0.0.0.0/0 0.0.0.0/0

                  Chain ISSABEL_FORWARD (1 references)
                  pkts bytes target prot opt in out source destination
                  0 0 ISSABEL_FORWARD_GEOIP all -- 0.0.0.0/0 0.0.0.0/0
                  0 0 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachab
                  le

                  Chain ISSABEL_FORWARD_GEOIP (1 references)
                  pkts bytes target prot opt in out source destination

                  Chain ISSABEL_INPUT (1 references)
                  pkts bytes target prot opt in out source destination
                  2240K 2559M ISSABEL_INPUT_GEOIP all -- 0.0.0.0/0 0.0.0.0/0
                  45890 3109K ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/0
                  130K 55M ACCEPT icmp --
                  0.0.0.0/0 0.0.0.0/0
                  11119 3603K ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpts:67:68
                  6 240 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:4445
                  115K 60M ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpts:5004:5082
                  23791 952K ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpt:4569
                  0 0 ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpt:5036
                  2 444 ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000
                  0 0 ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpt:2727
                  23526 2909K ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp spt:53
                  6 357 ACCEPT udp --
                  0.0.0.0/0 0.0.0.0/0 udp dpt:69
                  110K 11M ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:22
                  356 16496 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:25
                  595 41064 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:80
                  23 1446 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:110
                  58 4081 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:143
                  1409K 2061M ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:443
                  9 392 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:5222
                  22 1707 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:993
                  39 3501 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:995
                  238K 356M ACCEPT all --
                  0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
                  95 5620 ACCEPT tcp --
                  0.0.0.0/0 0.0.0.0/0 tcp dpt:9090
                  133K 5324K REJECT all --
                  * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachab
                  le

                  Chain ISSABEL_INPUT_GEOIP (1 references)
                  pkts bytes target prot opt in out source destination

                  Chain ISSABEL_OUTPUT (1 references)
                  pkts bytes target prot opt in out source destination
                  2155K 698M ISSABEL_OUTPUT_GEOIP all -- 0.0.0.0/0 0.0.0.0/0

                  Chain ISSABEL_OUTPUT_GEOIP (1 references)
                  pkts bytes target prot opt in out source destination
                  [root@issabeltest01 ~]#

                    Puedes probar consultar el servicio fail2ban desde consola o mirar el log de systemd al inicio, puede que si NO tienes un archivo de log que fail2ban analiza, entonces falle el inicio de servicio.

                    systemctl status fail2ban

                    Y si quieres iniciar desde consola

                    systemctl start fail2ban

                    Si quieres instalar openfire, lo puedes hacer desde repositorios/yum sin problemas. Nos pareció que al ser un componente que demanda altos recursos de sistema, este sea opcional y lo habiliten quienes lo usen, en lugar de imponerselo a toda la planta instalada.

                    Con respecto al backup, prueba enviarnos de forma privada el acceso al archivo ya sea por email, o no se si este foro tiene la opciíon de mensajes privados.

                    Saludos,

                      asternic Nicolás,

                      Sobre el comandos que me indicaste, aquí están los resultados:

                      1) systemctl status fail2ban
                      systemctl start fail2ban
                      ● fail2ban.service - Fail2Ban Service
                      Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
                      Active: failed (Result: start-limit) since Mon 2017-06-19 14:35:12 EDT; 1min 45s ago
                      Docs: man:fail2ban(1)
                      Process: 8779 ExecStart=/usr/bin/fail2ban-client -x start (code=exited, status=255)
                      Main PID: 6125 (code=killed, signal=TERM)

                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: fail2ban.service: control process exited, code=exited status=255
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: Failed to start Fail2Ban Service.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: Unit fail2ban.service entered failed state.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: fail2ban.service failed.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: fail2ban.service holdoff time over, scheduling restart.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: start request repeated too quickly for fail2ban.service
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: Failed to start Fail2Ban Service.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: Unit fail2ban.service entered failed state.
                      Jun 19 14:35:12 issabeltest01.itvoxcom.com systemd[1]: fail2ban.service failed.
                      Hint: Some lines were ellipsized, use -l to show in full.

                      root@issabeltest01 ~]# systemctl start fail2ban

                      Job for fail2ban.service failed because the control process exited with error code. See "systemctl status fail2ban.service" and "journalctl -xe" for details.
                      [root@issabeltest01 ~]#

                      2) Ok lo de Openfire, me parece correcto.

                      3) A qué correo te puedo enviar el link? Desafortunadamente este foro no tiene envío de mensajes privados............

                        striderec Como te indica systemd, para ver detalles del error ejecuta:

                        journalctl -xe

                        Ahi se podrá ver en que punto o por qué razoón se detiene fail2ban. Estoy cerrando equipo y por viajar, no voy a revisar mensajes por las próximas 48 aproximadamente. Cuando esté online de nuevo podemos ver de que manera nos puedes facilitar acceso a ese backup. Saludos,