Boletín de anales. Observaciones de vBulletin o intentos de almacenar en caché contenido dinámico. Deshabilitar la lista de usuarios

Si ejecuta su propio foro vbulletin, tarde o temprano tendrá que pensar en proteger su foro. Empecemos:

1) Actualicemos hasta el final de nuestra línea (3.5.x, 3.6.x, 3.7.x)

Descripción: -
¿Por qué?: JelSoft cierra constantemente las vulnerabilidades emergentes.

2) Cambiar el nombre de los paneles de administración y moderación.

Descripción: Cambiamos el nombre del panel de administración, pero en la configuración bajo ningún concepto escribimos la ruta a nuestro panel de administración renombrado. También cambiamos el nombre del mod, pero ya se puede registrar en la configuración (aunque tampoco es recomendable), ya que es menos vulnerable
¿Por qué?: Si cambias el nombre del panel de administración y no especificas la ruta en la configuración, será mucho más difícil encontrarlo y por tanto aplicar XSS o algo peor. Hay desventajas: - editar un perfil y agregar moderadores dejará de funcionar sin editar los enlaces manualmente.

3) Coloque .htaccess en el panel de administración:

Descripción:
a) si la ip es estática, entonces
Código:

Permitir pedido, denegar denegar todos los permisos de you.ip.add.res

b) También configuramos una contraseña adicional:
Siga el enlace: _http://vbsupport.org/htaccess.php, complete los campos y agréguelo de acuerdo con las instrucciones a nuestro archivo htaccess.
¿Por qué?: La protección adicional con contraseña para el panel de administración nunca está de más.

4) Eliminar archivos y carpetas:

Descripción:
a) Eliminar archivos:
/validator.php (si está disponible)
/checksum.md5 (si está disponible)
b) Eliminar carpetas:
/instalar/
¿Por qué?: Los archivos inseguros de versiones cero pueden permitir ver la lista de archivos y la carpeta de instalación es muy dañina =)

5) Mover archivos adjuntos y avatares

Descripción:
Vaya al panel de administración, luego:
a) Archivos adjuntos -> Método de almacenamiento de archivos adjuntos
Los archivos adjuntos deben almacenarse en una base de datos.
Cita:
Los archivos adjuntos ahora se guardan en la base de datos.
, si este no es el caso, muévalos allí usando el botón "Adelante".
b) Avatares -> Tipo de almacenamiento de imágenes del usuario
Los avatares deben almacenarse en una base de datos.
Cita:

Ahora las imágenes se almacenan en la base de datos, si este no es el caso, las transferimos allí usando el botón "Adelante".

¿Por qué?: La línea 3.5, si mi memoria no me falla, proporcionaba enlaces directos a imágenes que, si la configuración del hosting era incorrecta, daba la posibilidad de cargar un shell a través de ella.
6) Establecer permisos en carpetas
Descripción: Si se completó el paso 5), ahora podemos configurar de forma segura los permisos en las carpetas personalizadas***** en 644, ya que no los necesitamos ahora (o puede eliminarlos). A continuación, si instaló vbulletin de acuerdo con las instrucciones, todas las carpetas en / (raíz) deben tener permisos 644. Si no, establezca los permisos en 644.
¿Por qué?: Dificultando que un hacker cargue un shell.
7) Nunca, jamás, para nadie, habilitamos la opción “Permitir html”.
Descripción: -
¿Por qué?: Posibilidad de ataques XSS cuando la función está habilitada.

8) Coloque .htaccess en la carpeta de inclusión.

Descripción: Colocamos .htaccess en la carpeta de inclusión con el siguiente contenido:

Orden permitir, negar negar de todos

¿Por qué?:
- Si de algún modo se inunda un proyectil allí, no podrán acceder a él.
- si te ignoran, entonces esta opción es posible cuando el intérprete de php falla y solo queda Apache - y Apache te permite leer archivos php- por lo tanto será posible leer todos los archivos de la carpeta /includes/ - el mismo config.php, lo cual no es muy bueno.
9) Empújelo en el directorio. con archivos con atributos 0777 tales xtax: - (c) iglesia _http://vbsupport.org/forum/member.php?u=30
Descripción:
Código:

RemoveHandler .phtml RemoveHandler .php RemoveHandler .php3 RemoveHandler .php4 RemoveHandler .php5 RemoveHandler .cgi RemoveHandler .exe RemoveHandler .pl RemoveHandler .asp RemoveHandler .aspx RemoveHandler .shtml


Orden permitida, denegada
Negar todo

agregue sus controladores si es necesario
Eso es todo, ninguno de los scripts enumerados se puede ejecutar en este directorio.
¿Por qué?: -

10) Instale el truco: http://allcheats.ru/product-firewall_vb_rs.xml

Descripción:
Importe el hack y cree un archivo: logfile_worms.txt con permisos de escritura para el servidor web (777)
¿Por qué?: -
Protección contra un montón de asignaciones de variables "malas" Lea más en la publicación a continuación


11) Edite config.php, ingrese la identificación de los administradores en el campo de usuario no eliminable.

Descripción:
/vb/includes/config.php. Simplemente ingrese la identificación de los administradores después de haber realizado todos los cambios necesarios en el perfil.
¿Por qué?: -


12) Después de eliminar mods/hacks, no olvides eliminar los archivos que descargaste junto con ellos.

Descripción: -
¿Por qué?: -


13) Nunca guarde copias de seguridad en la carpeta public_html.

Descripción: -
¿Por qué?: Estarán disponibles para su descarga para cualquier persona que reconozca el nombre de la copia de seguridad.

14) Instale el complemento "Inspector de archivos". Autor: Fantasma (http://www.vbsupport.org/forum/member.php?u=38422)
Descripción:

Mientras revisaba mis scripts antiguos, me encontré con este producto: File Inspector. Estos son varios módulos para vBulletin, con los que puedes guardar una lista en la base de datos. archivos existentes y verifique de vez en cuando si alguno de ellos ha cambiado (el tamaño, el propietario y los derechos de acceso se guardan para cada archivo); la tarea cron incorporada notificará al administrador por correo sobre cualquier discrepancia encontrada. Puede guardar varias copias (revisiones) diferentes de listas de archivos en la base de datos para compararlas ( verificación automática con una notificación por correo electrónico se verifica solo con la última revisión). Apariencia Y configuraciones disponibles se puede ver en las capturas de pantalla.

INSTALAR: Para instalar, debe cargar dos archivos PHP desde el archivo al servidor e importar el producto desde el archivo "product-gfi.xml".

ACTUALIZACIÓN: No se proporciona actualización de la versión, por lo que para instalar una nueva, se recomienda desinstalar primero la versión anterior.

zy El producto funcionó correctamente en todas las versiones desde 3.6.8 hasta 3.8.1 inclusive. Es cierto que en diferentes lugares se agregó un enlace al menú desplegable en la barra de navegación, pero estas son cosas menores.

Haga clic para ampliar...

Puede descargar el complemento desde el enlace: http://allcheats.ru/gfi.zip o http://www.vbsupport.org/forum/showthread.php?t=29131 (es necesario registrarse)

¿Por qué?: Algo insustituible a la hora de buscar shells en un sitio web, pero debe instalarse con antelación.

----------

Un breve resumen:

Es bastante difícil obtener acceso al panel de administración; por lo tanto, también puedes cargar el shell a través del panel de administración, lo que significa que puedes cargar el shell a través de las vulnerabilidades de vola, pero si lo incluyes, hay archivos para algunos hacks que require 777 - luego en nuestra carpeta de inclusiones hay denegación de todos - ¡No uses el shell!
y en las carpetas restantes puede establecer permisos en 644, si ha realizado todos los pasos; entonces será bastante difícil cargar cuando configuración correcta chroot"inga (o como se llame - la palabra salió volando de mi cabeza no del todo sobria)...
También hemos agregado protección contra los propios administradores, quienes se escabullen sin llegar a ninguna parte, exponiéndose así a XSS y troyanos.
(c)yo

Cualquier motor requiere ciertas acciones para optimizarlo y lograr un rendimiento mejor y más rápido. En nuestro caso hablaremos de optimizar Vbulletin 4.

Dado que nuestro motor de foro se actualiza constantemente, no escribiré sobre la optimización de versiones anteriores de Vbulletin, sino que comenzaré con la versión 4.1.12. Aunque es posible, complementaré gradualmente este artículo con optimización para Versión anterior, ya que no todo el mundo cambia a otros más nuevos.

Aquí daré algunos ejemplos para que tu foro Vbulletin sea más rápido y mejor (comenzando por las cosas más simples y pasando a las más complejas). Tenga en cuenta que lo que funciona para mí no necesariamente funcionará para usted. Por lo tanto, usted realiza todos los cambios bajo su propia responsabilidad y riesgo.

Deshabilitar la lista de usuarios.

Existe una manera sencilla de desactivar simplemente la función en AdminCP. (Configuración -> Opciones -> Opciones de listado de usuarios)

Esto no es global, por supuesto, y puedes omitirlo y no hacerlo, simplemente hazte la pregunta: ¿lo necesitas? Al tener una lista, los usuarios pueden ordenarla, ver quién tiene más mensajes, reputación, etc. ¿Tus usuarios están usando esto? Probablemente no... ¿cuándo fue la última vez que usaste esta lista?

En lo que a mí respecta, me parece que estas listas solo benefician a los spammers, ya que es la forma más sencilla de recopilar todos los nombres de los participantes en el foro Vbulletin 4 para enviar spam en mensajes privados.

Además, la consulta necesaria para generar una lista de usuarios es terrible para los servidores de bases de datos y puede provocar una gran carga del servidor.

Mayor velocidad al procesar una lista de mensajes personales.

Si nunca ha importado mensajes personales de fuentes externas Con Impex u otras herramientas, puede confiar de forma segura en la clasificación por ID de los mensajes privados. La clasificación por ID hará que su servidor de base de datos no tenga que volcar mensajes privados en una tabla temporal para realizar la clasificación (haciendo que la consulta sea mucho más rápida).

Para hacer esto, necesita registrar un pequeño módulo con una ubicación en private_messagelist_filter y escribir lo siguiente en él:

If ($sortfield == "pmtext.dateline") $sortfield = "pm.pmid";

Y eso es todo, acabas de hacer que private.php sea ~20% más rápido.


Configuramos una búsqueda más eficiente de los últimos mensajes del usuario.

Vamos a FTP, buscamos el archivo que incluye /class_userprofile.php y reemplazamos los datos que contiene de la siguiente manera, buscamos:

$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_PREFIX . "publicar COMO publicación INNER ÚNETE " . TABLE_PREFIX . "hilo COMO hilo USANDO (threadid) DONDE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " Y post.visible = 1 ORDEN POR post.dateline DESC LÍMITE 20 ");

y reemplácelo con esto (más específicamente ORDENAR POR):

$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_PREFIX . "publicar COMO publicación INNER ÚNETE " . TABLE_PREFIX . "hilo COMO hilo USANDO (threadid) DONDE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " Y post.visible = 1 ORDEN POR post.postid DESC LÍMITE 20 ");

Esto hace que la solicitud sea un poco más correcta de lo que ya es. De esta manera no tendrá que ordenar en una tabla temporal. Para usuarios con más de 1000 mensajes, la solicitud inicial tardaría unos 10 segundos, en nuestro caso mucho menos. Esto se aplica principalmente al perfil de usuario de Vbulletin 4 para mostrar publicaciones recientes.

Consultando el índice de temas.

Si sus foros tienen un orden de clasificación predeterminado establecido sin cambios como lo hicimos anteriormente, asegúrese de que todos sus índices estén en sus tablas. Hubo casos en los que los índices se superponían por razones que desconocía y algunos foros no se abrían.

Propongo que la clasificación predeterminada sea en formato de fecha (la columna que usa estos datos se llama "línea de fecha") y, para implementar esto, ejecutemos la consulta:

ALTER TABLE hilo AGREGAR ÍNDICE forumid2_dp (forumid, visible, sticky, dateline)

Esta solicitud se aplica a mí específicamente, en su caso forumid2_dp debería tener su nombre. Úselo bajo su propio riesgo.

Tenga cuidado al instalar complementos.

El hecho de que alguien cree módulos y hacks no significa que estén hechos solo para usted, que hayan trabajado en los grandes foros de Vbulletin 4 y que estén libres de errores. Un excelente ejemplo son los informes de hackeos masivos mediante un hack u otro.

Por supuesto, podemos suponer que los desarrolladores no pueden tenerlo todo en cuenta y eliminar todos los trucos para que no entren en conflicto, pero... Asegúrese de que el módulo Vbulletin no cause cargas pesadas base de datos, asegúrese de que el hack tenga el potencial de proteger contra inyección SQL o XSS. Lamentablemente, existen miles de aplicaciones y modificaciones y simplemente no es posible comprobarlo todo. Será mejor si escribes todos los trucos tú mismo o si los pides a otra persona. Diseñado específicamente para usted y sus tareas.

No utilice tablas en InnoDB.

Aquí, por supuesto, pueden escupirme en la cara, ya que este tema ya ha sido discutido un millón de veces, pero por experiencia propia puedo decir que trabajo 100% en tablas MyISAM para cualquier acción. A veces proceso 1000 solicitudes por segundo.

Si ya está empezando a preocuparse por dónde se cuelga todo durante las consultas, especialmente en la nueva búsqueda de Vbulletin, cambie las tablas de InnoDB a MyISAM. MyISAM responde más rápido a solicitudes individuales porque no es necesario administrar el bloqueo de registros individuales. InnoDB es más rápido en general, pero sólo porque permite que las consultas se ejecuten simultáneamente. Si sus consultas ya se ejecutan rápidamente en MyISAM, no es necesario cambiar a InnoDB. EN MI HUMILDE OPINIÓN.

Calificación del artículo

0%

Clasificación

Opiniones de los usuarios: 0,35 (1 votos)

Probablemente hayas visto muchas veces foros sobre el motor vBulletin. Los foros como tal ya no están de moda, pero vBulletin sigue siendo uno de los motores más populares. En su última (quinta) versión, se encontraron varias vulnerabilidades que pueden arruinar enormemente la vida de un administrador. En este artículo te contaré cómo se utilizan.

El primer problema es el filtrado incorrecto de los datos del usuario. Lo informó un investigador de seguridad independiente que deseaba permanecer en el anonimato. La vulnerabilidad, aunque tiene algunas limitaciones, ha recibido un estado crítico porque permite leer cualquier archivo y ejecutar código arbitrario en el sistema de destino.

La segunda vulnerabilidad fue encontrada por investigadores de TRUEL IT y recibió el identificador CVE-2017-17672. Está relacionado con las funciones de deserialización de datos en el motor y un atacante puede utilizarlo para eliminar archivos arbitrarios en el sistema.

Se han publicado informes completos que detallan ambos problemas como parte del programa Beyond Security de SecuriTeam. También hay exploits PoC para demostrar vulnerabilidades. Repasemos todo esto en orden.

Preparativos

Utilicé la distribución WAMP como servidor.

Leer archivos, ejecutar comandos

Entonces, el motivo de la primera vulnerabilidad es la lógica incorrecta al procesar el parámetro routestring, que permite a un atacante incluir cualquier archivo en el disco mediante include y ejecutar el código PHP que se encuentra en él.

Nuestro camino comienza con el archivo más importante: index.php, donde tiene lugar la inicialización básica de la aplicación.

/index.php
48: $aplicación = vB5_Frontend_Application::init("config.php"); ... 60: $enrutamiento = $aplicación->getRouter(); 61: $método = $enrutamiento->getAction(); 62: $plantilla = $enrutamiento->getTemplate(); 63: $clase = $enrutamiento->getControllerClass();

Veamos el método vB5_Frontend_Application::init.

/incluye/vb5/frontend/application.php
13: la clase vB5_Frontend_Application extiende vB5_ApplicationAbstract 14: ( 15: función estática pública init($configFile) 16: ( 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Frontend_Application(); 20: self::$instancia->enrutador = nuevo vB5_Frontend_Routing(); 21: self::$instancia->enrutador->setRoutes();

Aquí estamos interesados ​​en el método setRoutes.

47: función pública setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $ruta = $_GET[" cadena de ruta"];

La variable $path contiene el valor de datos de usuario del parámetro de cadena de ruta. Puede pasarle la ruta a la página del foro y se cargará.



Digamos que pasamos /test .

Después de asignar una variable, hay un fragmento de código que elimina la barra al principio de la línea, si está presente.

/incluye/vb5/frontend/routing.php
75: if (strlen($ruta) AND $ruta(0) == "/") 76: ( 77: $ruta = substr($ruta, 1); // $ruta = "prueba" 78: )
incluye\vb5\frontend\routing.php
83: if (strlen($ruta) > 2) 84: ( 85: $ext = strtolower(substr($ruta, -4)); 86: if (($ext == ".gif") O ($ext == ".png") O ($ext == ".jpg") O ($ext == ".css") 87: O (strtolower(substr($path, -3)) == ".js" )) 88: ( 89: encabezado("HTTP/1.0 404 no encontrado"); 90: morir(""); 91: ) 92: )

Como puede ver, el cheque es bastante extraño. Como mínimo, la presencia de una lista de extensiones prohibidas escritas directamente en el código resulta confusa. Y, en general, el hecho mismo de que la extensión se obtenga cortando cuatro caracteres del final de la línea (línea 85) es desconcertante. Por lo general, si intentamos recibir un archivo con extensión gif, png, jsp, css o js, ​​el servidor devolverá una página 404 y el script dejará de ejecutarse. Cuando se pasan todas las comprobaciones, se llama al método getRoute de la clase vB_Api_Route mediante callApi. Busca rutas adecuadas en función de la información proporcionada por el usuario.

La continuación está disponible sólo para miembros.

Opción 1. Únase a la comunidad del "sitio" para leer todos los materiales del sitio

¡La membresía en la comunidad dentro del período especificado le dará acceso a TODOS los materiales de Hacker, aumentará su descuento acumulativo personal y le permitirá acumular una calificación profesional de Xakep Score!

Seleccione el motor del foro. IPB, vBulletin, Phpbb


Un motor de foro es algo necesario para un sitio serio. El principio es bien conocido: cualquier sitio web debe ser interactivo. Hay muchas formas de lograr interactividad, desde comentarios hasta artículos y tu propia temática. red social. El foro es quizás la herramienta más universal de verdad. comentario con los visitantes.

El foro te permite:

Cree una audiencia permanente de usuarios del sitio que regresarán constantemente y estarán activos. La actividad de los visitantes es dinero real.

Ahorro en contenido. Si crea un foro, el contenido será creado por los usuarios y el propietario no necesitará comprarlo. grandes cantidades Textos para promoción.

Extensión núcleo semántico sitio. La creación de un foro permite, sin mucho esfuerzo por parte del propietario, ampliar el número de solicitudes para las cuales se promociona el sitio.

Instalar el motor del foro es un proceso simple, pero su configuración y administración adicional pueden causar muchas dificultades a un principiante. Sin embargo, existe una gran cantidad de documentación para cada motor popular, por lo que si lo desea, podrá comprenderlo todo. O contrate a un administrador profesional.

En general, la gran mayoría de los motores son bastante adecuados para el funcionamiento normal del foro; tienen aproximadamente el mismo conjunto de funciones básicas, incluido un sistema flexible para configurar los derechos de acceso de los usuarios. Se distinguen por la facilidad de administración, un conjunto de plantillas y complementos, confiabilidad y apoyo técnico Desde el fabricante. Comenzaré la revisión con los tres primeros en Runet: Phpbb es quizás el motor más popular para crear un foro en Runet. Para un principiante, la principal ventaja de Phpbb es que tanto el motor del foro como todo tipo de complementos son gratuitos. También hay muchas comunidades diferentes de fans de Phpbb, tanto en Internet de habla rusa como en el extranjero.

Otras ventajas incluyen la velocidad de operación, la simplicidad y la relativa flexibilidad de configuración, un gran número de Plantillas y complementos. Si crea un foro en phpbb, puede usarlo como parte del sitio (existe la posibilidad de integración con muchos cms), pero también puede crear un portal más o menos completo basado en él.

Pero Phpbb también tiene un inconveniente: es muy vulnerable tanto a ataques de spam como a piratería informática con la introducción de su código. Para evitar esto, debe instalar complementos especiales para protegerse contra el spam y también actualizar periódicamente el motor instalando nuevas versiones. Lamentablemente, esto no siempre proporciona una protección del 100%, por lo que tendrá que controlarlo usted mismo manualmente o designando moderadores. Puedes descargarlo en el sitio web oficial https://www.phpbb.com/

IPB (Invision Power Board) es un motor de foro pago que inmediatamente asusta a la mayoría de los principiantes. Sin embargo, si se pretende que el proyecto sea serio, es poco probable que una cantidad de aproximadamente 200 dólares para un IPB detenga a un webmaster determinado. Pero piense diez veces si está listo, incluso en aras de una gama muy amplia de posibilidades, para rehacer constantemente el motor IPB, a riesgo de complicar su soporte y actualizaciones.

El sistema tiene una gran cantidad de posibilidades de integración con diferentes servicios– varios cms, blogs, chats, galerías de fotos, etc. Quizás un portal en este motor pueda considerarse un sitio web completo, por supuesto, con ciertas configuraciones.

Y aquí hay una mosca importante en el ungüento: el motor IPB se actualiza muy raramente, los propios usuarios actúan como probadores, quienes encuentran vulnerabilidades y errores. En cualquier caso, el código acaba siendo “torcido” y subóptimo. No existen comunidades de fans rusas de alta calidad; todos los problemas tendrán que resolverse de forma independiente. Las localizaciones rusas también están lejos de ser perfectas; los archivos de idioma a menudo deben editarse para su visualización normal.

Debido a la complejidad e incorrección del código, los foros en IPB se muestran correctamente solo en Firefox; en otros navegadores pueden haber problemas menores;

También puede haber un problema al actualizar de la segunda a la tercera versión: la estructura de máscaras y clases ha cambiado y, si se modifica el foro, la actualización será problemática.

El sistema de plantillas IPB es extremadamente confuso, cambiar la apariencia no es tan fácil, necesitarás "revisar" muchos archivos. El diseño estándar no es malo y bastante familiar, pero es estándar, lo que, en sí mismo, puede ser un inconveniente importante para muchos. Puede descargar Invision Power Board en el sitio web oficial http://www.invisionpower.com/apps/board/
vBoletín (vb). EN segmento de habla rusa Internet vBulletin se llama tradicionalmente “vobla” o “bun”. Esto es probable mejor motor foro, nada más que agregar. El precio es de unos 250 dólares (la licencia se compra por un año e incluye actualizaciones gratuitas durante este tiempo) está completamente justificado y seguramente se amortizará ahorrando tiempo y nervios. Aquí todo funciona como un reloj. Está bastante claro por qué se está tomando el dinero: el motor vBulletin se mejora constantemente y está claro que en él están trabajando programadores profesionales, no solo fanáticos.

No tiene sentido enumerar todas las funciones: esta (o los complementos) implementa casi todo lo que un administrador podría necesitar para crear un foro. Hay citas múltiples y soporte para podcasting y comunidades de usuarios, y grupos sociales, y un sistema de reputación flexible y mucho más.

Por supuesto, vBulletin tiene una gran cantidad de complementos y comunidades de usuarios, por lo que no habrá problemas con el mantenimiento, sobre todo porque existe un equipo de soporte oficial. La desventaja de vBulletin, aunque no muy grande, son las adiciones pagas, por ejemplo, para los blogs de los usuarios.

En general, el foro no tiene defectos. Puede recomendarse para proyectos grandes y serios precisamente por su confiabilidad y resistencia a todo tipo de ataques. Como resultado, crea una carga significativa en el servidor, especialmente con complementos instalados, pero para proyectos serios generalmente usan servidores y administradores serios. Puedes descargarlo en el sitio web oficial http://www.vbulletin.com/

SMF (Foro de Máquinas Simples). Un motor sencillo que cualquier principiante puede manejar. La simplicidad se compensa con la falta de funcionalidad, pero no todo el mundo la necesita juego completo"papas fritas". La instalación de complementos (mods) está convenientemente organizada en el motor; se pueden descargar e instalar directamente desde el panel de administración con solo unos pocos clics.

El panel administrativo es algo inusual, pero para un principiante esto no es una desventaja, porque no tiene experiencia ni hábitos con otros motores. La falta de familiaridad no significa inconvenientes. Otra ventaja es la presencia gran número Convertidores para cambiar desde otros motores.

El foro es muy confiable en términos de piratería y spam... bueno, el spam es un problema eterno que necesita y se puede combatir. Aunque SMF es gratuito, los desarrolladores y usuarios experimentados brinde asistencia a todos los que la necesiten en el foro oficial del proyecto.

Con base en este motor, también puede crear sitios web completos utilizando complementos especiales para portales (Adk Portal, EzPortal, etc.). Sin embargo, la gran pregunta es si vale la pena crear un portal basado en un foro. Es más lógico crear un foro como complemento al sitio principal en un motor completo.

Tablero de intelecto (IntBoard). Un motor de foro para fans, escrito por un fan y abandonado con éxito por él. Sin embargo, el abandono no es motivo para no recomendarlo categóricamente.

Hablemos de las deficiencias de inmediato. Los problemas a menudo surgen de la nada, no hay un gran soporte, el foro oficial está prácticamente muerto y los propietarios de foros sobre este motor rara vez responden allí. Prácticamente no hay complementos ni plantillas: todo debe hacerlo usted mismo.

Pero también hay ventajas. El código del motor es lo suficientemente simple como para que incluso un principiante pueda descubrirlo y solucionar algunos problemas por sí mismo, así como ajustar algunas funciones por sí mismo. El motor es muy liviano y crea poca carga en el servidor. El panel de administración es extremadamente no estándar, pero quizás tenga la mejor oportunidad para configurar los derechos de los usuarios; un sistema de grupos y derechos de acceso a cada sección específica te permitirá crear un sistema de moderación potente y eficaz.

PunBB. Simplemente fácil un motor con una comunidad bastante poderosa que ayudará a resolver problemas emergentes. Poco exigente con los recursos del servidor. El panel administrativo es intuitivo.

Diseño realizado con ayuda css, por lo que a los principiantes que están acostumbrados al diseño de tablas les resultará inusual editar plantillas. Sin embargo, esto también es una ventaja: es hora de dominar las tecnologías modernas.

Un grave inconveniente es la alta disponibilidad de spam: es necesario controlar esto manualmente, además de los complementos instalados.

ExBB es un motor gratuito cuya peculiaridad es que funciona con bases de datos de texto sin necesidad de utilizar MySQL. Quizás hace 10 años esto era una ventaja: estos sitios creaban menos carga y el alojamiento con soporte de base de datos era mucho más caro. Hoy en día cualquier hosting soporta MySQL y las bases de datos de texto son una desventaja; son mucho más lentos y menos confiables.

Sin embargo, puedes crear un foro usando este cms para un sitio pequeño donde no se espera una gran afluencia de visitantes y mensajes. Es fácil de instalar, fácil de mantener y tiene una gran cantidad de usuarios y un foro de soporte en el sitio web oficial.

Vanilla: este motor poco conocido se posiciona como una adición a Wordpress, uno de los cms más populares. Entre características estándar WordPress no tiene la capacidad de crear un foro. Por supuesto, puedes adaptar cualquier motor de foro, pero no es tan fácil. Vanilla se instala como un complemento normal.

El sistema de mensajes personales se implementa de una manera inusual: se publican como temas regulares, pero son visibles solo para aquellos a quienes están dirigidos. En cualquier tema, además del público, puedes dejar un mensaje personal. Inusual, pero bastante conveniente. En general, parece que los desarrolladores decidieron crear un foro diferente a todos los demás. Si esto es una ventaja o una desventaja, usted decide.

En general, hay muchos motores: puede probar, puede decidirse inmediatamente por algo popular, incluso puede escribir o pedir algo propio. Es imposible decir sin ambigüedades qué opción será la óptima para cada caso específico.

La administración de este tipo de servicios no suele ser responsable de nada, por lo que si tu foro desaparece en algún momento maravilloso, en el mejor de los casos te pedirán disculpas.

En el próximo artículo te contaré cuáles hay.

Si administra su propio foro, tarde o temprano tendrá que pensar en protegerlo; después de todo, ¡los atacantes no están dormidos! En este tema, yo (con la ayuda de Habrowser ReaM) he compilado una lista de consejos para aumentar la seguridad de su foro. ¿Interesado? Bienvenido al truco :)

Vamos a empezar:

1) Actualicemos hasta el final de nuestra línea (3.5.x, 3.6.x, 3.7.x)

Descripción: Sin comentarios

¿Por qué?: Jelsoft cierra constantemente las vulnerabilidades emergentes. Nadie quiere trabajar en el foro con fugas del año pasado, ¿verdad?

2) Cambiar el nombre de los paneles de administración y moderación.

Descripción: Cambiamos el nombre del panel de administración, pero en la configuración bajo ningún concepto escribimos la ruta a nuestro panel de administración renombrado. También cambiamos el nombre del mod, pero ya se puede registrar en la configuración (aunque tampoco es deseable), ya que es menos vulnerable. Ver por ti mismo :)

¿Por qué?: Si cambias el nombre del panel de administración y no especificas la ruta en la configuración, será mucho más complicado encontrarlo y por tanto aplicar XSS o incluso algo peor. Hay desventajas: - editar un perfil y agregar moderadores dejará de funcionar sin editar los enlaces manualmente.

3) Coloque .htaccess en el panel de administración:

Descripción:
a) si la ip es estática, entonces
orden permitir, negar
Negar todo
permitir desde %your_IP%

B) También configuramos una contraseña adicional:

¿Por qué?: La protección adicional con contraseña para el panel de administración nunca está de más.

4) Eliminar archivos y carpetas:

Descripción:
a) Eliminar archivos:
/validator.php (si está disponible)
/checksum.md5 (si está disponible)
b) Eliminar carpetas:
/instalar/

¿Por qué?: Los archivos inseguros de versiones cero pueden permitir ver la lista de archivos y la carpeta de instalación es muy dañina =)

5) Mover archivos adjuntos y avatares

B) Avatares -> Tipo de almacenamiento de imágenes del usuario
Los avatares deben almacenarse en una base de datos.

¿Por qué?: La línea 3.5, si mi memoria no me falla, proporcionaba enlaces directos a imágenes que, si la configuración del alojamiento era incorrecta, daban la posibilidad de inundar el shell.

6) Establecer permisos en carpetas

Descripción: Si se completó el paso 5, ahora podemos configurar de forma segura los derechos de las carpetas custom_* en 644, ya que no las necesitamos ahora (o puede eliminarlas). A continuación, si instaló vBulletin de acuerdo con las instrucciones, todas las carpetas en / (raíz) deben tener permisos 644. Si no, establezca los permisos en 644.

¿Por qué?: Hacemos que a un hacker le resulte difícil llenar el caparazón.

7) Nunca, jamás, para nadie, habilitamos la opción “Permitir html”.

Descripción: Sin comentarios. ¿Por qué alguien necesitaría HTML?
¿Por qué?: Posibilidad de ataques XSS cuando la función está habilitada.

8) Coloque .htaccess en la carpeta de inclusión.

Descripción: Colocamos .htaccess en la carpeta de inclusión con el siguiente contenido:

Orden permitir, negar
Negar todo

¿Por qué?:

  • Si de alguna manera un proyectil se inunda allí, no podrán acceder a él.
  • si no tiene dosis, entonces es posible que el intérprete de php se caiga y solo quede Apache, y Apache ya le permite leer archivos php, por lo tanto, será posible leer todos los archivos de la carpeta /includes/ - la misma configuración .php, que no es muy bueno.

9) Inserte el siguiente .htaccess en el directorio con archivos que tienen atributos 0777:

iglesia _http://vbsupport.org/forum/member.php?u=30

Descripción:

EliminarHandler.phtml
EliminarHandler.php
EliminarHandler.php3
EliminarHandler.php4
EliminarHandler.php5
EliminarHandler.cgi
EliminarHandler.exe
EliminarHandler.pl
EliminarHandler.asp
EliminarHandler.aspx
EliminarHandler.shtml


Orden permitida, denegada
Negar todo

¿Por qué?: Guiones con extensiones especificadas Ya no es posible utilizarlo dentro de un directorio con este htaccess.

10) Edite config.php, ingrese la identificación de los administradores en el campo de usuario no eliminable.

Descripción:/incluye/config.php. Simplemente ingrese la identificación de los administradores después de haber realizado todos los cambios necesarios en el perfil.
¿Por qué?: No es necesario que nadie vuelva a cambiar de perfil de administrador, ni siquiera el suyo propio. Si lo necesita, eliminarán la identificación del archivo, la cambiarán y la devolverán. ¡La seguridad es lo primero! :)

11) Después de eliminar mods/hacks, no olvides eliminar los archivos que descargaste junto con ellos.

Descripción: Sin comentarios
¿Por qué?:¿Por qué necesita archivos adicionales en el servidor? No hay necesidad...

12) Nunca guardes copias de seguridad al alcance del servidor web.

Descripción: Sin comentarios
¿Por qué?: Estarán disponibles para descargar para cualquier persona que reconozca el nombre de la copia de seguridad. Por supuesto, puede agregar htaccess, pero aún así, por razones de seguridad, realice copias de seguridad fuera del alcance del servidor web.

13) Instale el complemento "Inspector de archivos".

Autor: Fantasma (http://www.vbsupport.org/forum/member.php?u=38422)

Descripción (cita):

Mientras revisaba mis scripts antiguos, me encontré con este producto: File Inspector. Estos son varios módulos para vBulletin, con los que puede guardar una lista de archivos existentes en la base de datos y verificar de vez en cuando si alguno de ellos ha cambiado (el tamaño, el propietario y los derechos de acceso se guardan para cada archivo): el módulo incorporado La tarea cron notificará al administrador por correo sobre las inconsistencias encontradas. Puede guardar varias copias (revisiones) diferentes de listas de archivos en la base de datos para compararlas (la verificación automática con notificación por correo electrónico se verifica solo con la última revisión). La apariencia y las configuraciones disponibles se pueden ver en las capturas de pantalla.

INSTALAR: Para instalar, debe cargar dos archivos PHP desde el archivo al servidor e importar el producto desde el archivo “product-gfi.xml”.

ACTUALIZACIÓN: No se proporciona actualización de la versión, por lo que para instalar una nueva, se recomienda desinstalar primero la versión anterior.

zy El producto funcionó correctamente en todas las versiones desde 3.6.8 hasta 3.8.1 inclusive. Es cierto que en diferentes lugares se agregó un enlace al menú desplegable en la barra de navegación, pero estas son cosas menores.


Descargar desde vbsupport.org

¿Por qué?: Algo indispensable para buscar shells en un sitio web, pero debe instalarse con anticipación.

Resultado:

Es bastante difícil acceder al panel de administración; por lo tanto, cargar un shell a través del panel de administración también es difícil. Puede cargar un shell a través de las vulnerabilidades vB, pero si lo carga en /includes (para algunos hacks hay archivos que requieren 777), entonces en nuestra carpeta de inclusiones habrá denegación de todos: simplemente no se podrá acceder al shell desde el exterior. !

Puede establecer permisos en 644 para las carpetas restantes, si ha completado todos los pasos; entonces será bastante difícil cargarlas, especialmente si chroot está configurado correctamente. Y, por último, hemos añadido protección contra los propios administradores, que se escabullen, exponiéndose así a XSS y troyanos.

En realidad, eso es todo... Este es mi primer tema sobre Habré, así que por favor no patees demasiado fuerte :)

UPD: Movido a “Seguridad de la información”.