[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fp8aveF9_F7lqCWWWajqnER_o0Bd1pe5CzDQeyBq_db4":3},{"slug":4,"title":5,"summary":6,"category":7,"author":10,"image_url":16,"image_thumb_url":16,"published_at":17,"updated_at":18,"body_html":19,"keywords":20,"reading_time_minutes":21,"related_articles":22,"related_course":58,"related_specialty":77},"ansible-automatizacion-de-ti","Automatización de arquitectura TI con Ansible","Hola en este artículo vamos a conocer una herramienta de código abierto, llamada Ansible, la cual nos permitirá administrar y configurar servidores, los cuales son muy importante a la hora de enfrentar cualquier tipo de problema, ya sea al momento de actualizar algún servicio, de poder hacer algún cambio a toda nuestra arquitectura, instalar algún nuevo servicio, administrar algún tipo de llave RSA para el manejo de acceso entre otros, pero antes vamos a definir que es posible, su instalación para luego mostrar algunos ejemplos básicos que ocupo en mi dia a dia al momento de configurar una nueva máquina.",{"slug":8,"name":9},"administracion-de-servidores","Administración de Servidores",{"username":11,"name":12,"avatar_url":13,"headline":14,"aboutme":15},"Felipe","Felipe Barrios","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBalVGIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--75c29db071130db1bdbb64cb6ed6b4b0767c7178\u002F12063705_10207273024561428_59106377850244238_n.jpg","CEO at Backtrack Academy","I&#39;m Felipe Barrios CEO of Backtrack Academy ethical hacking community. entrepreneur and developer ruby on rails, Ror became my preferred language, the basis of all my projects, I consider myself a proactive person and passionate about what he does. Currently working as a software developer in scuit, computer security lover I like to work on projects related to digital enterprise.","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBcWtPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--3dd1a6e43c205cb481a01066147a52a18f1ebe08\u002FPost185_NN1.png","2019-01-31T23:10:43-03:00","2026-10-26T18:35:46-03:00","\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Hola en este artículo vamos a conocer una herramienta de código abierto, llamada \u003Cstrong>Ansible\u003C\u002Fstrong>, la cual nos permitirá administrar y configurar servidores, los cuales son muy importante a la hora de enfrentar cualquier tipo de problema, ya sea al momento de actualizar algún servicio, de poder hacer algún cambio a toda nuestra arquitectura, instalar algún nuevo servicio, administrar algún tipo de llave RSA para el manejo de acceso entre otros, pero antes vamos a definir que es posible, su instalación para luego mostrar algunos ejemplos básicos que ocupo en mi día a día al momento de configurar una nueva máquina.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cstrong>¿Qué es ansible?\u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Ansible es una plataforma de software libre para configurar y administrar computadoras. Combina instalación multi-nodo, ejecuciones de tareas ad hoc y administración de configuraciones. Adicionalmente, Ansible es categorizado como una herramienta de orquestación.​\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cstrong>Documentación:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.ansible.com\u002F\">https:\u002F\u002Fwww.ansible.com\u002F\u003C\u002Fa>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong>Ventajas:\u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Módulos i\u003Cspan>nfinitos\u003C\u002Fspan>\u003Cspan>, a\u003C\u002Fspan>\u003Cspan>nsible se envía con una serie de módulos (llamados \"biblioteca de módulos\") que se pueden ejecutar directamente en hosts remotos o mediante Playbooks.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cstrong>Documentación: \u003C\u002Fstrong>\u003Ca href=\"https:\u002F\u002Fdocs.ansible.com\u002Fansible\u002Flatest\u002Fuser_guide\u002Fmodules.html\">https:\u002F\u002Fdocs.ansible.com\u002Fansible\u002Flatest\u002Fuser_guide\u002Fmodules.html\u003C\u002Fa>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong>Conceptos importantes:\u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Primero revisemos algunos términos importantes de Ansible:\u003C\u002Fp>\r\n\u003Cul>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Playbook\u003C\u002Fstrong>, un archivo donde listamos las tareas que se deben ejecutar. Se escribe en formato \u003Ca href=\"https:\u002F\u002Fes.wikipedia.org\u002Fwiki\u002FYAML\">YAML\u003C\u002Fa>\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Task\u003C\u002Fstrong>, un bloque dentro del Playbook que define una acción específica a realizar, pj: instalar un paquete.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Module\u003C\u002Fstrong>, son como plugins que permiten realizar tareas de forma más fácil.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Role\u003C\u002Fstrong>, una forma de ordenar los diferentes Playbooks.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Play\u003C\u002Fstrong>, se refiere a la ejecución de un Playbook.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Facts\u003C\u002Fstrong>, variables dentro de Ansible que contienen información sobre los servidores. Ej: Sistema Operativo, Cantidad de Ram, Direcciones IP, etc.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>\u003Cstrong>Handlers\u003C\u002Fstrong>, código que se usa cuando algo cambia. Por ej: si actualizas el archivo de configuración de Apache, un Handler re-iniciará el servicio httpd.\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\u003Cp>\u003Cstrong>Instalación:\u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode># RedHat\r\n$ yum install ansible\r\n\r\n# Debian y Clones\r\n$ apt-get install ansible\r\n\r\n# En Mac Os X con Homebrew\r\n$ brew install ansible\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>Comprobamos ejecunado el comando \u003Ccode>ansible\u003C\u002Fcode>;\u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>$ ansible\r\n\r\nUsage: ansible &lt;host-pattern&gt; [options]\r\nDefine and run a single task 'playbook' against a set of hosts\r\nOptions:\r\n  -a MODULE_ARGS, --args=MODULE_ARGS\r\n                        module arguments\r\n  --ask-vault-pass      ask for vault password\r\n  -B SECONDS, --background=SECONDS\r\n                        run asynchronously, failing after X seconds\r\n                        (default=N\u002FA)\r\n...\r\nSome modules do not make sense in Ad-Hoc (include, meta, etc)\r\n\r\n\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Ch2> \u003C\u002Fh2>\r\n\u003Ch3>Tus primeros comandos\u003C\u002Fh3>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Ahora que ha instalado \u003Cstrong>Ansible\u003C\u002Fstrong>, es hora de comenzar con algunos conceptos básicos.\u003C\u002Fp>\r\n\u003Cp>Edite (o cree) \u003Ccode>\u002Fetc\u002Fansible\u002Fhosts\u003C\u002Fcode> y coloque uno o más sistemas remotos en él. Su clave SSH pública debe estar ubicada en \u003Ccode>authorized_keys\u003C\u002Fcode> esos sistemas:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>232.12.22.50 \r\nsubdomain.example.org \r\nsubdomain1.example.org\r\n\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Asumiremos que está utilizando \u003Cstrong>claves SSH\u003C\u002Fstrong> para la autenticación. Para configurar el agente SSH para evitar volver a escribir las contraseñas, puede hacer:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>$ ssh-agent bash\r\n$ ssh-add ~ \u002F .ssh \u002F id_rsa\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cbr>Si queremos especificar otro usuario, por ejemplo \u003Ccode>deploy:\u003C\u002Fcode>\u003C\u002Fp>\r\n\u003Cp>\u003Ccode>\u003C\u002Fcode>\u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>ansible.dns.cl ansible_user=deploy\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Ccode>\u003C\u002Fcode>\u003C\u002Fp>\r\n\u003Cp>En caso de crear una instancia en \u003Cstrong>AWS\u003C\u002Fstrong>, y mediante nuestro archivo pem obtenemos acceso:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>ansible.dns.cl ansible_ssh_user=ubuntu ansible_ssh_private_key_file=.\u002Fpem\u002Faws-private.pem\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>Para validar el acceso a los servidores:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>ansible all -m ping\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cspan>\u003Cbr>\u003C\u002Fspan>Ansible intentará conectarse de forma remota a las máquinas con su nombre de usuario actual, al igual que lo haría SSH. Para anular el nombre de usuario remoto, simplemente use el parámetro '-u'.\u003C\u002Fp>\r\n\u003Cp>Si desea acceder al modo sudo, también hay indicadores para hacerlo:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode># como bruce\r\n$ ansible all -m ping -u bruce\r\n# como bruce, sudoing a root\r\n$ ansible all -m ping -u bruce --sudo\r\n# como bruce, sudoing a batman\r\n$ ansible all -m ping -u bruce --sudo --sudo-usuario batman\r\n\r\n# Con la última versión de ansible `sudo` está en desuso, por lo que se convierte en \r\n# as bruce, sudoing to root\r\n$ ansible all -m ping -u bruce -b\r\n# como bruce, sudoing a batman\r\n$ ansible all -m ping -u bruce -b - se convierte en un usuario batman\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Hasta el momento hemos visto cómo realizar la configuración del acceso al servidor, mediante usuario y archivo pem, configuración de archivo host a continuación vamos a ver algunos ejemplos de cómo automatizar nuestras instalaciones mediante \u003Cstrong>task\u003C\u002Fstrong>, para el creamos un archivo con formato yml, en donde indicaremos todas las instrucciones que queremos realizar en el servidor: el archivo lo denominaremos \u003Ccode>task.yml\u003C\u002Fcode>.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Y pasamos una simple instrucción de instalar python en la máquina:\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>- hosts: ansible.dns.cl\r\n  become: true\r\n  gather_facts: no\r\n  tasks:\r\n    - name: apt-get update\r\n      raw: apt-get update -qq\r\n    - name: install python 2.7 and aptitude\r\n      raw: apt-get install -qq python2.7 python-psycopg2 aptitude\r\n    - name: set python 2.7 as default\r\n      raw: update-alternatives --install \u002Fusr\u002Fbin\u002Fpython python \u002Fusr\u002Fbin\u002Fpython2.7 1\r\n\r\n\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>Ejemplo de creación de variables locales y de entorno:\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>  vars:\r\n    # dynamic attributes\r\n    name: name\r\n    dbpassword: mysecretpassword\r\n    dbname: dbname_production\r\n    dbuser: deploy\r\n    environment_config:\r\n      LANGUAGE: en_US.UTF-8\r\n      LC_ALL: en_US.UTF-8\r\n      MEMCACHE_SERVER: 127.0.0.1:11211\r\n      ACCESS_KEY_ID: ''\r\n      SECRET_ACCESS_KEY: ''\r\n      BUCKET: ''\r\n      AWS_REGION: ''\r\n      SENTRY_SIETEA: ''\r\n      SENTRY_SIETEA_REPORT: ''\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Ejemplo de c\u003C\u002Fspan>onfiguración de horario:\u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>  tasks:\r\n    - name: 1.6 Set timezone variables\r\n      copy: \r\n        content: 'America\u002FSantiago'\r\n        dest: \u002Fetc\u002Ftimezone\r\n        owner: root\r\n        group: root\r\n        mode: 0644\r\n        backup: yes\r\n      notify:\r\n        - update timezone\r\n  handlers:\r\n    - name: 1.6 update timezone\r\n      command: dpkg-reconfigure --frontend noninteractive tzdata\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>En caso de querer organizar mejor la estructura, de la instalación de paquetes en mi caso los separó por partials en donde cada uno tiene una función en específica, luego solo las llamo y las ejecutó todas de manera secuencial:\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>  tasks:\r\n    - import_tasks: change_name.yml\r\n    - import_tasks: hosts.yml\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Creacion de usuario:\u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>#\r\n# Creación de usuario deploy\r\n#\r\n  - name: Create user\r\n    user:\r\n      name: deploy\r\n      state: present\r\n      comment: --gecos ''\r\n      shell: \u002Fbin\u002Fbash\r\n      createhome: yes\r\n      home: \u002Fhome\u002Fdeploy\r\n\r\n  - name: SYSTEM - Set authorized key for test_user took from file fbarrios\r\n    tags: system-user\r\n    authorized_key:\r\n      user: ubuntu\r\n      state: present\r\n      key: \"{{ lookup('file', '\u002FUsers\u002Ffbarrios\u002FDocuments\u002Fansible\u002Fpem\u002Fid_rsa_fbarrios.pub') }}\"\r\n\r\n  - name: SYSTEM - Set authorized key for test_user took from file aleliu\r\n    authorized_key:\r\n      user: ubuntu\r\n      state: present\r\n      key: \"{{ lookup('file', '\u002FUsers\u002Ffbarrios\u002FDocuments\u002Fansible\u002Fpem\u002Fid_rsa_cloud9_aleliu.pub') }}\"\r\n\r\n  - name: copy - .ssh\r\n    command: cp -R .ssh\u002F \u002Fhome\u002Fdeploy\u002F\r\n\r\n  - name: chown\r\n    command: chown -R deploy:deploy \u002Fhome\u002Fdeploy\r\n\r\n  - name: Allow 'deploy' group to have passwordless sudo\r\n    lineinfile:\r\n      dest: \u002Fetc\u002Fsudoers\r\n      state: present\r\n      regexp: '^%deploy'\r\n      line: 'deploy ALL=(ALL) NOPASSWD: ALL'\r\n      validate: 'visudo -cf %s'\r\n\r\n\r\n\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Creación de certificado cerbot\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre class=\"language-ruby\">\u003Ccode>#\r\n# Instalación y configuración HTTPS Certbot\r\n#\r\n  - name: Install packages\r\n    apt:\r\n      name: \"{{ item }}\"\r\n      state: present\r\n    with_items:\r\n    - software-properties-common\r\n  - name: Add certbot repository\r\n    apt_repository:\r\n      repo: 'ppa:certbot\u002Fcertbot'\r\n      update_cache: true\r\n  - name: Install packages\r\n    apt:\r\n      name: \"{{ item }}\"\r\n      state: present\r\n    with_items:\r\n    - letsencrypt\r\n    - certbot\r\n    - python-certbot-nginx\r\n\r\n  - name: Generate strong DHE parameter - openssl dhparam\r\n    command: openssl dhparam -out \u002Fetc\u002Fssl\u002Fdhparam.pem 4096 creates=\u002Fetc\u002Fssl\u002Fdhparam.pem\r\n\r\n\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Instalación de ruby\u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>#\r\n# Instalación ruby 2.3.5\r\n#    \r\n  - name: Install ruby 2.3.5\r\n    apt_repository:\r\n      repo: 'ppa:brightbox\u002Fruby-ng'\r\n      update_cache: true\r\n  - name: Install packages\r\n    apt:\r\n      name: \"{{ item }}\"\r\n      state: present\r\n    with_items:\r\n    - ruby2.3\r\n    - ruby2.3-dev\r\n  - name: Install Bundler\r\n    command: bash -lc \"gem install bundler --no-ri --no-rdoc\"\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>Instalar nmap\u003C\u002Fp>\r\n\u003Cpre class=\"language-markup\">\u003Ccode>- name: Instalar nmap\r\n  yum: name=nmap state=latest\u003C\u002Fcode>\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Bueno como hemos visto, con ansible podemos configurar un mundo de aplicaciones, de manera sencilla y mejorando los tiempos de respuestas a la hora de administrar u configurar una maquina, actualmente existen otro tipo de soluciones como docker, kubernetes muy potentes a la hora de adminsitrar una arquitectura, pero no es malo resaltar alternativas a la hora de decirdir que tecnologia utilizar, espero que les sirva y estare compartiendo pequeños scrips que utilizo a la hora de administrar servidores.\u003C\u002Fp>","ansible",7,[23,35,47],{"slug":24,"title":25,"summary":26,"category":27,"author":28,"image_url":32,"image_thumb_url":32,"published_at":33,"updated_at":34},"fortigate-vpn-cve-2018-13379-pre-auth-arbitrary-file-reading","Fortigate VPN: CVE-2018-13379: Pre-auth arbitrary file reading ","En el año 2019 se notificaron de vulnerabilidades a los productos de la empresa Fortinet, reportados por los investigadores niph_ y ramoliks los cuales fueron los CVE...",{"slug":8,"name":9},{"username":29,"name":30,"avatar_url":31},"user-1582119990","José Moreno","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBczhMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--695dbd13093235a9632272a6a98b0c9ef21a0319\u002FJoseMoreno-300x180.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ29QIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ba88ec10e0f75825436bb50263f5370c70843043\u002Fshutterstock_1065245462.jpg","2021-01-26T11:03:02-03:00","2026-10-26T11:20:39-03:00",{"slug":36,"title":37,"summary":38,"category":39,"author":40,"image_url":44,"image_thumb_url":44,"published_at":45,"updated_at":46},"configurando-tenable-io","Conociendo Tenable.Io","Hola! Esta vez después de mucho tiempo de no escribir, quiero presentarles una solución bastante buena para la gestión de vulnerabilidades, si bien es de paga, podríamos considerarla si tenemos el presupuesto. La solución es nombrada como Tenable.Io...",{"slug":8,"name":9},{"username":41,"name":42,"avatar_url":43},"Mroodriguezb","Mario Rodriguez Barraza","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBb1FSIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d5c1cf9e6152977482e3d8a919cee58dc745a65c\u002Fimage_6483441.JPG","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ2NQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4f7cea2f2dc1252534549f015c4d9dafdb00487a\u002Fshutterstock_268150262_(1).jpg","2021-01-21T14:45:22-03:00","2026-10-26T12:26:32-03:00",{"slug":48,"title":49,"summary":50,"category":51,"author":52,"image_url":55,"image_thumb_url":55,"published_at":56,"updated_at":57},"evadiendo-antivirus","Evadiendo AntiVirus","Primero vamos a entender que es un Antivirus, en términos simples es un programa de computadora para prevenir, detectar y remover malware. Su funcionamiento ha crecido y aumentado en eficacia durante el paso del tiempo, pero vamos a entender, como detecta un antivirus, a un virus?.",{"slug":8,"name":9},{"username":53,"name":53,"avatar_url":54},"user-1609041409","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaklNIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--536c91898c7c42c0a3008d37ec317309cb9805cc\u002F9178eae767eec8ff5750bd9a1cfdfe3b.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ1lQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4be339c20f3143adff9c5e1a245e8311ae2458fb\u002Fshutterstock_1402830170-1.jpg","2020-12-28T12:03:58-03:00","2026-10-26T02:44:27-03:00",{"slug":59,"title":60,"summary":61,"level":62,"specialty":63,"category":66,"instructor":67,"image_url":71,"image_thumb_url":71,"duration_seconds":72,"lessons_count":73,"students_count":74,"is_free":75,"coming_soon":75,"updated_at":76},"linux-intermedia","Linux Intermedia ","Experiencias correspondientes a administración de servicios básicos de GNU\u002FLinux","Intermedios",{"slug":64,"name":65},"penetration-testing-and-ethical-hacking-pthh","Penetration Testing Professional",{"slug":8,"name":9},{"username":68,"name":69,"avatar_url":70},"yulytas","Julita Inca","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ1lLIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--da3b2eaadb5f0c6173c6c74e56348d106ca37b2d\u002Fmio.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBamNOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e447286c9044b8fb330f329f24f0cef35c0a5588\u002F7-Linux-Intermedia-02.png",16477,10,1792,false,"2025-02-15T00:32:05-03:00",{"slug":64,"name":65,"summary":78,"level":79,"courses_count":21,"total_duration_seconds":80,"is_free":75,"image_url":81,"icon_url":82,"wallpaper_url":83,"updated_at":84},"Esta certificación tiene como propósito capacitar al estudiante en el área del pentesting y seguridad informática, a travez de casos reales y metodologías usadas por profesionales en el área de seguridad informática se…","Intermedio",124880,"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaU1QIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--87a13f2613e0e2284db890551eb85f0352b99470\u002FProfessional-Penetration-Testing-02.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaWtQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--bb0544c74bee18795524a78c0369e251f2203dc2\u002FPenetration-Testing-Professional.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaThQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--b10ffb6d08acfb082ddd40fc31f71b13d3dc516d\u002FProfessional-Penetration-Testing-03.jpg","2021-05-17T15:38:02-04:00"]