Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Guia para evitar spambots y otras cuestiones de seguridad

Guías, manuales, tutoriales, etc. sobre phpBB2 y otros sistemas.
Foro de lectura, las dudas en el Foro oportuno por favor.
Cerrado

0
No hay votos
 
Votos totales: 0

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Guia para evitar spambots y otras cuestiones de seguridad

#1

Mensaje por mitch »

Varios temas se han hecho acá como en otros foros sobre cómo controlar y combatir el spam.
El spam son mensajes hechos de forma anónima, o por gente que se registra y postean webs pornográficas o de otro tipo, al mismo tiempo que ponen esa información en su Perfil... spam spam y más spam.
Con estas instrucciones deberían poder controlar eso, el que los robots posteen spam, y que lo muestren en su perfil.

Además, se han recopilado otras informaciones importantes sobre la seguridad, para que todo esté un poco más ordenado y "a la mano".
En esto ha colaborado todo el equipo, gracias a todos... a lo nuestro:

[x] Utilizando las herramientas de las que ya disponemos en los foros phpBB
  1. Actualiza tu foro
    Cada vez que aparecen nuevas versiones de los foros phpBB, se añade mayor seguridad y se corrigen Bugs importantes.
    Actualiza tu foro lo antes posible. Puedes ver la versión que usas actualmente en la zona inferior del ACP (Panel de Administración). Y si no sabes cómo actualizar, visita este tema: http://www.phpbb-es.com/foro/viewtopic.php?t=1555" onclick="window.open(this.href);return false;
  2. Activando la confirmación de la cuenta por los Usuarios o Administrador
    Con esta opción activada, al registrarse una cuenta se envía un correo de activación, al usuario o al administrador, para que active la cuenta. Mientras no esté activa, el usuario no podrá postear. Si te resulta laborioso activar cada cuenta una a una, marca la opcion 'Usuario' para que él mismo deba revisar su correo y activarse.
    Imagen
  3. Activar la Confirmación Visual
    Esto es la imagen con números y letras que aparece en la página de registro y que uno debe escribir. Si bien esto no bloquea el spam hecho por usuarios, sí bloquea a la mayoría de los spambots. Si no ves la opción en el ACP, visita este tema, donde se comenta. Y si al activarlo no ves la imagen en la página de registo, actualiza tu plantilla con esta guia: http://www.phpbb-es.com/foro/viewtopic.php?t=3855" onclick="window.open(this.href);return false;
    Imagen
  4. No permitas los posts de los Invitados
    Si permites los mensajes de invitados, los spambots no necesitarán registrarse y podrán publicar su spam libremente. Ahora bien, si deseas mantener la posibilidad a los Invitados de postear, revisa en la lista de Mods que hay mas abajo, pues hay un MOD diseñado justamente para eso.
[x] Combatiendo el spam

Lee las descripciones de estos interesantes MOD's. No es necesario que los instales todos, sólo los que te interesen y se ajusten a lo que buscas.
  1. ConfusaBOT ACP (espicom)
    Este MOD cambia la URL de registro, de "...profile.php?mode=register&agreed=true" a "...profile.php?mode=register&XXX=true" permitiendote a ti definir XXX desde el ACP.
    ¿Cuál es la utilidad? pues que los spambots se registran accediendo de forma directa a las URL's de registro, de forma automatizada, a la url por defecto de phpBB.
    Al cambiar la URL de registro, les cambias el "esquema" habitual que deben seguir, impidiendo que se registren.
    Vista Previa 1
    Vista Previa 2
  2. The humanizer (Underhill)
    Agrega la pregunta ¿Eres una persona/humano? al formulario de registro. La única función de esto, es que como esta pregunta es obligatoria, los robots no la responden (pues no viene por defecto en phpBB), y por lo tanto, les da un mensaje de error al intentarse registrar.
    Vista Previa
  3. Visual Confirmation for Guests (Kanuck)
    Agrega la Confirmación Visual a la página de posteo. Así, cuando un Invitado postea, debe antes de enviar el mensaje colocar el código que muestra el MOD.
    Esto previene posts automáticos de spam hechos por los robots.
    Vista Previa
  4. Registration disable website signature (EXreaction)
    Elimina los campos de 'Sitio Web' y el de la 'Firma' del formulario de registro (pero si se ven al editar el perfil). Con esto, impides que los spambots puedan poner spam al registrarse en su perfil. Y si el MOD detecta que estos datos fueron enviados sin haber sido solicitados (el mod los eliminó), el MOD bloquea el registro. Y si lo deseas, puedes hacer que si se le detecta, se le banee su IP automáticamente.
    Vista Previa (si comparan con otro formulario de registro, acá faltan los campos de firma y web)
  5. Evitar usuarios inactivos en la lista de miembros (Nazcar):
    con este pequeño cambio se evita que los spambots aparezcan tanto en la lista de Miembros como en la de Últimos Usuarios Registrados.
  6. Hide Inactive Accounts: Este MOD es muy similar al anterior (Nazcar), solo que añade la posibilidad de que el perfil del usuario inactivo, no sea visible, a menos que seas administrador.
    Personalmente, recomiendo lo dejado por Nazcar... si se oculta como último registrado y en la lista de miembros, no habría forma de que tus usuarios normales lleguen a ver ese perfil. Pero lo dejo como opción.
  7. AntiSpam Mod (deMone)
    Previene los registros instantáneos, comprobando el tiempo total que le tomó al "usuario/robot" llenar el formulario.
  8. Block Open Proxy Registrants (TerraFrost)
    Bloquea los intentos de registro desde proxy.
  9. Configure Member Profile Required Fields (ycl6)
    Permite a los administradores definir qué campos son obligatorios de rellenar en el formulario de registro.
    Si añades nuevos campos, y los bots no los rellenan (pues son automatizados), no podrán registrarse.
  10. disable spambots (magenta)
    Similar al numero 8, comprueba el tiempo total en que se demora el envío de los datos de registro. Si este es menor a 5 segundos, la petición de registro es denegada (solo un robot se demora 5 seg en registrarse).
  11. Easy BotStopper (battye)
    Similar al numero 3, sólo que este únicamente elimina el campo de 'Sitio Web' en el registro.
  12. Require Login
    Impide a Invitados ver la información de tus usuarios (como los mails), en la lista de miembros, grupos, perfil, etc, obligándoles a loguearse.
  13. Spam Words (Joe Belmaati)
    Permite definir en el ACP qué palabras no son permitidas en los posts. Cuando un usuario intenta usar una palabra prohibida, se le muestra un mensaje de error.
Recordar que los primeros 4 Mods fueron probados por mi, con buenos resultados, y el resto de los MODs de la lista han sido validados por la gente de phpbb (son mods oficiales, no Beta), pero están en inglés. Tema Original de phpbb.com

[x] Otras cuestiones de seguridad (por dinoyoco)
  1. MODs para asegurar tu foro
    MOD Cracker Tracker. Este MOD suele sacar normalmente una nueva versión con cada versión nueva del sistema de foros phpBB. Este MOD es un clásico y tiene un alto reconocimiento. En esta sección encontrarás información sobre las últimas versiones. Enlace a la web.
    MOD Hack_Whacker. Este pequeño MOD nos ayudará a proteger un poco más el foro. Enlace al tema.
    MOD Block Bad Bots. Este pequeño MOD nos incluye el fichero "robots.txt", que ubicado en la raiz del foro nos permitirá parar los pies a los spam. Enlace web.
    MOD Advanced IP Tools Pack. Este MOD nos registrará las IP y hostname de un usuario cuando inicia la sesión. Incluye adicionales opciones y extensiones. Enlace web.
    MOD phpBB Security. Este MOD nos ayudará a combatir los exploits. Enlace web.
    MOD Redirect anonymous users to login. Este simple MOD redirecciona a los usuarios anónimos a la página de logueo cuando intentan acceder a la pagina de lista de miembros, información de grupos o los perfiles de usuario. Enlace web.
    MOD Register Login Failed. Este simple MOD se encarga de registrar los intentos de accesos erróneos a las cuentas de usuario, almacena la IP, fecha y cuenta de usuario afectada. Incluye varias listas. Enlace al tema.
  2. Trasteando en el php.ini de tu hosting
    Estas modificaciones las obtuve de una página que actualmente no está operativa. Si tienes acceso a la configuración del php.ini de tu servidor, las acciones son las siguientes (guarda antes una copia en tu HD):
    -Activar:

    Código: Seleccionar todo

    safe_mode = 1
    
    -Desactivar:

    Código: Seleccionar todo

    register_log = 0
    register_global = 0
    
    NOTA: Si no puedes acceder al fichero php.ini, pregunta a tu hosting. No obstante, hay una forma de desactivar "REGISTER_GLOBALS". Haz uso del fichero .htaccess (si no tienes, crea uno en la raiz de tu foro por FTP) y necesita Apache Rewrite Engine activada.
    -Deshabilitar las siguientes funciones:

    Código: Seleccionar todo

    disable_functions = openlog, apache_child_terminate, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, virtual, passthru, proc_open, system, shell_exec
    
    -Especificar el campo "open_basedir" para limitar las acciones de los scripts. Que apunte al directorio raiz de la web, no del FTP:

    Código: Seleccionar todo

    open_basedir = /ruta_tu_hosting/htdocs/
    
    NOTA: Si desconoces la ruta, bien puedes consultarlo en el panel de administración de tu sitio web o bien usando un pequeño script. Crea un fichero con el siguiente código, súbelo a tu servidor (ponlo en la raiz) y cárgalo en el browser.

    Código: Seleccionar todo

    $ruta = ereg_replace ("\\\\","/",__FILE__); 
    $ruta = trim(dirname ($ruta));
    echo $ruta;
    
    Obtendrás la ruta, pero no te olvides de cuando lo pongas en el fichero, obvia la letra de la unidad. Por ejemplo, si mi ruta es "F:/Archivos de programa/Xampp_1.5.1/xampp/htdocs", pues yo pondré "/Archivos de programa/Xampp_1.5.1/xampp/htdocs"
    -Cambios en el tratamiento de los errores:

    Código: Seleccionar todo

    error_reporting  =  E_ALL
    
    log_errors = On
    
    Con esto los errores aparecerán en el log de tu hosting.
  3. Protegiendo el directorio admin con password
    Protege el acceso al directorio admin del phpBB con usuario y contraseña adicionales. Enlace al tema. He leído (no lo he probado) que hay una forma para registrar los accesos erróneos a los directorios protegidos con .htaccess. Normalmente, si te equivocas, te vuelve a preguntar y así sigue hasta que aciertes o pulsas sobre cancelar. La forma de hacerlo, es que cada intento de acceso erróneo es interpretado como un error 401. Especificandolo en el .htaccess, podemos usarlo para redireccionarlo a un fichero que registre el suceso.
  4. Desactiva el envio de password
    NOTA: Esta recomendación vino a partir de un bug que apareció en la versión 2.0.19. No obstante, si quieres puedes aplicarlo.
    Con el phpBB, existe la opción de que si un usuario ha perdido su contraseña, se le envia una aleatoria a su cuenta de correo. Por seguridad y evitar lo que sería el robo de cuenta de correo, se puede deshabilitar esta opción y poner un mensaje para que el usuario envíe un correo al administrador solicitando una nueva contraseña, por supuesto desde la misma cuenta de correo que el usuario tiene en el foro.
    Abre el fichero includes/usercp_sendpassword.php y después de:

    Código: Seleccionar todo

    if ( !defined('IN_PHPBB') )
    {
    	die('Hacking attempt');
    	exit;
    }
    
    Reemplaza lo que haya por el código. Ej.:

    Código: Seleccionar todo

    // Output basic page
    include($phpbb_root_path . 'includes/page_header.'.$phpEx);
    
    ?>
    <br>
    <br>
    <table width="100%" cellpadding="5" cellspacing="0" class="forumline">
    	<tr>
    		<th class="thTop">Aviso</th>
    	</tr>
    	<tr>
    		<td class="gensmall">Por razones de seguridad, esta funci&oacute;n ha sido desactivada. Si has perdido o no
    		recuerdas la contraseña, env&iacute;a un correo a esta direcci&oacute;n <u>webmaster@tu_sitio.com</u>
    		para que te lo cambie. <b>Recuerda usar el mismo correo que usastes cuando te registrastes aqu&iacute;</b>.<br>
    		<br></td>
    	</tr>
    	<tr>
    		<th class="catBotton" align="center">Atentamente, el Equipo</td>
    	</tr>
    </table>
    <br>
    <br>
    <?php
    
    include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
    
    ?>
    
  5. Protegiendo archivos de nuestro phpBB
    Cuando agregas MODs, éstos no pueden ser del todo seguros. Los archivos deben comprobar que están siendo llamados desde phpBB (y no de una fuente externa, es un riesgo). Para esto, basta con que en el inicio del archivo agregues estas lineas, antes del resto del código

    Código: Seleccionar todo

      if (!defined('IN_PHPBB'))  
     {  
        die('Hacking attempt');  
     } 
    
    (Ctracker 5 corrobora esto con la herramienta filescanner por ejemplo).
  6. Protege el directorio "/includes"
    Todos sabemos que la mayoría de los bugs y exploits vienen de librerías que no incluyen al principio la verificación de la definición de una variable de entorno para evitar su ejecución directa. Ya se ha recomendado verificar todos los ficheros del directorio include y comprobar que exista esa sentencia (mirar punto de arriba), de la misma forma cuando insertamos algún nuevo MOD o realizamos alguna actualización, etc. Pero puede darse el caso de que en alguna actualización o nuevo añadido no hagamos la revisión y pongamos nuestro foro en riesgo. Hay una forma de protegerlo, puesto que estos ficheros son incluidos y no invocados directamente (los ataques suelen hacerse invocando directamente las librerias), podemos evitar que directamente puedan invocar esos ficheros. ¿Cómo? Pues la solución ya está en el foro (si usas el sistema phpBB XS2), pero en otro directorio. No tienes más que copiar el fichero templates/.htaccess al directorio includes. Luego editas el fichero y cambia:

    Código: Seleccionar todo

    <Files ~ "\.tpl$">
    
    Por

    Código: Seleccionar todo

    <Files ~ "\.php$">
    
    Vosotros mismos podeis hacer las pruebas antes de subir el .htaccess al directorio includes. Para los que no usais el phpBB XS2, aquí teneis el contenido del fichero .htaccess (siempre que podais usar ficheros .htaccess):

    Código: Seleccionar todo

    <Files ~ "\.php$">
    	Order allow,deny
    	Deny from all
    </Files>
    
    Como siempre, tras realizar este añadido, comprobar que no haya ningún problema.
  7. Realiza continuas visitas a tu directorio FTP
    En el mundo no hay nada seguro. Cualquier barrera de seguridad que incluyas a tu foro harás que sea más difícil de penetrar, pero no será invulnerable a cualquier acción. Por ello se recomienda un paseo por los directorios del FTP en busca de ficheros raros. Sobre todo en aquellos directorios que se usen para guardar información externa (directorios caché, cache; los avatares, images/avatars, ...). En el caso de los avatares, las imágenes no tienen por qué tener permisos de ejecución, por lo que vigila que siempre tengan permisos CHMOD 644 (¿Qué es CHMOD?) y que no haya ningún fichero extraño.
  8. Backups, backups, backups...
    Realiza backups, tanto de la BD como de tu directorio del foro. De este último no es necesario que sea tan frecuentemente (sobre todo depende tb de los MODs que tengas: album, subida de ficheros,...), pero como norma general puede ser de todo el foro tras cada actualización/"x" cambios de código, y otra pequeña con únicamente los directorios que guardan información: image/avatars, album/uploads (MOD album), files (MOD subida de ficheros),... De la BD ya depende de como quieras montártelo y de las opciones adicionales que incluya tu hosting: ya puedes bajarte una backup a la semana o cada 2. En la sección de guías y manuales del foro encontrarás temas sobre ello.
  9. Política de las cuentas de usuario
    A continuación una serie de observaciones sobre las cuentas de usuario:
    - Permitir o no que el usuario se cambie el nombre de usuario (phpBB XS).- Si evitamos que el usuario se pueda cambiar el sólo el nombre, podemos ahorrarnos el problema de que use caracteres erróneos. Por muy fashion que resulte usar caracteres especiales, estaremos ahorrándonos problemas con la BD. Con el MOD Restrict Username Charachters podemos restringir los caracteres que se pueden usar cuando se registra un usuario.
    - Cuentas de usuario inactivas (MOD Admin Userlist).- Se recomienda borrar las cuentas de usuario que no han sido activadas después de un registro. Dar un margen depende del administrador, pero como mucho 4 semanas (1 mes). Si pasado ese tiempo no se activa la cuenta, se debería borrar.
    - Cuentas no usadas (MOD Admin Userlist).- También se recomienda comprobar la actividad de las cuentas de usuario. Aquellas que lleven más de "x" meses sin actividad, deberían de borrarse, ya que pueden ser objetivos de intento de ataque para hacerse con la cuenta. Esto se haría 1 vez al año o según estipule el administrador. También puedes optar por enviar un correo al usuario por si ya no piensa pasarse más por el foro y borrar entonces su cuenta.
    - Ocultar la fecha de la última conexión del usuario (MOD Last visit).- Si usamos este MOD, puede servirnos para combatir el problema comentado en "Cuentas no usadas". De esta forma, uno no sabe cuando se conectó por última vez un usuario. Sólo estará visible ese campo para moderadores o administradores. Puede ser configurado a través del Panel de Administración (Configuración/Foro).
  10. Otras configuraciones
    - No permitir avatares remotos
    - Permitir html -> No. Es un riesgo permitirlo en el foro.
    - Si disponemos de un MOD para subir ficheros a los mensajes (ej. MOD File Attachment Mod), evitar la posibilidad de subir ficheros ejecutables, mejor si van empaquetados (ZIP, RAR, ...). En el caso de las imágenes, no es necesario. Permitir o no la subida de ficheros en los mensajes privados también es decisión de un administrador, pero si lo permitimos no podremos controlarlos sin tener que acceder a los mensajes privados, lo que conlleva eso.

dinoyoco
Ex Staff
Mensajes: 95
Registrado: 17 Nov 2005, 17:05
Género:

Respuesta: Guia para evitar spambots y otras cuestiones de s

#2

Mensaje por dinoyoco »

Actualizado la parte de seguridad
- Aumentado la lista de funciones a deshabilitar en "php.ini"
- Nuevo punto añadido: Protege el directorio "/includes".

Salu2
© dinoyoco - La Panda del Centollo

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: Guia para evitar spambots y otras cuestiones de seguridad

#3

Mensaje por mitch »

Actualizados los enlaces del tutorial, y enlaces a MOD's. Ademas añadí un par de MODs interesantes.
Gente de phpBB2 no nos olvidamos de ustedes ;)

Cerrado

Volver a “Guías, manuales, tutoriales, ayuda, sobre phpBB 2 y otros”