#ContraElSilencio

#ContraElSilencio





No a la supresión de la libertad de expresión en internet que pretende realizar el gobierno arbitrario de Enrique Peña Nieto en México

Seguridad

  • Actualizando FreePBX y bug en la grabación de llamadas.

    En la mañana me llamó un cliente a quien hace 4 años le instalamos un servidor Asterisk, me pidió que le diéramos mantenimiento a su conmutador pues presentaba algunas fallas, a este servidor desde hace 3 años no le dábamos mantenimiento por cuestiones del cliente al no pagar una póliza de soporte. Después de hacer una revisión general, ajustar las configuraciones y hacer un upgrade de FreePBX, solo faltaba un detalle, el servidor no grababa las llamadas.


    Después de revisar en la consola el seguimiento de una llamada desde una extensión con grabación de llamadas habilitada, se observaba que se saltaba la grabación. Al revisar la macro de macro-record-enable el script de freepbx en /etc/asterisk/extensions_addittional.con no estaba completo, el paso 1 era salir de la macro, por lo que había un bug en la generación del código de freepbx. Buscando información en foros vi que ya no hay soporte para la versión 2.9 por lo que busqué en que parte del código de freepbx generaba esta macro y encontré que estaba en el archivo /DIRECTORIOWEB/admin/modules/core/functions.inc.php y el código de esa parte es el de abajo.


    El no generar el script para grabación de llamadas se debe a una variable global, la cuál no encontré en /etc/amportal.conf ni en las configuraciones avanzadas de asterisk, por lo que me fue más fácil alterar la condición de functions.inc.php para que el script de freepbx generara el código, con esto al hacer las pruebas quedó solucionado.


    Este es el código original, solo hay que modificar la condición de disable_recording


              $context = 'macro-record-enable';
                            $exten = 's';
                            if ($disable_recording) {
                                    $ext->add($context, $exten, , new ext_macroexit());
                            } else {
                                    $ext->add($context, $exten,
    , new ext_gotoif('$["${BLINDTRANSFER}" = ""]', 'check'));
                                    $ext->add($context, $exten, , new ext_resetcdr('w'));
                                    if ($ast_ge_14) {
                                            $ext->add($context, $exten,
    , new ext_stopmixmonitor());
                                    } else {
                                            $ext->add($context, $exten, '', new ext_stopmonitor());
                                    }
     
  • OpenVPN vs IPSec

    IPSec desde los tiempos de Microsoft ha sido el estándar para VPNs, un protocolo con todo lo que implica la filosofía de microsoft, con amplia distribución entre los fabricantes y el protocolo de facto en los routers.


    A pesar que IPSec es el estándar de VPNs, adolece de sin fin de requerimientos que su uso a veces es más un quebradero de cabeza que una solución flexible. En mi experiencia la implementación de IPSec en empresas ha sido un claroscuro entre funciones básicas y requerimientos no soportados, sumando que a pesar de ser un estándar a veces la compatibilidad e interconexión depende de la marca, modelos y versiones de los equipos a conectar. Un protocolo que sus dependencias para funcionar requieren una infraestructura más allá de la que una PyME inicialmente pudiera tener.


    Lo anterior sumado ante el desconocimiento y miedo para uso de herramientas Open Source, OpenVPN una alternaiva flexible, potente y muy segura para implementación de VPNs ha sido desestimada por la industria e ingenieros, siendo solo implementada por los expertos del software libre quienes han llevado esta tecnología a empresas teniéndolas en producción con alto rendimiento y alta disponibilidad.


    Diferencias entre OpenVPN vs IPsec
    IPSec tiene soporte en los principales sistemas operativos como son Windows, Linux, MacOSC, iOS y Android.
    OpenVPNIPsec
    Generalidades
    Una avanzada y flexible solución de OpenVPN de código abierto desarrollado por OpenVPN technologies, la cuál es el estándar en entornos Linux y redes basadas en código abierto. Usa el protocolo se seguridad y encriptaicón probado SSL/TSL. Un protocolo formalmente estandarizado en el IETF con el RFC 3193
    OpenVPN usa la librería OpenSSLpara proveer encriptación. OpenSSL soporta múltiples algoritmos de encriptación como son 3DES, AES, RC5, Blowfish. El RFC 4835 especifica que 3DES y AES en IPsec son los algoritmos de encriptación
    OpenVPN no tiene mayores vulnerabilidades y será completamente seguro siempre y cuando se use con cualquiera de los algoritmos de seguridad soportados. IPSec no tiene mayores vulnerabilidades y es considerado extremadamente seguro cuando es usado con el algoritmo de encriptación 3DES o AES.
    OpenVPN tiene mejor rendimiento que IPSec al usarse bajo el protocolo UDP. IPSec tiene ligera sobrecarga debido a la doble encapsulación.
    OpenVPN es fácil de implementar y puede correr sobre cualquier puerto UDP o TCP. Para firewall restrictivos puede ser configurado para usar TCP sobre el puerto 443. IPSec usa el puerto UDP 500 para el intercambio inicial de llaves, el puerto 50 para los datos encriptados, el puerto 1701 para la sesión inicial L2TP y el puerto 4500 para NAT Transversal. Clientes IPSec son más fáciles bloquear que clientes OpenVPN.
    OpenVPN no es incluido en ningún sistema operativo, pero OpenVPN tiene soporte para cualquier sistema operativo y su instalación es fácil que puede hacerse en 5 minutos. Todas las versiones de Windowx desde 200/XP y Mac OS X 10.3+ y muchos sistemas operativos para móviles tienen sporte nativo para L2TP/IPSec
    OpenVPN es muy estable y rápido sobre redes inalámbrica, celular GSM y otras redes no eficientes donde la pérdida de paquetes y congestión son comunes. OpenVPN sporta TCP para redes ineficientes pero este modo sacrifica algo de velocidad debido a la ineficiencia del encapsulamiento de TCP sobre TCP. L2TP/IPSec es más complejo y difícil de configurar que OpenVPN más cuando se trata de implementarlo detrás de redes NAT.
    OpenVPN tiene compatibilidad con todos los sistemas operativos para servidores, escritorio y móviles, tales como Windows, Linux, *Unix, Mac OSX, iOS, Android, Windows Mobile, *BSD, DDWRT, etc.
    OpenVPN es la mejor opción debido a su flexibilidad para integrarse en cualquier tipo de redes. Es extremadamente seguro, rápido y altamente eficiente. IPSec es buena opción, pero en relación con OpenVPN queda ligeramente corto comparando las múltiples características y flexibilidad de OpenVPN a las limitaciones de IPSec por ser un estándar.
    OpenVPN oficialmente no viene integrado en router de las marcas más comerciales, pero en la actualidad se puede instalar un firmware DDWRT en diversas marcas y modelos de routers, donde OpenVPN ya viene integrado permitiendo aprovechar la tecnología de OpenVPN y el hardware de router. IPSec al ser estándar, puede enontrarse en los routers de marcas comerciales.
    OpenVPN permite conexión de diversos tipos de redes Lan to LAN, Roadwarrior y punto a punto, integrando estas redes a los firewalls ya que la conexión se convierte en una interfaz de red que puede ser administrada como cualquier interfaz de red física. IPSec permite conexiones VPN lan to lan, punto a punto y road warrior, teniendo ciertas limitaciones en ruteo de redes avanzadas.
    OpenVPN al estar basado en código abierto su nivel de depuración es muy alto, permitiendo detectar los puntos de fallo rápida y fácilmente en una implementación. IPSec al implementarse sobre routers, la depuración de errores depende el tipo de router, siendo solo disponible en routers de gama alta, mientras en los de gama baja el debug es muy básico.


    En conclusión, OpenVPN siempre será la mejor opción de VPNs para cualquier empresa que IPSec por flexibilidad, rapidez, funcionalidad, control, seguridad y adaptación a cualquier topología de red.
  • Sciprt para registro automáticos de agentes dinámicos en Queues de Asterisk.

    La interfaz gráfica de FreePBX permite configurar rápidamente colas(queues) con opción de agentes dinámicos o estáticos, aunque cuando son agentes dinámicos estos tienen que registrarse en la cola marcando el número de la cola seguido de asterisco, por ejemplo si la extensión de la cola configurada fuera 601, para registrarse marcarían 601* y un prompt les pediría el número de agente a registrar, para desconectarse marcarían 601** y solicitaría el agente a desconectar. Esto aumenta la probabilidad de fallos y errores en la conexión, por lo que es recomendable hacer un script que automáticamente registre al usuario.


    En este caso este script en el dialplan de Asterisk detecta el CID de quien intenta registrarse marcando 01 y lo registra como agente, para desconectar de la cola solo marca 02 y lo desconecta de la cola indicada en el script del dialplan de asterisk.


    nano /etc/asterisk/extensions_custom.conf
     
    <br>
    [fom-internal-custom]
    ;incluimos los contextos dentro del contexto from-internal
    include=>agente-offline
    include=>agente-online

    <img src="plugins/Emoticons/images/face-smile-big.png" border="0" alt="face-smile-big.png " width="16" height="16" />ialplan que conecta un agente  a la cola 601, detecta el CID de quien marca la extensión 01 y lo registra en la cola 601
    [agente-online]
    [agente-online]
    exten => 01,1,Wait(1)
    exten => 01,n,Macro(user-callerid,SKIPTTL)
    exten => 01, n(a3),Set(CALLBACKNUM=${CALLERID(number)})
    exten => 01, n,Set(COLA1=601)
    exten => 01,n,Set(THISDEVICE=${DB(DEVICE/${CALLBACKNUM}/dial)})
    exten => 01,n,ExecIf($[${LEN(${THISDEVICE})}!=0 & ${DB_EXISTS(QPENALTY/${COLA1}/agents/${CALLBACKNUM})}=1]?AddQueueMember(${COLA1},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${COLA1}/agents/${CALLBACKNUM})},,${DB(AMPUSER/${CALLBACKNUM}/cidname)},${THISDEVICE}))
    exten => 01,n,ExecIf($[${LEN(${THISDEVICE})}=0 & ${DB_EXISTS(QPENALTY/${COLA1}/agents/${CALLBACKNUM})}=1]?AddQueueMember(${COLA1},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${COLA1}/agents/${CALLBACKNUM})}))
    exten => 01,n,UserEvent(Agentlogin,Agent: ${CALLBACKNUM})
    exten => 01,n,Wait(1)
    exten => 01,n,Playback(agent-loginok&with&extension)
    exten => 01,n,SayDigits(${CALLBACKNUM})
    exten => 01,n,Hangup
    exten => 01,n,MacroExit()
    exten => 01,n(invalid),Playback(pbx-invalid)
    exten => 01,n,Hangup  
    ; dialplan que desconecta un agente, detecta el CID de quien marca la extensión 02 y lo desconecta de la cola 601
    [agente-offline]
    exten => 02, 1,Wait(1)
    exten => 02, n,Macro(user-callerid,SKIPTTL)
    exten => 02, n,Set(COLA1=601)
    exten => 02, n(a3),Set(CALLBACKNUM=${CALLERID(number)})
    exten => 02, n(a5),Set(CALLBACKNUM=${IF($[${LEN(${AMPUSER})}=0]?${CALLERID(number)}:${AMPUSER})})
    exten => 02, n(a7),RemoveQueueMember(${COLA1},Local/${CALLBACKNUM}@from-queue/n)
    exten => 02, n,RemoveQueueMember(${COLA1},Local/${CALLBACKNUM}@from-internal/n)
    exten => 02, n,UserEvent(RefreshQueue)
    exten => 02, n,Wait(1)
    exten => 02, n,Playback(agent-loggedoff)
    exten => 02, n,Hangup
     


    #Recargamos el dialplan para que el script pueda ser llamado desde cualquier extensión
    asterisk -rx "dialplan reload"
     


    Con esto evitaremos el engorroso registro y desconexión método default de FreePBX automatizando el registro.


    También se puede crear un AMI que a cierta hora automáticamente conecte y desconecte agentes de la cola.


    Con esto le facilitamos el registro de agentes dinámicos en los call centers de los clientes a quienes les instalamos y configuramos sus plataformas de comunicaciones basadas en Asterisk.

  • Prueba de sobrecarga de servidores web con CURL

    Hace unos días me pidieron que ayudara hacer un script para probar el rendimiento de un servidor web, de inicio pensé en varias posibilidades, pero al final decidí hacer un script en curl que mandara peticiones de registro y de descarga de contenido para medir el rendimiento del servidor al generar n peticiones simultáneas.


    Lo primero que hice fue hacer un script en bash como el siguiente:
    #!/bin/bash
    USUARIOS=$1
    PROCESOS=$2
    SLEEP=$3
    echo "" > c$USUARIOS-$PROCESOS.log
    for i in `seq 1 $USUARIOS`
    do
            /usr/bin/php  ./curl.php $i $PROCESOS $SLEEP >> c$USUARIOS-$PROCESOS.log &
    done
    #ps aux | grep curl.php
    tcpdump -i $4 port 443 -vv -w e$USUARIOS-$PROCESOS.log
     


    Explicación del script:

    Este script define del número de sesiones a iniciar en USUARIOS y en PROCESOS el número de contenidos a descargar por sesión iniciada en el servidor web.

    SLEEP es una variable que nos da una pausa para ejecutar el script de curl y empezar la sesión

    Se genera un log con la información obtenida nombrando al archivo con el número de usuarios y procesos generados.

    Se hace un ciclo para iniciar la sesión de usuarios enviando al script el número de descarga de contenidos a realizar por sesión, enviando la información al archivo del log.

    Al terminar el ciclo hacemos un tcpdump al puerto 443 que estamos monitoreando en el script de curl, en este caso este puerto puede cambiar al 80 u otro en dado caso.

    El script de bash se ejecutaría así:

    sh curl.sh 100 5 5 eth0
     


    El script de curl en php que manda a llamar el script en bash, ejecuta curl, inicia la sesión en el servidor y descarga el contenido. Este script sería el siguiente:

    <?php
    sleep($argv[3]);
    $log =  "\nSTART LOGIN: ".udate("Y-m-d H:i:s.u").", USER: ".$argv[1]."\n";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://www.MISERVIDOR.COM/login.php');
    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64)');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    $_login  = array("username"=>"USUARIO", "password"=>"PASSWORD");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_login);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/stress.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/stress.txt');
    $HTML = curl_exec($ch);
    if (curl_error($ch)) {
                $log .=  " ERROR LOGIN: ".curl_error($ch)." , USER: ".$argv[1]."\n" ;
    }
    $log .=  "END LOGIN ".udate("Y-m-d H:i:s.u").udate("Y-m-d H:i:s.u").", USER: ".$argv[1]."\n\n";
    //echo $HTML;
    foreach(range(1,$argv[2]) as $proceso){
            $log  .="START REQUEST INFO: ".udate("Y-m-d H:i:s.u").", USER: ".$argv[1].", PROCESO: $proceso\n";
            curl_setopt($ch, CURLOPT_URL, 'https://www.MISERVIDOR.com/contenido.php);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_POST, false);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "");
            $HTML = curl_exec($ch);
            if (curl_error($ch)) {
                $log .= " ERROR REQUEST: ".curl_error($ch).udate("Y-m-d H:i:s.u").", USER: ".$argv[1].", PROCESO: $argv[2] \n";
            }
            $log .= "FINISH REQUEST INFO: ".udate("Y-m-d H:i:s.u").", USER: ".$argv[1].", PROCESO: $proceso \n";
           
            //echo $HTML;
    }
            echo $log;
    function udate($format = '
    u', $utimestamp = null) {
            if (is_null($utimestamp))
                $utimestamp = microtime(true);
            $timestamp = floor($utimestamp);
            $milliseconds = round(($utimestamp - $timestamp) * 1000000);
            return date(preg_replace('
    `(?<!\\\\)u`', $milliseconds, $format), $timestamp);
        }
    ?>

     


    Explicación del script de curl


    Este script recibe como parámetros el número de usuario en sesión, número de procesos y tiempo de ejecución.


    Configura los parámetros de curl para conectar a un servidor HTTPS indicando la url de inicio de sesión y enviando los parámetros de usuario y password para validar el registro e iniciar la sesión vía POST. Cambiar los valores de servidor y datos de registro por los valores de su servidor web.


    Antes de hacer la sesión se captura la fecha y hora inicial contando los milisegundos, al finalizar el proceso de inicio de sesión se vuelve a capturar la fecha y hora con milisegundos agregando la info a la variable log.


    Se valida que no hubiera un error en el proceso de inicio de sesión


    Se mantiene la sesión para esto en la configuración de los parámetros de curl indicamos el archivo donde guardará la cookie.


    Con la sesión de usuario abierta se inicia un ciclo con el número de procesos indicados para capturar el tiempo de inicio con milisegundos y se ejecuta la descarga del contenido, al final de la descarga de contenido se obtiene el tiempo con milisegundos y continua el ciclo hasta finalizar el número de procesos.


    Al finalizar toda la información recabada se envía al archivo de log indicado en el script de bash.


    Con estos dos scripts se obtiene todo un log con la información generada al ejecutar x cantidad de usuarios con n procesos. Al observar la información puede encontrarse que los tiempos de respuesta de un servidor disminuyen conforme va aumentado el número de peticiones de registros de usuario y descarga de contenidos.


    Al script solo le falta la parte para ordenar la información para obtener estadísticas de tiempo de registro de usuarios, promedio de descarga de contenidos, porcentajes de errores, etc.
  • Eliminando de Linux Desktop un espía amigo

    Zeitgeist es un demonio incluido en el escritorio de Gnome que monitorea toda tu actividad, gestiona eventos como que páginas visitas, que música escuchas, tus conversaciones, que comandos ejecutas, que archivos abres, que fotos ves, a donde te conectas, donde te localizas, etc.


    Esto lo hace con el fin de interactuar con otras aplicaciones a través de un API para interactuar de forma inteligente.


    Un tema de seguridad y privacidad es que si al instalar una aplicación de terceros, esta aplicación tuviera acceso a Zeitgeist, prácticamente toda tu información estaría siendo monitoreada por un agente externo.


    Aunado al tema de seguridad, al ser una aplicación en constante ejecución que monitorea toda tu actividad, esta aplicación llega a consumir muchos recursos de RAM y CPU, por lo que es un punto más para no tenerlo en ejecución.


    En ubuntu Linux su proceso de desinstalación es sencillo ya que otros paquetes no depende de el, por lo que para removerlo bastaría solo un:
    sudo dpkg --purge zeitgeist*
     
    Después de eso solo matar los demonios que estuvieran corriendo en consola y listo, tenemos un espía amigo anulado si es que fuéramos muy quisquillosos en el tema de privacidad.
  • OpenBTS crea su appliance para crear redes GSM con Asterisk.

    OpenBTS es un proyecto open source que surgió la década pasada para brindar comunicaciones en zonas rurales a partir de redes GSM.


    Hace unos años hablábamos en este blog de como implementar tu propia compañía GSM a partir de Asterisk+OpenBTS+USRP http://blog.oaxrom.com/index.php/blog/show/%C2%BFQu%C3%A9-es-OpenBTS-%3F-Y-c%C3%B3mo-crear-tu-propia-compa%C3%B1%C3%ADa-de-Telefon%C3%ADa-M%C3%B3vil-GSM-.html .


    Volviendo a retomar el tema por un proyecto para una compañía, entro a ver como va el avance del proyecto OpenBTS y me encuentro que ahora es mucho más fácil implementar una red GSM con Asterisk comparado con el dolor de cabeza que era hace unos años, pues ahora Range Networks la parte comercial de OpenBTS, ha liberado un appliance que permite fácilmente crear redes GSM.


    Por lo visto con sus dispositivos comerciales es fácil integrar Asterisk con cualquier teléfono GSM que transmita en la banda 800-900 Mhz/1800-1900Mhz.

    Con la versión más limitada de su dispositivo es posible transmitir desde 1 Km hasta 30 Km con la versión más potente, soportando hasta 35 llamadas concurrentes e infinidad de usuarios registrados a la red GSM.


    Sin duda una excelente opción para comunidades rurales donde brindar servicio no es el principal interés de las grandes compañías telefónicas, como es el caso de la comunidad de Talea de Castro que implementó su propia compañía de telefonía móvil.


    Más info:


    http://www.rangenetworks.com/products/openbts-development-kit#!opencell/c10rl
  • Activar Hot Line en puerto FXS Linksys PAP2 para portero electrónico.

    Es muy común que se desee integrar con Asterisk un portero electrónico(intercom o frente de calle), para que al momento de que alguien presione un botón automáticamente marque un grupo de marcación del conmutador IP Asterisk.

  • Para esto solo basta acceder a la interfaz de configuración del Linksys PAP2 en modo admin avanzado.
  • Enseguida ir al puerto FXS Line 1o Line 2 donde está conectado el portero
  • Dentro de la configuración después de configurar los parámetros SIP ir al campo Dial Plan
  • Introducir por ejemplo SO<:601> esto haría que automáticamente al descolgar marcaría la extensión 601 del conmutador IP que puede ser cualquier aplicación de asterisk ligada a esta extensión.
  • Guardar los cambios y presionar un botón del portero para probar.


    Con esto si se tiene un portero de múltiples botones, automáticamente haría la marcación.

    Los porteros opcionalmente tienen algunos códigos para apertura de puerta, estos códigos se configuran de acuerdo al manual de configuración del portero, generalmente se marca a la extensión donde está el portero, se teclea la clave para programación y de ahí los códigos de configuración más el valor a asignar. Consultar el manual de cada portero para cada opción.
  • Alternativa de doble seguridad con validación SSH para acceder a servidor tercero.

    Una de las preocupaciones comunes es dejar activado el acceso web de alguna plataforma ya sea servidor web, router, firewall, aplicación, etc., directamente en internet entrando vía URL .


    Para esto es posible añadir una validación de seguridad adicional que podría ser práctica e interesante. Por ejemplo, supongamos que tienes una aplicación web que desees tener acceso remoto, pero no dar acceso a cualquiera.


    Para esto podría configurarse una regla en el firewall interno donde se ubique el servidor para que solo de acceso a alguna IP Pública remota y luego hacer un tunel desde cualquier parte vía SSH.


    Por ejemplo en el servidor web o en el firewall donde esté ubicado el servidor puede ponerse una regla de este tipo:


    iptables -F
    iptables -X
    iptables -Z
    iptables -t nat -F
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    iptables -A INPUT -i eth0 -j ACCEPT
    iptables -A OUTPUT -o eth0 -j ACCEPT
    #Acceso a toda la red local
    iptables -A INPUT -s 192.168.200.0/24 -j ACCEPT
    #Acceso a la IP_PUBLICA_A al puerto TCP 443
    iptables -A INPUT -s IP_PUBLICA_A -i INTERFAZ_DE_RED -p tcp --dport 443 -j ACCEPT
    iptables -A INPUT  -j ACCEPT
    iptables -A OUTPUT -j ACCEPT

     


    Con esto a la IP Pública IP_PUBLICA_A se le da acceso al servidor web en el puerto 443 que está en la IP_PUBLICA_B


    Si desde cualquier parte de internet se desea acceder la regla de iptables bloquearía el acceso


    En este caso para poder acceder se tendría que hacer un tunel a la IP PUBLICA A, para acceder al puerto 443 del servidor IP PUBLICA B


    ssh -L443:IP_PUBLICA_B:443 user@IP_PUBLICA_A
     


    Con esto desde la máquina solo abrir cualquier navegador y podría entrarse vía https://localhost:443 ya que el túnel conduciría a la IP PUBLICA B a través de la IP PUBLICA A.
  • Locus Pro una aplicación decente para mapas y GPS en Android para practicar senderismo.

    En varias salidas a caminar a la montaña, uno de los principales problemas que he tenido es la ubicación. A veces nos lanzamos sin una ruta en específica a la aventura, contemplando un origen y un destino, guiándonos tan solo por una brújula y las indicaciones que hubieran en el camino, pero a veces a mitad de la montaña cuando ves senderos que se cruzan y cuando a tu alrededor solo ves árboles y árboles donde no tienes un punto alto donde visualizar en que dirección ir o que camino tomar, es cuando la situación se vuelve más preocupante, pues en muchas situaciones pudieras adentrarte a la profundidad de la montaña más que acercarte a tu punto destino, y es estresante cuando llevas horas y horas caminando sin encontrar una salida o un claro donde pudieras ver alguna carretera transitable.


    Lo peor es aunque lleves un móvil con GPS, es difícil ubicarte, pues muchas aplicaciones de geolocalización requieren internet para descargar el mapa, y esto en la montaña muchas veces es imposible, pues no hay señal de telefonía móvil.


    Por esto, decidí buscar alguna aplicación GPS que pudiera resolver esta dificultad, instalé varias aplicaciones, después de varios intentos y pruebas, la que mejor funcionó fue Locus Pro. Este App tiene un costo de 9 dlls, pero tiene la particularidad de poder conectarse a diversos servicios de mapas y poder descargar mapas de cualquier región del mundo para tener una visualización offline con diversos niveles de acercamiento, bien valen la penas esos poco más de 100 pesos por tener la posibilidad de tener un mapa en la mano y evitar malos contratiempos en las montañas, así es más fácil tomar decisiones al elegir caminos difusos o en casos extremos descender verticalmente cuando de plano nos hayamos adentrado hacia una montaña.


    Con esto al programar una salida, previamente nos conectamos algún servidor de mapas, ubicamos la ruta y descargamos el mapa de algún servidor que cumpla nuestros requerimientos y con esto podemos tener un tracking GPS dentro del mapa descargado, pudiendo tener diversos niveles de acercamiento para visualizar el terreno, desniveles, senderos, imágenes satelitales, etc.


    Es importante recalcar que algunas zonas del país su acercamiento no es tan grande como en Google Maps, sin embargo los mapas de MapQuest son lo suficientemente útiles como para animar a perderse en la montaña face-smile.png


    Por el costo/beneficio se me hace una excelente aplicación, de hecho es buena solución para andar por la ciudad, aquí en el DF por ejemplo bajé toda el área metropolitana, y con esto es posible andar de arriba para abajo sabiendo siempre la ubicación donde estamos sin perdernos, sin costo de consumo de datos y con bajo consumo de energía.


    Existen otras opciones, incluso mucho mejores que Locus Pro, pero su precio aumenta considerablemente, aunque bien vale la pena la inversión por el nivel de detalle y características que incluyen los mapas, por ejemplo el software de "TomTom Mexico" con un costo de 50 dlls, pero sus mapas por mucho superan a los de LocusPro.


    Más vale un software de mapa en mano, que perderse caminando.. face-smile.png
  • #ContraElSilencio de Un Gobierno Mexicano que pretende suprimir la libertad en Internet

    Info tomada desde:

    http://www.sopitas.com/site/315692-contra-la-leytelecom-de-pena-nieto-informate-y-actua-contraelsilenciomx/
    ¿Qué está pasando?

    El presidente Enrique Peña Nieto está muy decidido a usar la #LeyTelecom para terminar con tu libertad para usar Internet. Ya sea como medio de consulta, de entretenimiento o de acción, un montón de funcionarios públicos tendrán poder para decidir si tus hábitos son «un peligro para la seguridad nacional». Por este motivo, el 21 y 22 de abril, todos nos uniremos #ContraElSilencioMX

    ¿Qué podría pasar? #ContraElSilencioMX

    Según el artículo 189 de la iniciativa: “los concesionarios de telecomunicaciones y, en su caso los autorizados están obligados a proporcionar la localización geográfica en tiempo real, de cualquier tipo de dispositivo de comunicación a solicitud de los titulares de las instancias de seguridad o de los servidores públicos en quienes se delegue esta facultad”

    Además, según el 197 las compañías que presten servicios de comunicación deberán: “Bloquear, inhibir o anular de manera temporal las señales de telecomunicaciones en eventos y lugares críticos para la seguridad pública y nacional a solicitud de las autoridades competentes”.

    En otras palabras, cada vez que algún elemento de la PGR crea que tus acciones, comentarios, intereses y conocidos en Internet sean peligrosos (para alguien… de alguna forma) podrá apagar tu servicio de Internet o el de una zona entera. Adiós cobertura en vivo en manifestaciones, adiós movimientos incipientes en Twitter a través de un hashtag, adiós a medios, blogs y comunidades de todos los colores y sabores no alineados al gobierno.

    Por si esto fuera poco, las compañías proveedoras de Internet tendrán la obligación de guardar una lista detallada de tus gustos y hábitos, lista que deberán dar a las autoridades siempre que así lo quieran y para lo que quieran.

    Además la Secretaría de Gobernación podrá censurar contenidos de televisión e Internet y suspenderá todo lo que no le parezca.

    Por otro lado, Internet se convertirá en una especie de servicio de pago por evento, como el de la tele por cable, pues las proveedoras podrán dar preferencia de banda a distintos sitios web, mientras que harán muy lento tu entrada a otro, según los negocios que establezcan con cada empresa. Para comprender más sobre los peligros que representa el fin de la neutraidad en la red, da clic aquí.

    En pocas palabras, esta ley terminará con tu derecho de expresión, privacidad, seguridad y servicio barato en el espacio de comunicación más importante del mundo.



    Los Hechos #ContraElSilencioMX


    El uso de las redes sociales, blogs y sitios de Internet representa uno de los mayores problemas de Enrique Peña Nieto desde 2012. Este es el espacio donde todos lo que no simpatizan con sus políticas y medidas de seguridad se expresan. Es, además, el espacio en el que la prensa no oficial puede publicar información y opinión. Pero sobre todo, en el que tú puedes ser libre de unirte a cualquier conversación sobre el gobierno y sus políticas.


    El gobierno federal, así como el de distintos estados, ya han censurado información en Internet y atacado a usuarios. El uso del software de espionaje FinFisher por parte de la PGR, así como el arresto indiscriminado del ciber-activista Gustavo Maldonado López, son solo la punta del iceberg.


    Sin embargo, en México hemos pasado por intentos de reducir nuestra libertad en Internet y, manteniéndonos juntos, los hemos detenido. En 2009, bajo el lema #InternetNecesario, evitamos que el Congreso aprobara la ley que gravaba con un impuesto exagerado nuestro derecho universal a Internet y que permitía la vigilancia masiva. Este es nuestro momento de actuar de nuevo. Ya defendimos Internet una vez. Volveremos a hacer ruido.



    ¿Cómo puedes actuar? Haz ruido #ContraElSilencioMX


    El 21 de abril haremos una tormenta en redes sociales, Twitter y Facebook bajo el hashtag #ContraElSilencioMX. Hacer ruido es el primer paso y está en tus manos que esta ola llegue a todos lados. Contamos con el apoyo de muchos países cuyos gobiernos han intentado silenciarlos. Ellos están con nosotros. Ahora es tu momento.


    Entre más participen en la tormenta en redes, más asistirán a las acciones fuera de ellas. Un tuit puede hacer la diferencia: lo probamos en 2009.


    El 22 de abril nuestras acciones saldrán de la redes y, con la ayuda de todos los convocados en un Internet que aún es nuestro, iremos a defenderlo al Senado de la República, donde una vez ya fuimos escuchados. Une tu esfuerzo. #NoMasPoderAlPoder

    El día 22 de abril, todos los que decimos #NoMasPoderAlPoder y #ContraElSilencioMX, saldremos a la calles a las 18:00 horas. En la Ciudad de México, la cita es en el Ángel de la Independencia para partir hacia el Senado de la República. En Guadalajara, la cita es en Avenida Chapultepec, esquina Vallarta, rumbo a la delegación de Gobernación de la ciudad. En Monterrey también habrá una marcha.


    Asiste con luces, lámparas o teléfonos para hacer un hashtag humano que pueda ser captado por la cámara que hay sobre la columna del Ángel de la Independencia.


    El 26 de abril, formaremos una cadena humana de Televisa Chapultepec a los Pinos.


    Todos los mensajes se concentrarán en nomaspoderalpoder.org


    Más información:

    http://internetparatodos.mx/leytelecom-pone-en-riesgo-el-derecho-a-la-libertad-de-expresion-en-internet/

    http://internetsequedalibre.tumblr.com/post/82215531492/5-cosas-que-debes-saber-sobre-la-ley-telecom

    http://periodicodigital.com.mx/notas/haz_ruido_con_nosotros_contra_el_silencio#.U1ApMuZ5NeE

    http://contraelsilencio.wordpress.com/
  • Anterior página 1 2 3 4 ... 7 Siguiente página
    61 entradas

    Emblemas

    Energizado por Jaws Project
    Soporta RSS2
    Energizado por Software Libre
    Energizado por Mozila Firefox
    Energizado por Ubuntu Linux
    Energizado por PHP
    Energizado por Apache Web Server
    Energizado por MySQL
    Energizado por SQLite

    Comentarios Recientes