Presentamos nuestro nuevo Robot de análisis de virus para subidas más seguras
A medida que las personas trasladan más partes de su vida a las plataformas digitales, hay más en juego y mantenerlas seguras se vuelve más importante que nunca.
Ya sea que estemos creando aplicaciones nativas, API o aplicaciones web, es nuestra responsabilidad como desarrolladores/ops dedicar una buena cantidad de reflexión y tiempo a proteger a nuestros usuarios de quienes tienen intenciones maliciosas.
Sanear la entrada, usar firewalls, desplegar actualizaciones, limitar qué versiones de SSL se pueden usar: la lista no deja de crecer.
Aparecen desafíos adicionales cuando permites que los usuarios finales suban archivos, ya que en esencia permites que cualquiera que sepa usar un teclado almacene archivos potencialmente maliciosos en tu plataforma, por lo demás cuidadosamente protegida.
Por supuesto, es posible que un archivo malicioso simplemente se quede ahí y no pase nada. Aun así, siempre existe el riesgo de que ocurran cosas malas y deberías tener cuidado con lo siguiente:
Primero que nada, tendrás que tener mucho cuidado de que un archivo malicioso no se ejecute de alguna manera. Probablemente tengas 100 mecanismos para evitarlo: quitar los bits de ejecución, escapar cualquier entrada del usuario, etcétera. Pero siempre hay una forma número 101 de sortear todo eso. Con suficiente tiempo y motivación, un hacker astuto encontrará esa forma y ejecutará su archivo en tu plataforma. Los riesgos van desde la exposición de secretos hasta la destrucción de datos.
En segundo lugar, probablemente permites las subidas de usuarios para que otros usuarios consuman el contenido. Esto significa que, si se ha subido un archivo malicioso, ahora eres un distribuidor de malware. No hay forma de saber si quienes consumen el contenido ejecutarán el archivo, si su antivirus local se activará y hablarán mal de ti, o si transmitirán el virus sin saberlo. Además, si tu contenido es accesible para los rastreadores web, los motores de búsqueda como Google lo notarán, lo que perjudicará tu posicionamiento y, en consecuencia, tu negocio.
Lo mires como lo mires, si pudieras contar con algún tipo de guardián que rechazara troyanos, virus, malware y otras amenazas maliciosas antes de que lleguen a tu plataforma, cualquier riesgo se reduciría drásticamente.
Por eso el equipo de Transloadit se puso manos a la obra y diseñó un Robot completamente nuevo para ayudarte con esto: /file/virusscan.
Aunque la seguridad del 100 % es un mito, /file/virusscan está construido sobre el ampliamente adoptado ClamAV. Al usarlo como guardián, podrá reconocer y rechazar casi 4 millones de troyanos, virus, malware y otras amenazas maliciosas.
Activar esta protección es tan simple como añadir unas pocas líneas a tus instrucciones.
Tal vez tus instrucciones antes convertían las subidas al formato de iPad, extraían algunas miniaturas de vista previa y exportaban los resultados a tu servidor privado vía SFTP:
{
"steps": {
"ipad": {
"use": ":original",
"robot": "/video/encode",
"preset": "ipad-high"
},
"thumbnails": {
"use": "ipad",
"robot": "/video/thumbs"
},
"store": {
"use": [":original", "ipad", "thumbnails"],
"robot": "/sftp/store",
"credentials": "sftp_destination",
"path": "./transloadit-uploads/${unique_prefix}/${file.url_name}"
}
}
}
Estos ejemplos usan el stack de FFmpeg predeterminado actual. Reemplaza
sftp_destination con tus
credenciales de Template de SFTP y elige una ruta de destino en tu
servidor.
Para rechazar malware, añade al principio un Step scanned:
{
"steps": {
"scanned": {
"use": ":original",
"robot": "/file/virusscan"
},
"ipad": {
"use": "scanned",
"robot": "/video/encode",
"preset": "ipad-high"
},
"thumbnails": {
"use": "ipad",
"robot": "/video/thumbs"
},
"store": {
"use": ["scanned", "ipad", "thumbnails"],
"robot": "/sftp/store",
"credentials": "sftp_destination",
"path": "./transloadit-uploads/${unique_prefix}/${file.url_name}"
}
}
}
Como puedes ver, añadimos un Step de análisis. Hicimos que consumiera :original
y cambiamos otros Steps que antes dependían de
:original a nuestro Step scanned recién añadido. Muy
parecido a encadenar con pipes un conjunto de herramientas de unix. ¿No te encanta la flexibilidad de
nuestra lógica de flujo de Assembly? 😄
En este ejemplo típico, hacemos de guardianes en el primer Step. Sin embargo, al igual que funciona nuestro Robot /file/filter, puedes insertar el análisis de virus en cualquier Step. Esto tiene sentido si importas contenido desde otros lugares, como harías con nuestro Robot /http/import. En tal caso, primero importarías, luego analizarías, y solo cuando no encontráramos ninguna amenaza, continuarías codificando y exportando.
Para saber más sobre este Robot, o sobre sus parámetros como
error_on_decline, visita su documentación.
Puedes empezar a usar /file/virusscan hoy mismo con el precio de $/GB de tu plan.
