Recommend this page to a friend! |
Classes of Caleb | PHP Mussel | _docs/readme.es.md | Download |
|
DownloadDocumentación para phpMussel (Español).Contenidos
Nota relativa a las traducciones: En caso de errores (por ejemplo, discrepancias entre traducciones, errores tipográficos, etc), la versión en Inglés del README se considera la versión original y autorizada. Si encuentra algún error, su ayuda para corregirlo sera bienvenida. 1. <a name="SECTION1"></a>PREÁMBULOGracias por usar phpMussel, un PHP script diseñado para detectar troyanos, virus, malware y otras amenazas en los archivos subidos en el sistema donde la script está adjunto, basado en las firmas de ClamAV y otros. PHPMUSSEL COPYRIGHT 2013 y más allá GNU/GPLv2 por Caleb M (Maikuolan). Este script es un software gratuito; puede redistribuirlo y/o modificarlo según los términos de la GNU General Public License, publicada por la Free Software Foundation; tanto la versión 2 de la licencia como cualquier versión posterior. Este script es distribuido con la esperanza de que será útil, pero SIN NINGUNA GARANTÍA; también, sin ninguna garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PARTICULAR PROPÓSITO. Vea la GNU General Public License para más detalles, ubicada en el Un especial agradecimiento a ClamAV para la inspiración del proyecto y para las firmas que este script utiliza, sin la cual, la script probablemente no existiría, o en el mejor de, tendría un muy limitado valor. Un especial agradecimiento a SourceForge, Bitbucket y GitHub para alojar los archivos de proyecto, y a las adicionales fuentes de un número de las firmas utilizadas por phpMussel: PhishTank, NLNetLabs, Malware.Expert y otros, y agradecimiento especial a todos aquellos que apoyan el proyecto, a cualquier otra persona que yo haya olvidado de lo contrario mencionar, y a usted, por el uso de la script. Este documento y su paquete asociado puede ser descargado de forma gratuita desde: - GitHub. - Bitbucket. - SourceForge. 2. <a name="SECTION2"></a>CÓMO INSTALAR2.0 INSTALACIÓN MANUAL (PARA NAVEGADORES)1) Dado el hecho que estas leiendo esto, asumo que ya ha descargado y guardado una copia del script, descomprimido sus contenidos, teniendolo en algún lugar en su ordenador. Ahora, usted querrá averiguar en que parte del host o CMS desea colocar estos contenidos. Un directorio como 2) Cambiar el nombre del archivo 3) Subir los contenidos (phpMussel y sus archivos) al directorio que habías decidido previamente (no necessitas incluir los archivos 4) CHMOD al 5) Instale cualquier de las firmas que necesite. Ver: INSTALACIÓN DE FIRMAS. 6) Luego, tendrás que "enganchar" phpMussel a tu sistema o CMS. Hay varias maneras en que usted puede "enganchar" scripts como phpMussel a su sistema o CMS, pero el más fácil es simplemente incluir el script al principio de un archivo central de su sistema o CMS (uno que en general siempre sea cargado cuando alguien accede a cualquier página a través de su web) utilizando un
Guardar archivo, cerrarla, resubir. -- O ALTERNATIVAMENTE -- Si está utilizando un servidor Apache y si usted tiene acceso a
O esto en el archivo
7) Con eso, ya está! Pero, probablemente deberías preubalo para asegurarse de que está funcionando correctamente. Para probar archivos subidos protecciones, probar subir los archivos de prueba incluidos en el paquete dentro 2.1 INSTALACIÓN MANUAL (PARA CLI)1) Con tu leyendo esto, estoy asumiendo que usted ha descargado una copia de la script, descomprimido y tenerlo en algún lugar en su computer. Cuando se ha determinado que usted es feliz con el lugar elegido para phpMussel, continuar. 2) phpMussel requiere PHP para ser instalado en la host máquina para ejecutar. Si usted no has PHP instalado en su máquina, por favor, instalar PHP en su máquina, siguiendo las instrucciones suministradas por el PHP instalador. 3) Opcionalmente (muy recomendable para avanzados usuarios, pero no se recomienda para los principiantes o para los inexpertos), abrir 4) Opcionalmente, usted puede hacer uso de phpMussel en CLI modo más fácil para ti mismo mediante la creación de un batch archivo para automáticamente cargar PHP y phpMussel. Para ello, abra un texto editor como Notepad o Notepad++, escriba la completa ruta al 5) Instale cualquier de las firmas que necesite. Ver: INSTALACIÓN DE FIRMAS. 6) Con eso, ya está! Pero, probablemente deberías preubalo para asegurarse de que está funcionando correctamente. Para probar phpMussel, ejecute phpMussel e probar escanear el directorio 2.2 INSTALACIÓN CON COMPOSERphpMussel está registrado con Packagist, y por lo tanto, si está familiarizado con Composer, puede utilizar Composer para instalar phpMussel (sin embargo, usted todavía necesitará preparar la configuración, los permisos, las firmas y los ganchos; consulte "INSTALACIÓN MANUAL (PARA NAVEGADORES)" pasos 2, 4, 5, y 6).
<a name="INSTALLING_SIGNATURES"></a>2.3 INSTALACIÓN DE FIRMASDesde v1.0.0, las firmas no están incluidas en el paquete phpMussel. Las firmas son requeridas por phpMussel para detectar amenazas específicas. Existen 3 métodos principales para instalar firmas:
2.3.1 Instalar automáticamente mediante el front-end página de actualizaciones.Primeramente, necesitará asegurarse de que el front-end está habilitado. Ver: GESTIÓN DE FRONT-END. Entonces, todo lo que necesitas hacer es ir a el front-end página de actualizaciones, encontrar los archivos de firma necesarios y usar las opciones que se proporcionan en la página, instalarlos y activarlos. 2.3.2 Genere firmas usando "SigTool" e instale manualmente.Ver: SigTool documentación. 2.3.3 Descargue las firmas de "phpMussel/Signatures" e instálelas manualmente.Primeramente, ve a phpMussel/Signatures. El repositorio contiene varios archivos de firma que son comprimidos GZ. Descargue los archivos que necesita, descomprímalos y copie los archivos descomprimidos en el directorio 3. <a name="SECTION3"></a>CÓMO USAR3.0 CÓMO USAR (PARA NAVEGADORES)phpMussel debe ser capaz de funcionar correctamente con requisitos mínimos de su parte: Después de instalarlo, que debería funcionar inmediatamente y ser inmediatamente utilizable. Escaneo de archivos subidos es automatizado y activado como estándar, así, nada se requerida en su nombre por esta particular función. Pero, también es capaz instruirá phpMussel para escanear específicos archivos, directorios y/o compactados archivos. Para ello, primeramente, usted tendrá asegurarse de que la adecuada configuración se establece el la
| Resultados | Descripción | |---|---| | -4 | Indica que los datos no se pudieron escanear debido al cifrado. | | -3 | Indica que se encontraron problemas con los archivos de firmas phpMussel. | | -2 | Indica que se ha corruptos datos detectados durante el escanear y por lo tanto el escanear no pudo completar. | | -1 | Indica que las extensiones o complementos requeridos por PHP para ejecutar el escaneo faltaban y por lo tanto el escanear no pudo completar, 0 indica que la escanear objetivo no existe y por lo tanto no había nada para escanear. | | 0 | Indica que la escanear objetivo no existe y por lo tanto no había nada para escanear. | | 1 | Indica que el objetivo fue escaneado con éxito y no se detectaron problemas. | | 2 | Indica que el objetivo fue escaneado con éxito y se detectaron problemas. |
Ejemplos:
Devuelve algo como esto (como una cadena):
Para una descripción completa del tipo de firmas phpMussel utiliza durante el escanear y la forma en que maneja estas firmas, consulte la sección FORMATOS DE FIRMAS de este archivo README. Si se encuentra algún falsos positivos, si se encuentra con algo nuevo que crees que debería ser bloqueada, o para cualquier otra cosa en relación con las firmas, por favor contacto conmigo al respecto para que pueda hacer los cambios necesarios, para que, si no se comunica conmigo, posiblemente no necesariamente tener en cuenta. (Ver: ¿Qué es un "falso positivo"?). Para desactivar las firmas que se incluyen con phpMussel (por ejemplo, si usted está experimentando un falso positivo específico para sus propósitos que normalmente no debería ser suprimido), agregue los nombres de las firmas específicas que deberían estar deshabilitados a la greylist de firmas ( Ver también: ¿Cómo acceder a detalles específicos sobre los archivos cuando se escanean? 3.1 CÓMO USAR (PARA CLI)Por favor, consulte la sección "INSTALACIÓN MANUAL (PARA CLI)" de este README. También tenga en cuenta que phpMussel es un escáner on-demand; NO es un escáner en tiempo real / on-access (excepto para la carga de archivos, en el momento de carga), y no como antivirus suites convencionales, no supervisa la memoria activa! Es sólo detecta virus contenidas por las carga de archivos, y contenidos en los archivos específicos explícitamente para escaneo. 4. <a name="SECTION4"></a>GESTIÓN DE FRONT-END4.0 CUÁL ES EL FRONT-END.El front-end proporciona una manera cómoda y fácil de mantener, administrar y actualizar la instalación de phpMussel. Puede ver, compartir y descargar archivos de registro a través de la página de registros, puede modificar la configuración a través de la página de configuración, puede instalar y desinstalar componentes a través de la página de actualizaciones, y puede cargar, descargar y modificar archivos en su vault a través del administración de archivos. El front-end está desactivado de forma predeterminada para evitar el acceso no autorizado (el acceso no autorizado podría tener consecuencias significativas para su sitio web y su seguridad). Las instrucciones para habilitarlo se incluyen debajo de este párrafo. 4.1 CÓMO HABILITAR EL FRONT-END.1) Localizar la directiva 2) Accesar 3) Inicie sesión con el nombre del usuario y la contraseña predeterminados (admin/password). Nota: Después de iniciar la sesión por primera vez, con el fin de impedir el acceso no autorizado al front-end, usted debe cambiar inmediatamente su nombre de usuario y su contraseña! Esto es muy importante, ya que es posible subir código arbitrario de PHP a su sitio web a través del front-end. Además, para una seguridad óptima, se recomienda encarecidamente habilitar la "autenticación de dos factores" para todas las cuentas del front-end (se proporcionan instrucciones a continuación). 4.2 CÓMO UTILIZAR EL FRONT-END.Las instrucciones se proporcionan en cada página del front-end, para explicar la manera correcta de usarlo y su propósito. Si necesita más explicaciones o cualquier ayuda especial, póngase en contacto con el soporte. Alternativamente, hay algunos videos disponibles en YouTube que podrían ayudar a modo de demostración. 4.3 AUTENTICACIÓN DE DOS FACTORESEs posible hacer que el front-end sea más seguro habilitando la autenticación de dos factores ("2FA"). Cuando se inicia una sesión usando una cuenta habilitada para 2FA, se envía un correo electrónico a la dirección de correo electrónico asociada con esa cuenta. Este correo electrónico contiene un "código 2FA", que el usuario debe ingresar, además del nombre de usuario y la contraseña, para poder iniciar sesión con esa cuenta. Esto significa que la obtención de una contraseña de cuenta no sería suficiente para que cualquier hacker o posible atacante pueda iniciar sesión en esa cuenta, ya que también necesitarían tener acceso a la dirección de correo electrónico asociada con esa cuenta para poder recibir y utilizar el código 2FA asociado a la sesión, por lo tanto haciendo el front-end más seguro. En primer lugar, para habilitar la autenticación de dos factores, utilizando la página de actualizaciones del front-end, instale el componente PHPMailer. phpMussel utiliza PHPMailer para enviar correos electrónicos. Cabe señalar que aunque phpMussel, por sí mismo, es compatible con PHP >= 5.4.0, PHPMailer requiere PHP >= 5.5.0, lo que significa que no será posible habilitar la autenticación de dos factores para el front-end phpMussel para usuarios de PHP 5.4. Después de instalar PHPMailer, deberá llenar las directivas de configuración de PHPMailer a través de la página de configuración de phpMussel o el archivo de configuración. Se incluye más información sobre estas directivas de configuración en la sección de configuración de este documento. Después de haber llenado las directivas de configuración de PHPMailer, configure A continuación, deberá asociar una dirección de correo electrónico con una cuenta, para que phpMussel sepa a dónde enviar códigos 2FA cuando inicie sesión con esa cuenta. Para hacer esto, use la dirección de correo electrónico como el nombre de usuario de la cuenta (como Nota: Proteger su vault contra el acceso no autorizado (p.ej., a modo de endureciendo la seguridad de su servidor y los permisos de acceso público), es particularmente importante aquí, debido a ese acceso no autorizado a su archivo de configuración (que se almacena en su vault), podría exponer la configuración de SMTP saliente (incluido el nombre de usuario y la contraseña de SMTP). Debe asegurarse de que su vault esté correctamente asegurada antes de habilitar la autenticación de dos factores. Si no puede hacer esto, al menos, debe crear una nueva cuenta de correo electrónico, dedicada a tal fin, para reducir los riesgos asociados con la configuración SMTP expuesta. 5. <a name="SECTION5"></a>CLI (COMANDOS LÍNEA INTERFAZ)phpMussel se puede ejecutar como un interactivo archivos escáner en CLI modo dentro sistemas basados en Windows. Consulte el "CÓMO INSTALAR (PARA CLI)" sección de este archivo README para más detalles. Para obtener una lista de los CLI comandos disponibles, para el CLI aviso, escriba 'c', y pulse Enter. Adicionalmente, para los interesados, un video tutorial de cómo utilizar phpMussel en el modo CLI está disponible aquí: - <https://youtu.be/H-Pa740-utc> 6. <a name="SECTION6"></a>ARCHIVOS INCLUIDOS EN ESTE PAQUETELa siguiente es una lista de todos los archivos que debería haberse incluido en la copia de este script cuando descargado, todos los archivos que pueden ser potencialmente creados como resultado de su uso de este script, junto con una breve descripción de lo que todos estos archivos son para. Esta información se aplica a la versión v1 más reciente y puede que no sea tan relevante para otras versiones. Archivo | Descripción
----|----
/_docs/ | Documentación directorio (contiene varios archivos).
/_docs/readme.ar.md | Documentación Árabe.
/_docs/readme.de.md | Documentación Alemán.
/_docs/readme.en.md | Documentación Inglés.
/_docs/readme.es.md | Documentación Español.
/_docs/readme.fr.md | Documentación Francés.
/_docs/readme.id.md | Documentación Indonesio.
/_docs/readme.it.md | Documentación Italiano.
/_docs/readme.ja.md | Documentación Japonés.
/_docs/readme.ko.md | Documentación Koreano.
/_docs/readme.nl.md | Documentación Holandés.
/_docs/readme.pt.md | Documentación Portugués.
/_docs/readme.ru.md | Documentación Ruso.
/_docs/readme.ur.md | Documentación Urdu.
/_docs/readme.vi.md | Documentación Vietnamita.
/_docs/readme.zh-TW.md | Documentación Chino (tradicional).
/_docs/readme.zh.md | Documentación Chino (simplificado).
/_testfiles/ | Prueba archivos directorio (contiene varios archivos). Todos los archivos contenidos son prueba archivos para probando si phpMussel ha sido instalado correctamente en su sistema, y que no es necesario subir este directorio o cualquiera de sus archivos excepto cuando haciendo tales pruebas.
/_testfiles/ascii_standard_testfile.txt | Prueba archivo para probando phpMussel normalizados ASCII firmas.
/_testfiles/coex_testfile.rtf | Prueba archivo para probando phpMussel complejos extendidas firmas.
/_testfiles/exe_standard_testfile.exe | Prueba archivo para probando phpMussel PE firmas.
/_testfiles/general_standard_testfile.txt | Prueba archivo para probando phpMussel generales firmas.
/_testfiles/graphics_standard_testfile.gif | Prueba archivo para probando phpMussel gráficas firmas.
/_testfiles/html_standard_testfile.html | Prueba archivo para probando phpMussel normalizados HTML firmas.
/_testfiles/md5_testfile.txt | Prueba archivo para probando phpMussel MD5 firmas.
/_testfiles/ole_testfile.ole | Prueba archivo para probando phpMussel OLE firmas.
/_testfiles/pdf_standard_testfile.pdf | Prueba archivo para probando phpMussel PDF firmas.
/_testfiles/pe_sectional_testfile.exe | Prueba archivo para probando phpMussel PE Secciónal firmas.
/_testfiles/swf_standard_testfile.swf | Prueba archivo para probando phpMussel SWF firmas.
/vault/ | Vault directorio (contiene varios archivos).
/vault/cache/ | Cache directorio (para los datos temporal).
/vault/cache/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/classes/ | Directorio de clases. Contiene varias clases utilizadas por phpMussel.
/vault/classes/Maikuolan/ | Directorio de clases. Contiene varias clases utilizadas por phpMussel.
/vault/classes/Maikuolan/Cache.php | Un controlador de caché simple y unificado.
/vault/classes/Maikuolan/ComplexStringHandler.php | Controlador para cadenas complejas.
/vault/classes/Maikuolan/L10N.php | Controlador para L10N.
/vault/classes/Maikuolan/YAML.php | Controlador para YAML.
/vault/classes/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/classes/ArchiveHandler.php | Responsable del manejo de archivos.
/vault/classes/CompressionHandler.php | Responsable del manejo de la compresión de archivos.
/vault/classes/TemporaryFileHandler.php | Responsable de crear y manejar archivos temporales.
/vault/fe_assets/ | Archivos de front-end.
/vault/fe_assets/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/fe_assets/_2fa.html | Un archivo HTML utilizada al pedirle al usuario un código 2FA.
/vault/fe_assets/_accounts.html | Un archivo HTML para el front-end página de cuentas.
/vault/fe_assets/_accounts_row.html | Un archivo HTML para el front-end página de cuentas.
/vault/fe_assets/_cache.html | Un archivo HTML para el front-end página del datos de caché.
/vault/fe_assets/_config.html | Un archivo HTML para el front-end página de configuración.
/vault/fe_assets/_config_row.html | Un archivo HTML para el front-end página de configuración.
/vault/fe_assets/_files.html | Un archivo HTML para el administración de archivos.
/vault/fe_assets/_files_edit.html | Un archivo HTML para el administración de archivos.
/vault/fe_assets/_files_rename.html | Un archivo HTML para el administración de archivos.
/vault/fe_assets/_files_row.html | Un archivo HTML para el administración de archivos.
/vault/fe_assets/_home.html | Un archivo HTML para el front-end página principal.
/vault/fe_assets/_login.html | Un archivo HTML para el front-end página de login.
/vault/fe_assets/_logs.html | Un archivo HTML para el front-end página de los archivos de registro.
/vault/fe_assets/_nav_complete_access.html | Un archivo HTML para el menú de navegación de front-end, para aquellos con acceso completo.
/vault/fe_assets/_nav_logs_access_only.html | Un archivo HTML para el menú de navegación de front-end, para aquellos con acceso de registros solamente.
/vault/fe_assets/_quarantine.html | Un archivo HTML para el front-end página de cuarentena.
/vault/fe_assets/_quarantine_row.html | Un archivo HTML para el front-end página de cuarentena.
/vault/fe_assets/_siginfo.html | Un archivo HTML para el front-end página de información de firmas.
/vault/fe_assets/_siginfo_row.html | Un archivo HTML para el front-end página de información de firmas.
/vault/fe_assets/_statistics.html | Un archivo HTML para el front-end página de estadísticas.
/vault/fe_assets/_updates.html | Un archivo HTML para el front-end página de actualizaciones.
/vault/fe_assets/_updates_row.html | Un archivo HTML para el front-end página de actualizaciones.
/vault/fe_assets/_upload_test.html | Un archivo HTML para la subir prueba.
/vault/fe_assets/frontend.css | Hoja de estilo CSS para el front-end.
/vault/fe_assets/frontend.dat | Base de datos para el front-end (contiene información de las cuentas y las sesiones; sólo se genera si el front-end está activado y utilizado).
/vault/fe_assets/frontend.dat.safety | Generado como un mecanismo de seguridad cuando es necesario.
/vault/fe_assets/frontend.html | El archivo HTML principal para el front-end.
/vault/fe_assets/icons.php | Archivo de iconos (utilizado por el administración de archivos del front-end).
/vault/fe_assets/pips.php | Archivo de pips (utilizado por el administración de archivos del front-end).
/vault/fe_assets/scripts.js | Contiene datos de JavaScript del front-end.
/vault/lang/ | Contiene lingüísticos datos.
/vault/lang/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/lang/lang.ar.fe.php | Lingüísticos datos Árabe para el front-end.
/vault/lang/lang.ar.php | Lingüísticos datos Árabe.
/vault/lang/lang.bn.fe.php | Lingüísticos datos Bangla para el front-end.
/vault/lang/lang.bn.php | Lingüísticos datos Bangla.
/vault/lang/lang.de.fe.php | Lingüísticos datos Alemán para el front-end.
/vault/lang/lang.de.php | Lingüísticos datos Alemán.
/vault/lang/lang.en.fe.php | Lingüísticos datos Inglés para el front-end.
/vault/lang/lang.en.php | Lingüísticos datos Inglés.
/vault/lang/lang.es.fe.php | Lingüísticos datos Español para el front-end.
/vault/lang/lang.es.php | Lingüísticos datos Español.
/vault/lang/lang.fr.fe.php | Lingüísticos datos Francés para el front-end.
/vault/lang/lang.fr.php | Lingüísticos datos Francés.
/vault/lang/lang.hi.fe.php | Lingüísticos datos Hindi para el front-end.
/vault/lang/lang.hi.php | Lingüísticos datos Hindi.
/vault/lang/lang.id.fe.php | Lingüísticos datos Indonesio para el front-end.
/vault/lang/lang.id.php | Lingüísticos datos Indonesio.
/vault/lang/lang.it.fe.php | Lingüísticos datos Italiano para el front-end.
/vault/lang/lang.it.php | Lingüísticos datos Italiano.
/vault/lang/lang.ja.fe.php | Lingüísticos datos Japonés para el front-end.
/vault/lang/lang.ja.php | Lingüísticos datos Japonés.
/vault/lang/lang.ko.fe.php | Lingüísticos datos Koreano para el front-end.
/vault/lang/lang.ko.php | Lingüísticos datos Koreano.
/vault/lang/lang.nl.fe.php | Lingüísticos datos Holandés para el front-end.
/vault/lang/lang.nl.php | Lingüísticos datos Holandés.
/vault/lang/lang.pt.fe.php | Lingüísticos datos Portugués para el front-end.
/vault/lang/lang.pt.php | Lingüísticos datos Portugués.
/vault/lang/lang.ru.fe.php | Lingüísticos datos Ruso para el front-end.
/vault/lang/lang.ru.php | Lingüísticos datos Ruso.
/vault/lang/lang.th.fe.php | Lingüísticos datos Tailandés para el front-end.
/vault/lang/lang.th.php | Lingüísticos datos Tailandés.
/vault/lang/lang.tr.fe.php | Lingüísticos datos Turco para el front-end.
/vault/lang/lang.tr.php | Lingüísticos datos Turco.
/vault/lang/lang.ur.fe.php | Lingüísticos datos Urdi para el front-end.
/vault/lang/lang.ur.php | Lingüísticos datos Urdu.
/vault/lang/lang.vi.fe.php | Lingüísticos datos Vietnamita para el front-end.
/vault/lang/lang.vi.php | Lingüísticos datos Vietnamita.
/vault/lang/lang.zh-tw.fe.php | Lingüísticos datos Chino (tradicional) para el front-end.
/vault/lang/lang.zh-tw.php | Lingüísticos datos Chino (tradicional).
/vault/lang/lang.zh.fe.php | Lingüísticos datos Chino (simplificado) para el front-end.
/vault/lang/lang.zh.php | Lingüísticos datos Chino (simplificado).
/vault/quarantine/ | Directorio de cuarentena (contiene los cuarentenadas archivos).
/vault/quarantine/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/signatures/ | Directorio de firmas (contiene los archivos de firmas).
/vault/signatures/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/signatures/switch.dat | Esto controla y establece ciertas variables.
/vault/.htaccess | Un hipertexto acceso archivo (en este caso, para proteger confidenciales archivos perteneciente a la script contra el acceso de fuentes no autorizadas).
/vault/.travis.php | Utilizado por Travis CI para pruebas (no se requiere para usar la script).
/vault/.travis.yml | Utilizado por Travis CI para pruebas (no se requiere para usar la script).
/vault/cli.php | Controlador para el CLI modo.
/vault/components.dat | Archivo de metadatos de componentes; Utilizado por la página de actualizaciones del front-end.
/vault/config.ini.RenameMe | Archivo de configuración; Contiene todas las opciones de configuración para phpMussel, instruyendo para qué hacer y cómo operar correctamente (cambiar el nombre para activar).
/vault/config.php | Módulo de configuración.
/vault/config.yaml | Archivo de valores predefinidos para la configuración; Contiene valores predefinidos para la configuración de phpMussel.
/vault/frontend.php | Controlador para el front-end.
/vault/frontend_functions.php | Archivo de funciones del front-end.
/vault/functions.php | Archivo de funciones (esencial).
/vault/greylist.csv | CSV de las firmas en la greylist indicando para phpMussel las firmas que deben ser ignorados (archivo será recreado automáticamente si eliminado).
/vault/lang.php | Lingüísticos datos.
/vault/php5.4.x.php | Polyfills para PHP 5.4.X (necesario para la retrocompatibilidad de PHP 5.4.X; seguro para eliminar por versiones más recientes de PHP).
/vault/plugins.dat | Archivo de metadatos de complementos; Utilizado por la página de actualizaciones del front-end.
? /vault/scan_kills.txt | Un registro de todos archivos subidos bloqueado/asesinado por phpMussel.
? /vault/scan_log.txt | Un registro de todo escaneado por phpMussel.
? /vault/scan_log_serialized.txt | Un registro de todo escaneado por phpMussel.
/vault/shorthand.yaml | Contiene varios identificadores de firma para ser procesados por phmMussel cuando se interpreta la taquigrafía de las firmas durante un escaneo y cuando se accede a la información de firmas a través del front-end.
/vault/signatures.dat | Archivo de metadatos de firmas; Utilizado por la página de actualizaciones del front-end.
/vault/template_custom.html | Template archivo; Plantilla para HTML salida producida por phpMussel para sus bloqueados archivos subidos mensaje (el mensaje visto por el subidor).
/vault/template_default.html | Template archivo; Plantilla para HTML salida producida por phpMussel para sus bloqueados archivos subidos mensaje (el mensaje visto por el subidor).
/vault/themes.dat | Archivo de metadatos de temas; Utilizado por la página de actualizaciones del front-end.
/vault/upload.php | Controlador de subidas.
/.gitattributes | Un archivo de la GitHub proyecto (no se requiere para usar la script).
/.gitignore | Un archivo de la GitHub proyecto (no se requiere para usar la script).
/Changelog-v1.txt | Un registro de los cambios realizados en la principal script entre las diferentes versiones (no se requiere para usar la script).
/composer.json | Composer/Packagist información (no se requiere para usar la script).
/CONTRIBUTING.md | Información en respecto a cómo contribuir al proyecto.
/LICENSE.txt | Una copia de la GNU/GPLv2 licencia (no se requiere para usar la script).
/loader.php | El cargador. Esto es lo que se supone debe enganchando (esencial).
/PEOPLE.md | Información en respecto a las personas involucradas en el proyecto.
/README.md | Sumario información del proyecto.
/web.config | Un ASP.NET configuración archivo (en este caso, para proteger la ? Nombre del archivo puede variar basado de las estipulaciones de configuración (en 7. <a name="SECTION7"></a>OPCIONES DE CONFIGURACIÓNLa siguiente es una lista de variables encuentran en la general | signatures | files | attack_specific :--|:--|:--|:-- cleanup<br />scan_log<br />scan_log_serialized<br />scan_kills<br />truncate<br />log_rotation_limit<br />log_rotation_action<br />timezone<br />timeOffset<br />timeFormat<br />ipaddr<br />enable_plugins<br />forbid_on_block<br />delete_on_sight<br />lang<br />numbers<br />quarantine_key<br />quarantine_max_filesize<br />quarantine_max_usage<br />quarantine_max_files<br />honeypot_mode<br />scan_cache_expiry<br />disable_cli<br />disable_frontend<br />max_login_attempts<br />FrontEndLog<br />disable_webfonts<br />maintenance_mode<br />default_algo<br />statistics<br /> | Active<br />fail_silently<br />fail_extensions_silently<br />detect_adware<br />detect_joke_hoax<br />detect_pua_pup<br />detect_packer_packed<br />detect_shell<br />detect_deface<br />detect_encryption<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | max_uploads<br />filesize_limit<br />filesize_response<br />filetype_whitelist<br />filetype_blacklist<br />filetype_greylist<br />check_archives<br />filesize_archives<br />filetype_archives<br />max_recursion<br />block_encrypted_archives<br />max_files_in_archives<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | chameleon_from_php<br />can_contain_php_file_extensions<br />chameleon_from_exe<br />chameleon_to_archive<br />chameleon_to_doc<br />chameleon_to_img<br />chameleon_to_pdf<br />archive_file_extensions<br />block_control_characters<br />corrupted_exe<br />decode_threshold<br />scannable_threshold<br />allow_leading_trailing_dots<br />block_macros<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> compatibility | heuristic | virustotal | urlscanner ignore_upload_errors<br />only_allow_images<br /><br /><br /><br /> | threshold<br /><br /><br /><br /><br /> | vt_public_api_key<br />vt_suspicion_level<br />vt_weighting<br />vt_quota_rate<br />vt_quota_time<br /> | lookup_hphosts<br />google_api_key<br />maximum_api_lookups<br />maximum_api_lookups_response<br />cache_time<br /> legal | template_data | PHPMailer | supplementary_cache_options pseudonymise_ip_addresses<br />privacy_policy<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | theme<br />Magnification<br />css_url<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | EventLog<br />SkipAuthProcess<br />Enable2FA<br />Host<br />Port<br />SMTPSecure<br />SMTPAuth<br />Username<br />Password<br />setFromAddress<br />setFromName<br />addReplyToAddress<br />addReplyToName<br /> | enable_apcu<br />enable_memcached<br />enable_redis<br />enable_pdo<br />memcached_host<br />memcached_port<br />redis_host<br />redis_port<br />redis_timeout<br />pdo_dsn<br />pdo_username<br />pdo_password<br /><br /> "general" (Categoría)General configuración para phpMussel. "cleanup"
"scan_log"
"scan_log_serialized"
"scan_kills"
Consejo útil: Si usted quieres, puede añadir información en fecha/hora a los nombres de los archivos de registro mediante la inclusión de éstos en el nombre: Ejemplos:
- "truncate"
"log_rotation_limit"
"log_rotation_action"
Clarificación técnica: En este contexto, "más antiguo" significa modificado menos recientemente. "timezone"
"timeOffset"
"timeFormat"
"ipaddr"
Valores recomendados para "ipaddr": Valor | Utilizando
---|---
"enable_plugins"
"forbid_on_block"
"delete_on_sight"
"lang"
"numbers"
Valores soportados actualmente: Valor | Produce | Descripción
---|---|---
Nota: Estos valores no están estandarizados en ninguna parte, y probablemente no sean relevantes más allá del paquete. Además, los valores soportados pueden cambiar en el futuro. "quarantine_key"
"quarantine_max_filesize"
"quarantine_max_usage"
"quarantine_max_files"
"honeypot_mode"
"scan_cache_expiry"
"disable_cli"
"disable_frontend"
"max_login_attempts"
"FrontEndLog"
"disable_webfonts"
"maintenance_mode"
"default_algo"
"statistics"
"signatures" (Categoría)Configuración de firmas. "Active"
Nota: - Los archivos de firma deben estar primero instalados, antes de poder activarlos. - Para que los archivos de prueba funcionen correctamente, los archivos de firma deben estar instalados y activados. - El valor de esta directiva se almacena en caché. Después de cambiarlo, para que los cambios surtan efecto, es posible que deba eliminar el caché. "fail_silently"
"fail_extensions_silently"
"detect_adware"
"detect_joke_hoax"
"detect_pua_pup"
"detect_packer_packed"
"detect_shell"
"detect_deface"
"detect_encryption"
"files" (Categoría)General configuración para el manejo de archivos. "max_uploads"
"filesize_limit"
"filesize_response"
"filetype_whitelist", "filetype_blacklist", "filetype_greylist"
"check_archives"
Formato | Puede leer | Puede leer recursivamente | Puede detectar el cifrado | Notas ---|---|---|---|--- Zip | ?? | ?? | ?? | Requiere libzip (normalmente empaquetado con PHP de todos modos). También soportado (usa el formato zip): ?? Detección de objetos OLE. ?? Detección de macros Office. Tar | ?? | ?? | ? | Ningún requerimiento especial. El formato no soporte el cifrado. Rar | ?? | ?? | ?? | Requiere la extensión rar (cuando esta extensión no está instalada, phpMussel no puede leer archivos rar). 7zip | ? | ? | ? | Todavía estoy investigando cómo leer archivos 7zip en phpMussel. Phar | ? | ? | ? | Soporte para leer de archivos phar fue removido en v1.6.0 y no se agregará nuevamente, debido a preocupaciones de seguridad. Si alguien puede y está dispuesto a ayudar a implementar el soporte para leer otros formatos de archivo, dicha ayuda sería bienvenida. "filesize_archives"
"filetype_archives"
"max_recursion"
"block_encrypted_archives"
"max_files_in_archives"
"attack_specific" (Categoría)Configuración para ataque específicas detecciones. Detección de ataques de camaleón: False = Desactivado; True = Activado. "chameleon_from_php"
"can_contain_php_file_extensions"
"chameleon_from_exe"
"chameleon_to_archive"
"chameleon_to_doc"
"chameleon_to_img"
"chameleon_to_pdf"
"archive_file_extensions"
"block_control_characters"
"corrupted_exe"
"decode_threshold"
"scannable_threshold"
"allow_leading_trailing_dots"
"block_macros"
"compatibility" (Categoría)Compatibilidad directivas para phpMussel. "ignore_upload_errors"
"only_allow_images"
"heuristic" (Categoría)Heurísticas directivas para phpMussel. "threshold"
"virustotal" (Categoría)Configuración para Virus Total integración. "vt_public_api_key"
Notar: Si escanear archivos utilizar la Virus Total API está desactivado, usted no tendrá requiere revisar cualquiera de las directivas en esta categoría ( "vt_suspicion_level"
Notar: Independientemente de sospecha nivel, cualquieres archivos que están en la blacklist o whitelist para phpMussel no hará ser escaneado usando el Virus Total API, porque esos dichos archivos podrían ya han sido declarados ya sea como malicioso o benigno por phpMussel por el momento en que ellos podría han sido escaneados por el Virus Total API, y por lo tanto, adicional escaneando no sería necesaria. La capacidad de phpMussel para escanear archivos utilizando el Virus Total API es destinado para construir mayor confianza como a si un archivo es malicioso o benigno en aquellos circunstancias en que phpMussel no es enteramente seguro de si un archivo es malicioso o benigno. "vt_weighting"
"vt_quota_rate" y "vt_quota_time"
"urlscanner" (Categoría)Se incluye un escáner URL con phpMussel, capaz de detectar las maliciosas URL desde el interior de los datos o archivos escaneados. Notar: Si la URL escáner está desactivado, usted no tendrá que revisar cualquiera de las directivas en esta categoría ( URL escáner API configuración. "lookup_hphosts"
"google_api_key"
"maximum_api_lookups"
"maximum_api_lookups_response"
"cache_time"
"legal" (Categoría)Configuración relacionada con los requisitos legales. Para obtener más información acerca de los requisitos legales y cómo esto podría afectar sus requisitos de configuración, consulte la sección "INFORMACIÓN LEGAL" de la documentación. "pseudonymise_ip_addresses"
"privacy_policy"
"template_data" (Categoría)Directivas/Variables para las plantillas y temas. Plantilla datos es relacionados a la HTML utilizado generar el "Subida Denegada" mensaje que muestra a los usuarios cuando una archivo subido está bloqueado. Si utiliza temas personalizados para phpMussel, HTML se obtiene a partir del "theme"
"Magnification"
"css_url"
"PHPMailer" (Categoría)Configuración de PHPMailer. Actualmente, phpMussel usa PHPMailer solo para la autenticación de dos factores de front-end. Si no usa el front-end, o si no usa la autenticación de dos factores para el front-end, puede ignorar estas directivas. "EventLog"
"SkipAuthProcess"
"Enable2FA"
"Host"
"Port"
"SMTPSecure"
"SMTPAuth"
"Username"
"Password"
"setFromAddress"
"setFromName"
"addReplyToAddress"
"addReplyToName"
"supplementary_cache_options" (Categoría)Opciones de caché complementarias. Actualmente, esto es extremadamente experimental, y podría no comportarse como se esperaba! Por el momento, recomiendo ignorarlo. "enable_apcu"
"enable_memcached"
"enable_redis"
"enable_pdo"
"memcached_host"
"memcached_port"
"redis_host"
"redis_port"
"redis_timeout"
"pdo_dsn"
"pdo_username"
"pdo_password"
8. <a name="SECTION8"></a>FORMATOS DE FIRMASVer también: - ¿Qué es una "firma"? Los primeros 9 bytes Tipo | Byte | Descripción
---|---|---
El siguiente byte Cada línea después de que no está vacía es una firma o regla. Cada firma o regla ocupa una línea. Los formatos de firmas soportados se describen a continuación. FIRMAS BASADAS EN LAS NOMBRES DEL ARCHIVOSTodas firmas basadas en las nombres del archivos seguir el formato:
Donde NOMBRE es el nombre a citar para esa firma y FNRX es la regular expresión para cotejar nombres de archivos (sin codificar) con. HASH FIRMASTodos HASH firmas seguir el formato:
Donde HASH es el hash (usualmente MD5) de un entero archivo, TAMAÑO es el total tamaño de eso archivo y NOMBRE es el nombre a citar para esa firma. PE SECCIÓNAL FIRMASTodos PE Secciónal firmas seguir el formato:
Donde HASH es el hash MD5 de una sección del PE archivo, TAMAÑO es el total tamaño de esa sección y NOMBRE es el nombre a citar para esa firma. PE EXTENDIDAS FIRMASTodos PE extendidas firmas seguir el formato:
Donde $VAR es el nombre de la PE variable para comprobar contra, HASH es el hash MD5 de esa variable, TAMAÑO es el total tamaño de esa variable y NOMBRE es el nombre de citar para esa firma. COMPLEJOS EXTENDIDAS FIRMASComplejos extendidas firmas son bastante diferentes a los otros tipos de firmas posibles con phpMussel, en que qué ellos son cotejando contra se especificado por las firmas ellos mismos y que ellos pueden cotejar contra múltiples criterios. La cotejar criterios están delimitados por ";" y la cotejar tipo y cotejar datos de cada cotejar criterio es delimitado por ":" como tal que formato para estas firmas tiene tendencia a aparecer como:
TODO LO DEMÁSTodas las demás firmas seguir el formato:
Donde NOMBRE es el nombre a citar para esa firma y HEX es un hexadecimal codificado segmento del archivo propuesto para ser comprobado por la firma dado. DESDE y PARA son opcionales parámetros, indicando desde cual y para cual posiciones en los datos de origen a cotejar contra. REGEX (REGULAR EXPRESSIONS)Cualquier forma de regex entendido y correctamente procesado por PHP también debe entenderse y procesado correctamente por phpMussel y sus firmas. Pero, yo sugeriría tomar mucho cuidado cuando escribiendo nuevas firmas basado en regex, porque, si no estás del todo seguro de lo que estás haciendo, puede haber altamente irregulares e/o inesperados resultados. Mirar el código fuente para phpMussel si no estás del todo seguro sobre el contexto de que las regex declaraciones son procesado. También, recordar que todos los patrones (con excepción para nombre de archivo, compactado archivo metadato y MD5 patrones) debe ser hexadecimal codificado (con excepción de la patrón sintaxis)! 9. <a name="SECTION9"></a>CONOCIDOS PROBLEMAS DE COMPATIBILIDADPHP y PCRE
ANTI-VIRUS SOFTWARE COMPATIBILIDADEn su mayor parte, phpMussel debe ser bastante compatible con la mayoría de anti-virus software. Aunque, conflictividades han sido reportados por un número de usuarios en el pasado. Esta información de abajo es de VirusTotal.com, y describe un número de falsos positivos reportados por diversos anti-virus programas contra phpMussel. Aunque esta información no es una garantía absoluta de si o no se encontrará con compatibilidad problemas entre phpMussel y su anti-virus software, se su anti-virus software se observa como marcar contra phpMussel, usted debe considerar desactivarlo antes de trabajar con phpMussel o debería considerar opciones alternativas a de su anti-virus software o phpMussel. Esta información ha sido actualizado 2018.10.09 y es a hoy para todas las phpMussel versiones de la dos más recientes menores versiones (v1.5.0-v1.6.0) al momento de escribir esto. Esta información solo se aplica al paquete principal. Los resultados pueden variar según los archivos de firmas instalados, los complementos, y otros componentes periféricos. | Escáner | Resultados | |---|---| | Bkav | Informa como "VEX.Webshell" | 10. <a name="SECTION10"></a>PREGUNTAS MÁS FRECUENTES (FAQ)
<a name="WHAT_IS_A_SIGNATURE"></a>¿Qué es una "firma"?En el contexto de phpMussel, una "firma" se refiere a datos que actúan como un indicador/identificador para algo específico que estamos buscando, generalmente en la forma de algún segmento muy pequeño, distinto e inocuo de algo más grande y de otra manera nocivo, como un virus o un troyano, o en la forma de una suma de comprobación de archivo, hash u otro indicador de identificación similar, and usually includes a label, y generalmente incluye una etiqueta, y algunos otros datos para ayudar a proporcionar algún contexto adicional que puede ser utilizado por phpMussel para determinar la mejor manera de proceder cuando se encuentra con lo que estamos buscando. <a name="WHAT_IS_A_FALSE_POSITIVE"></a>¿Qué es un "falso positivo"?El término "falso positivo" (alternativamente: "error falso positivo"; "falsa alarma"; Inglés: false positive; false positive error; false alarm), descrito muy simplemente, y en un contexto generalizado, se utiliza cuando se prueba para una condición, para referirse a los resultados de esa prueba, cuando los resultados son positivos (es decir, la condición se determina como "positivo", o "verdadero"), pero se espera que sean (o debería haber sido) negativo (es decir, la condición, en realidad, es "negativo", o "falso"). Un "falso positivo" podría considerarse análoga a "llorando lobo" (donde la condición que se está probando es si hay un lobo cerca de la manada, la condición es "falso" en el que no hay lobo cerca de la manada, y la condición se reporta como "positiva" por el pastor a modo de llamando "lobo, lobo"), o análogos a situaciones en las pruebas médicas donde un paciente es diagnosticado con alguna enfermedad o dolencia, cuando en realidad, no tienen tal enfermedad o dolencia. Algunos términos relacionados para cuando se prueba para un condición son "verdadero positivo", "verdadero negativo" y "falso negativo". Un "verdadero positivo" se refiere a cuando los resultados de la prueba y el estado real de la condición son ambas verdaderas (o "positivas"), y un "verdadero negativo" se refiere a cuando los resultados de la prueba y el estado real de la condición son ambas falsas (o "negativas"); Un "verdadero positivo" o "negativo verdadero" se considera que es una "inferencia correcta". La antítesis de un "falso positivo" es un "falso negativo"; Un "falso negativo" se refiere a cuando los resultados de la prueba son negativos (es decir, la condición se determina como "negativo", o "falso"), pero se espera que sean (o debería haber sido) positivo (es decir, la condición, en realidad, es "positivo", o "verdadero"). En el contexto de phpMussel, estos términos se refieren a las firmas de phpMussel y los archivos que se bloquean. Cuando phpMussel se bloquean un archivo debido al mal, obsoleta o firmas incorrectas, pero no debería haber hecho, o cuando lo hace por las razones equivocadas, nos referimos a este evento como un "falso positivo". Cuando phpMussel no puede bloquear un archivo que debería haber sido bloqueado, debido a las amenazas imprevistas, firmas perdidas o déficit en sus firmas, nos referimos a este evento como una "detección perdida" o "missed detection" (que es análogo a un "falso negativo"). Esto se puede resumir en la siguiente tabla: | phpMussel NO debe bloquear un archivo | phpMussel DEBE bloquear un archivo ---|---|--- phpMussel NO hace bloquear un archivo | Verdadero negativo (inferencia correcta) | Detección perdida (análogo a un falso negativo) phpMussel HACE bloquear un archivo | __Falso positivo__ | Verdadero positivo (inferencia correcta) <a name="SIGNATURE_UPDATE_FREQUENCY"></a>¿Con qué frecuencia se actualizan las firmas?La frecuencia de actualización varía dependiendo de los archivos de firma en cuestión. Todos los mantenedores de los archivos de firma para phpMussel generalmente tratan de mantener sus firmas tan actualizadas como sea posible, pero como todos nosotros tenemos varios otros compromisos, nuestras vidas fuera del proyecto, y como ninguno de nosotros es financieramente compensado (o pagado) por nuestros esfuerzos en el proyecto, no se puede garantizar un calendario de actualización preciso. Generalmente, las firmas se actualizan siempre que haya suficiente tiempo para actualizarlas. La ayuda siempre es apreciada si usted está dispuesto a ofrecer cualquiera. <a name="ENCOUNTERED_PROBLEM_WHAT_TO_DO"></a>¡He encontrado un problema mientras uso phpMussel y no sé qué hacer al respecto! ¡Por favor ayuda!
<a name="MINIMUM_PHP_VERSION"></a>Quiero usar phpMussel (antes de v2) con una versión de PHP más vieja que 5.4.0; ¿Puede usted ayudar?No. PHP >= 5.4.0 es un requisito mínimo para phpMussel < v2. <a name="MINIMUM_PHP_VERSION_V2"></a>Quiero usar phpMussel (v2) con una versión de PHP más vieja que 7.2.0; ¿Puede usted ayudar?No. PHP >= 7.2.0 es un requisito mínimo para phpMussel v2. Ver también: Gráficos de Compatibilidad. <a name="PROTECT_MULTIPLE_DOMAINS"></a>¿Puedo usar una sola instalación de phpMussel para proteger múltiples dominios?Sí. Las instalaciones de phpMussel no están ligados naturalmente en dominios específicos, y por lo tanto puede ser utilizado para proteger múltiples dominios. En general, nos referimos a las instalaciones de phpMussel que protegen solo un dominio como "instalaciones solo-dominio" ("single-domain installations"), y nos referimos a las instalaciones de phpMussel que protegen múltiples dominios y/o subdominios como "instalaciones multi-dominio" ("multi-domain installations"). Si utiliza una instalación multi-dominio y es necesario utilizar diferentes conjuntos de archivos de firmas para diferentes dominios, o si phpMussel debe configurarse de manera diferente para diferentes dominios, es posible hacer esto. Después de cargar el archivo de configuración ( <a name="PAY_YOU_TO_DO_IT"></a>No quiero molestarme con la instalación de este y conseguir que funcione con mi sitio web; ¿Puedo pagarte por hacer todo por mí?Quizás. Esto se considera caso por caso. Háganos saber lo que necesita, lo que está ofreciendo y le diremos si podemos ayudar. <a name="HIRE_FOR_PRIVATE_WORK"></a>¿Puedo contratar a usted oa cualquiera de los desarrolladores de este proyecto para el trabajo privado?Ver la respuesta anterior. <a name="SPECIALIST_MODIFICATIONS"></a>Necesito modificaciones especiales, personalizaciones, etc; ¿Puede usted ayudar?Ver la respuesta anterior. <a name="ACCEPT_OR_OFFER_WORK"></a>Soy desarrollador, diseñador de sitios web o programador. ¿Puedo aceptar u ofrecer trabajos relacionados con este proyecto?Sí. Nuestra licencia no lo prohíbe. <a name="WANT_TO_CONTRIBUTE"></a>Quiero contribuir al proyecto; ¿Puedo hacer esto?Sí. Las contribuciones al proyecto son muy bienvenidas. Consulte "CONTRIBUTING.md" para obtener más información. <a name="SCAN_DEBUGGING"></a>¿Cómo acceder a detalles específicos sobre los archivos cuando se escanean?Puede acceder a detalles específicos sobre los archivos cuando se analizan por medio de asignando una matriz para utilizarla con este fin antes de instruir a phpMussel para que los escanee. En el ejemplo siguiente,
La matriz es una matriz multidimensional que consta de elementos que representan cada archivo que se está escaneando y subelementos que representan los detalles sobre estos archivos. Estos subelementos son los siguientes:
? - No se proporciona con resultados almacenados en caché (sólo se proporcionan para los nuevos resultados de escaneo). ? - Sólo se proporciona al escanear archivos PE. Opcionalmente, esta matriz se puede destruir utilizando lo siguiente:
<a name="CRON_TO_UPDATE_AUTOMATICALLY"></a>¿Puedo usar cron para actualizar automáticamente?Sí. Una API está integrada en el front-end para interactuar con la página de actualizaciones a través de scripts externos. Un script separado, "Cronable", está disponible, y puede ser utilizado por su cron manager o cron scheduler para actualizar este y otros paquetes soportados automáticamente (este script proporciona su propia documentación). <a name="SCAN_NON_ANSI"></a>¿Puede phpMussel escanear archivos con nombres que no sean ANSI?Digamos que hay un directorio que quiere escanear. En este directorio, tiene algunos archivos con nombres que no son ANSI.
- Supongamos que está utilizando el modo CLI o la API de phpMussel para escanear. Al usar PHP < 7.1.0, en algunos sistemas, phpMussel no verá estos archivos cuando intente escanear el directorio y, por lo tanto, no podrá escanear estos archivos. Es probable que vea los mismos resultados que si escaneara un directorio vacío:
Además, al usar PHP < 7.1.0, el escaneo de los archivos individualmente produce resultados como estos:
O estos:
Esto se debe a la forma en que PHP manejó los nombres de archivo no ANSI antes de PHP 7.1.0. Si experimenta este problema, la solución es actualizar su instalación de PHP a 7.1.0 o más reciente. En PHP >= 7.1.0, los nombres de archivo no ANSI se manejan mejor, y phpMussel debería poder escanear los archivos correctamente. A modo de comparación, los resultados al intentar escanear el directorio usando PHP >= 7.1.0:
E intentando escanear los archivos individualmente:
<a name="BLACK_WHITE_GREY"></a>Listas negras ? Listas blancas ? Listas grises ? ¿Qué son y cómo los uso?Los términos transmiten diferentes significados en diferentes contextos. En phpMussel, hay tres contextos en los que se usan estos términos: Respuesta del tamaño de archivo, respuesta del tipo de archivo, y la lista gris de firmas. Para lograr un resultado deseado con un costo mínimo de procesamiento, hay algunas cosas simples que phpMussel puede verificar antes de escanear archivos, como el tamaño, el nombre y la extensión de un archivo. Por ejemplo; Si un archivo es demasiado grande o si su extensión indica un tipo de archivo que de todos modos no queremos permitir en nuestros sitios web, podemos marcar el archivo inmediatamente y no es necesario que lo analice. La respuesta del tamaño de archivo es la forma en que phpMussel responde cuando un archivo excede un límite especificado. Aunque no hay listas reales, un archivo se puede considerar efectivamente incluido en la lista negra, en la lista blanca o en la lista gris, según su tamaño. Existen dos directivas de configuración opcionales independientes para especificar un límite y la respuesta deseada, respectivamente. La respuesta del tipo de archivo es la forma en que phpMussel responde a la extensión del archivo. Existen tres directivas de configuración opcionales independientes para especificar explícitamente qué extensiones deben incluirse en la lista negra, en la lista blanca, o en la lista gris. Un archivo puede considerarse efectivamente incluido en la lista negra, en la lista blanca, o en la lista gris si su extensión coincide con cualquiera de las extensiones especificadas, respectivamente. En estos dos contextos, al ser incluido en la lista blanca significa que no debe escanearse ni marcarse; estar en la lista negra significa que debe estar marcado (y por lo tanto no es necesario escanearlo); y estar en la lista gris significa que se requiere un análisis adicional para determinar si debemos marcarlo (es decir, debe escanearse). La lista gris de firmas es una lista de firmas que esencialmente deben ignorarse (esto se menciona brevemente anteriormente en la documentación). Cuando se desencadena una firma en la lista gris de la firma, phpMussel continúa trabajando a través de sus firmas y no toma ninguna medida particular con respecto a la firma desencadenada. No hay una lista negra de firmas, porque el comportamiento implícito es un comportamiento normal para las firmas desencadenadas de todos modos, y no hay una lista blanca de firmas, porque el comportamiento implícito no tendría sentido considerando el funcionamiento normal de phpMussel y las capacidades que ya posee. La lista gris de firmas es útil si necesita resolver problemas causados por una firma particular sin deshabilitar o desinstalar todo el archivo de firmas. <a name="CHANGE_COMPONENT_SORT_ORDER"></a>Cuando activar o desactivar archivos de firmas a través de la página de actualizaciones, los ordena de forma alfanumérica en la configuración. ¿Puedo cambiar la forma en que se ordenan?Sí. Si necesita forzar algunos archivos se ejecuten en un orden específico, puede agregar algunos datos arbitrarios antes de sus nombres en la directiva de configuración donde están listados, separados por dos puntos. Cuando la página de actualizaciones clasifique los archivos nuevamente, esta información adicional arbitraria afectará el orden de clasificación, haciendo que, en consecuencia, se ejecuten en el orden que desee, sin necesidad de cambiar el nombre de ninguno de ellos. Por ejemplo, suponiendo una directiva de configuración con los archivos enumerados de la siguiente manera:
Si quería ejecutar
Entonces, si se activa un archivo nuevo,
La misma situación cuando un archivo está desactivado. Por el contrario, si quería que el archivo se ejecuta al final, podría agregar algo como 11. <a name="SECTION11"></a>INFORMACIÓN LEGAL11.0 PREÁMBULO DE SECCIÓNLa intención de esta sección de la documentación es para describir posibles consideraciones legales con respecto al uso y la implementación del paquete, y para proporcionar cierta información básica relacionada. Esto puede ser importante para algunos usuarios como un medio para garantizar el cumplimiento de los requisitos legales que puedan existir en los países en los que operan, y algunos usuarios pueden necesitar ajustar las políticas de su sitio web de acuerdo con esta información. Primero y ante todo, tenga en cuenta que yo (el autor del paquete) no soy un abogado, ni un profesional legal calificado de ningún tipo. Por lo tanto, no estoy legalmente calificado para brindar asesoramiento legal. Además, en algunos casos, los requisitos legales exactos pueden variar entre diferentes países y jurisdicciones, y estos diferentes requisitos legales pueden a veces entrar en conflicto (como, por ejemplo, en el caso de países que favorecen los derechos de privacidad y el derecho a ser olvidado, frente a los países que favorecen la retención de datos extendida). Considere también que el acceso al paquete no está restringido a países o jurisdicciones específicos, y por lo tanto, es probable que la base de usuarios del paquete sea geográficamente diversa. Considerados estos puntos, no estoy en condiciones de decir lo que significa ser "legalmente compatible" para todos los usuarios, en todos los aspectos. Sin embargo, espero que la información en este documento lo ayude a tomar una decisión sobre lo que debe hacer para cumplir con la ley en el contexto del paquete. Si tiene alguna duda o inquietud con respecto a la información aquí incluida, o si necesita ayuda y asesoramiento adicional desde una perspectiva legal, le recomiendo consultar a un profesional legal calificado. 11.1 RESPONSABILIDADSegún lo establecido por la licencia del paquete, el paquete se proporciona sin ninguna garantía. Esto incluye (pero no se limita a) todo el alcance de la responsabilidad. El paquete se le proporciona para su conveniencia, con la esperanza de que sea útil y le proporcionará algún beneficio. Pero, si usa o implementa el paquete, es su propia decisión. No está obligado a usar o implementar el paquete, pero cuando lo hace, usted es responsable de esa decisión. Ni yo ni ningún otro contribuyente del paquete somos legalmente responsables de las consecuencias de las decisiones que usted tome, independientemente de si son directas, indirectas, implícitas o de otro tipo. 11.2 TERCEROSDependiendo de su configuración e implementación exactas, el paquete puede comunicarse y compartir información con terceros en algunos casos. Esta información puede definirse como "información personal" (PII) en algunos contextos, en algunas jurisdicciones. La forma en que esta información puede ser utilizada por estos terceros está sujeta a las diversas políticas establecidas por estos terceros y está fuera del alcance de esta documentación. Pero, en todos estos casos, se puede deshabilitar el intercambio de información con estos terceros. En todos estos casos, si elige habilitarlo, es su responsabilidad investigar cualquier inquietud que pueda tener con respecto a la privacidad, seguridad y uso de PII por parte de estos terceros. Si tiene alguna duda, o si no está satisfecho con la conducta de estos terceros en lo que respecta a PII, puede ser mejor desactivar el intercambio de información con estos terceros. A los efectos de la transparencia, el tipo de información compartida, y con quién, se describe a continuación. 11.2.0 WEBFONTSAlgunos temas personalizados, así como la interfaz de usuario estándar para el front-end de phpMussel, y la página "Subida Denegada", pueden usar webfonts por razones estéticas. Los webfonts están deshabilitados de forma predeterminada, pero cuando están habilitados, se produce una comunicación directa entre el navegador del usuario y el servicio que aloja los webfonts. Esto puede implicar la comunicación de información tal como la dirección IP del usuario, el agente de usuario, el sistema operativo, y otros detalles disponibles para la solicitud. La mayoría de estas webfonts están alojadas en el servicio Google Fonts. Directivas de configuración relevantes:
- 11.2.1 ESCÁNER URLLas URL que se encuentran dentro de las subidas de archivos se pueden compartir con la API de hpHosts o la API de Google Safe Browsing, según cómo esté configurado el paquete. En el caso de la API de hpHosts, este comportamiento está habilitado de forma predeterminada. La API de Google Safe Browsing requiere claves API para funcionar correctamente y, por lo tanto, está desactivada de manera predeterminada. Directivas de configuración relevantes:
- 11.2.2 VIRUS TOTALCuando phpMussel escanea una subida de archivo, los valores hash de esos archivos se pueden compartir con la API de Virus Total, según cómo esté configurado el paquete. Hay planes para poder compartir archivos completos en algún momento en el futuro también, pero esta función no es soportado por el paquete en este momento. La API de Virus Total requiere una clave API para funcionar correctamente y, por lo tanto, está desactivada de forma predeterminada. La información (incluidos los archivos y los metadatos de archivos relacionados) compartida con Virus Total, también se puede compartir con sus socios, afiliados, y varios otros con fines de investigación. Esto se describe con más detalle en su política de privacidad. Ver: Privacy Policy – VirusTotal. Directivas de configuración relevantes:
- 11.3 REGISTRO DE DATOSEl registro de datos es una parte importante de phpMussel por varias razones. Sin registro, puede ser difícil diagnosticar falsos positivos, determinar exactamente qué tan eficiente es el phpMussel en un contexto particular, y determinar dónde pueden encontrarse sus deficiencias, y qué cambios pueden requerirse en su configuración o firmas en consecuencia, para que continúe funcionando según lo previsto. En todo caso, el registro de datos puede no ser deseable para todos los usuarios, y sigue siendo totalmente opcional. En phpMussel, el registro de datos está deshabilitado de forma predeterminada. Para habilitarlo, phpMussel debe configurarse en consecuencia. Además, si el registro de datos es legalmente permisible, y en la medida en que sea legalmente permisible (por ejemplo, los tipos de información que pueden registrarse, por cuánto tiempo, y en qué circunstancias), puede variar, dependiendo de la jurisdicción y del contexto donde se implemente el phpMussel (por ejemplo, ya sea que esté operando como individuo, como una entidad corporativa, y sea comercial o no comercial). Por lo tanto, puede serle útil leer atentamente esta sección. Existen varios tipos de registro que phpMussel puede realizar. Los diferentes tipos de registro implican diferentes tipos de información, por diferentes razones. 11.3.0 REGISTROS DE ESCANEACuando está habilitado en la configuración del paquete, phpMussel guarda los registros de los archivos que escanea. Este tipo de registro está disponible en dos formatos diferentes: - Archivos de registro legibles por humanos. - Archivos de registro serializados. Las entradas a un archivo de registro legible por humanos, normalmente se ve así (como un ejemplo):
Una entrada del registros de escanea normalmente incluye la siguiente información: - La fecha y hora en que se escaneó el archivo. - El nombre del archivo escaneado. - Hash CRC32b del nombre y contenido del archivo. - Qué se detectó en el archivo (si se detectó algo). Directivas de configuración relevantes:
- Cuando estas directivas se dejan vacías, este tipo de registro permanecerá desactivado. 11.3.1 SCAN KILLSCuando está habilitado en la configuración del paquete, phpMussel guarda los registros de las subidas que se han bloqueado. Las entradas en un archivo de registro de "scan kills" normalmente se ve así (como un ejemplo):
Una entrada de "scan kills" generalmente incluye la siguiente información: - La fecha y hora en que se bloqueó la subida. - La dirección IP desde donde se originó la subida. - La razón por la cual el archivo fue bloqueado (lo que se detectó). - El nombre del archivo bloqueado. - Un MD5 y el tamaño del archivo bloqueado. - Si el archivo fue puesto en cuarentena y bajo qué nombre interno. Directivas de configuración relevantes:
- 11.3.2 REGISTROS DE FRONT-ENDEste tipo de registro relaciona los intentos de inicio de sesión del front-end, y ocurre solo cuando un usuario intenta iniciar sesión en el front-end (suponiendo que el acceso al front-end esté habilitado). Una entrada de registro en el front-end contiene la dirección IP del usuario que intenta iniciar sesión, la fecha y la hora en que se produjo el intento, y los resultados del intento (inicio de sesión exitoso o fallido). Una entrada de registro del front-end generalmente se ve así (como un ejemplo):
La directiva de configuración responsable del inicio de sesión es:
- 11.3.3 ROTACIÓN DE REGISTROSEs posible que desee purgar los registros después de un período de tiempo, o posible la ley lo requiera (es decir, la cantidad de tiempo que está legalmente permitido para conservar los registros puede estar limitada por la ley). Puede lograr esto incluyendo marcadores de fecha/hora en los nombres de sus archivos de registro según lo especificado por la configuración de su paquete (por ejemplo, Por ejemplo: Si se me exigiera legalmente que borrara los registros después de 30 días, podría especificar Por el contrario, si está obligado a conservar registros por un período prolongado de tiempo, puede no utilizar la rotación de registros, o puede establecer el valor de Directivas de configuración relevantes:
- 11.3.4 TRUNCAMIENTO DE REGISTROSTambién es posible truncar archivos de registro individuales cuando exceden un cierto tamaño, si esto es algo que podría necesitar o querer hacer. Directivas de configuración relevantes:
- 11.3.5 SEUDONIMIZACIÓN DE DIRECCIONES IPPrimeramente, si no está familiarizado con el término, "seudonimización" se refiere al procesamiento de datos personales como tal que ya no se puede identificar a ningún sujeto de datos específico sin información adicional, y siempre que dicha información adicional se mantenga por separado y esté sujeta a medidas técnicas y organizativas para garantizar que los datos personales no puedan identificarse a ninguna persona física. Los siguientes recursos pueden ayudar a explicarlo con más detalle: - [[confilegal.com] La importancia del seudonimización en el nuevo Reglamento de Protección de Datos](https://confilegal.com/20170129-la-importancia-del-seudonimizacion-en-el-nuevo-reglamento-de-proteccion-de-datos/) - [[forlopd.es] ¿Cómo me protege la seudonimización?](https://www.forlopd.es/web/blog/index.php/seudonimizacion-y-proteccion-de-datos/) - [[Wikipedia] Seudonimización](https://es.wikipedia.org/wiki/Seudonimizaci%C3%B3n) En algunas circunstancias, se le puede ser legalmente requerido anonimizar o seudonimizar cualquier PII recopilada, procesada, o almacenada. Aunque este concepto ha existe desde hace bastante tiempo, GDPR/DSGVO menciona especialmente, y específicamente alienta "seudonimización". phpMussel es capaz de seudonimizar las direcciones IP cuando las registra, si es algo que podría necesitar o querer hacer. Cuando phpMussel seudonimizar de direcciones IP, cuando se registra, el octeto final de las direcciones IPv4, y todo lo que ocurre después de la segunda parte de las direcciones IPv6 está representado por una "x" (redondeando efectivamente las direcciones IPv4 a la dirección inicial de la 24 subred en la que tienen en cuenta, y las direcciones IPv6 a la dirección inicial de la 32 subred en la que tienen en cuenta). Directivas de configuración relevantes:
- 11.3.6 ESTADÍSTICAphpMussel es opcionalmente capaz de rastrear estadísticas como el número total de archivos escaneados y bloqueados desde algún momento en particular. Esta característica está deshabilitada de manera predeterminada, pero se puede habilitar a través de la configuración del paquete. El tipo de información rastreada no debe considerarse como PII. Directivas de configuración relevantes:
- 11.3.7 ENCRIPTACIÓNphpMussel no encripta su caché ni ninguna información de registro. Encriptación) del caché y del registro se puede introducir en el futuro, pero no hay planes actuales para esto. Si le preocupa que terceros no autorizados accedan a partes de phpMussel que puedan contener PII o información confidencial, como su caché o registros, recomendaría que phpMussel no se instale en una ubicación de acceso público (por ejemplo, instale phpMussel fuera del directorio 11.4 COOKIESCuando un usuario ha iniciado una sesión en el front-end, phpMussel establece una cookie) para poder recordar al usuario para solicitudes posteriores (es decir, las cookies se usan para autenticar al usuario en una sesión). En la página de inicio de sesión, una advertencia de cookie se muestra prominentemente, advirtiendo al usuario que una cookie se establecerán si participan en la acción relevante. Las cookies no se establecen en ningún otro punto en la base de código. Directivas de configuración relevantes:
- 11.5 MARKETING Y PUBLICIDADphpMussel no recopila ni procesa ninguna información con fines comerciales o publicitarios, y tampoco vende ni obtiene ganancias de ninguna información recopilada o registrada. phpMussel no es una empresa comercial, ni está relacionada con ningún interés comercial, por lo que hacer estas cosas no tendría ningún sentido. Este ha sido el caso desde el comienzo del proyecto, y sigue siendo el caso hoy en día. Además, hacer estas cosas sería contraproducente para el espíritu y el propósito del proyecto como un todo, y mientras continúe manteniendo el proyecto, nunca sucederá. 11.6 POLÍTICA DE PRIVACIDADEn algunas circunstancias, se le puede exigir legalmente que muestre claramente un enlace a su política de privacidad en todas las páginas y secciones de su sitio web. Esto puede ser importante como un medio para garantizar que los usuarios estén bien informados sobre sus prácticas de privacidad exactas, los tipos de información personal que recopila y cómo piensa utilizarla. Para poder incluir un enlace en la página "Subida Denegada" de phpMussel, se proporciona una directiva de configuración para especificar la URL de su política de privacidad. Directivas de configuración relevantes:
- 11.7 GDPR/DSGVOEl Reglamento General de Protección de Datos (GDPR) es un reglamento de la Unión Europea, que entra en vigor el 25 Mayo de 2018. El objetivo principal de la regulación es dar control a los ciudadanos y residentes de la UE con respecto a sus propios datos personales, y unificar la regulación dentro de la UE con respecto a la privacidad y los datos personales. El reglamento contiene disposiciones específicas relativas al procesamiento de información de identificación personal de cualquier "sujeto de datos" (cualquier persona física identificada o identificable) de la UE o dentro de ella. Para cumplir con la regulación, las "empresas" (según lo definido por la regulación) y cualquier sistema y proceso relevante deben implementar "privacidad por diseño" como estándar, debe usar la configuración de privacidad más alta posible, debe implementar las salvaguardas necesarias para cualquier información almacenada o procesada (incluyendo, pero no limitado a, la implementación de seudonimización o anonimización completa de datos), debe declarar clara e inequívocamente los tipos de datos que recopilan, cómo lo procesan, por qué motivos, por cuánto tiempo lo retienen, y si comparten estos datos con terceros, los tipos de datos compartidos con terceros, cómo, por qué, y así sucesivamente. Los datos no pueden procesarse a menos que haya una base legal para hacerlo, según lo definido por la regulación. Generalmente, esto significa que para procesar los datos de un sujeto de datos de manera legal, debe hacerse de conformidad con las obligaciones legales, o solo después de que se haya obtenido el consentimiento explícito, bien informado e inequívoco del sujeto de los datos. Debido a que algunos aspectos de la regulación pueden evolucionar en el tiempo, para evitar la propagación de información desactualizada, puede ser mejor aprender sobre la regulación desde una fuente autorizada, en lugar de simplemente incluir la información relevante aquí en la documentación del paquete (que puede con el tiempo se volverá obsoleto a medida que la regulación evolucione). EUR-Lex (una parte del sitio web oficial de la Unión Europea que proporciona información sobre la legislación de la UE) proporciona amplia información sobre GDPR/DSGVO, disponible en 24 idiomas diferentes (al momento de escribir esto), y disponible para su descarga en formato PDF. Definitivamente recomendaría leer la información que proporcionan, para aprender más sobre GDPR/DSGVO: - REGLAMENTO (UE) 2016/679 DEL PARLAMENTO EUROPEO Y DEL CONSEJO Alternativamente, hay una breve descripción (no autoritativa) de GDPR/DSGVO disponible en Wikipedia: - Reglamento General de Protección de Datos Última Actualización: 7 Abril de 2019 (2019.04.07). |