Cómo bloquear la función kill de storm ui en Linux

  
                

Linux tormenta sistema de interfaz de usuario tiene la función de la topología de matar si no blindado, que daría lugar a asaltar la topología puede ser fácilmente matar, si la situación es matar a la persona que apareció topología, la mayoría de las personas saben de dirección ui Para garantizar la seguridad del sistema, es necesario proteger la función de eliminación de Storm ui. Vamos a entenderlo.

Hay dos métodos:

1. aumento distal Nginx, hacer análisis de la ubicación

página de interfaz de usuario, que corresponde a la matanza botón, html está en acción:

código es el siguiente:

"entrada habilitada = " " onclick = " confirmAction (y lsquo; xxxxxxxxxx y rsquo;, ‘ xxxxxxxx y rsquo;, ‘ matar y rsquo;, es cierto, 30) y " tipo = " botón y " valor = " Mata y " definición de "

llamados js método confirmAction, este método está presente en la tormenta-core /src /ui /públicas /js /script.js, el método es el siguiente :

código es el siguiente:

función confirmAction (id, nombre, acción, espera, defaultWait) {var opta = {tipo: ‘ POST ’, URL: ‘ /topología /y rsquo; + ID + y lsquo; /y rsquo; + acción};

Si (espera) {

waitSecs var = prompt (y lsquo; ¿de verdad quieres a ’ + acción + y lsquo; topología y " ’ + name + ‘ "? ’ + ‘ En caso afirmativo, especifique wait tim e en segundo: ’, defaultWait); si (waitSecs = null &&waitSecs = " " &&ensureInt (waitSecs !!)) {opts.url + = ‘ /y rsquo; + waitSecs; } else {return false;}

} else if (! confirmar (y lsquo; ¿De verdad quiere ay rsquo; + acción + y lsquo; topología y " ’ + nombre + y lsquo; " y;? y rsquo;)) {return false;}

$ (y " de entrada [ type = botón] y ".) attr (y " personas con discapacidad y ", y " personas con discapacidad y ");. $ ajax (OPTS) .always (function () {window.location.reload ();}) fallará (function (). {alert (y " un error durante la comunicación con Nimbus y ".)}); return false;}

para ver el método se divide principalmente en dos pasos, generando un formato de solicitud de URL Post ‘ /topología /y rsquo; + ID + y lsquo; /y rsquo; + acción + y lsquo; /y rsquo; + waitSecs, donde la acción de matar, waitSecs para desencadenar kill llenar manualmente el tiempo, como 30 años aquí, el siguiente formato URL final:

código es el siguiente:

/topología /xxxxx /eliminados /xxxx

el segundo paso se basa en este conjunto desencadenar una petición AJAX, aquí sólo tenemos que preocuparse por el primer paso, Configure nginx de la siguiente manera:

El código es el siguiente:

upstream storm {

servidor 127.0.0.1:8888 peso = 3 = 3 max_fails fail_timeout = 5s;}
p> servidor <{

nombre_servidor storm.xxx.com;

Escuchar 80;

proxy_set_header anfitrión $ anfitrión;

proxy_read_timeout 3600;

proxy_set_header-reenviado-X Por $ remote_addr; access_log /var/log/nginx/storm.access.log principal; error_log /var/log/nginx/storm.error.log de depuración, la ubicación ~ * /topology/(.*)/kill/(.*) {return 403;}

lugar /{

proxy_pass http: //storm;

}

}

De esta manera, puede enmascarar la función de eliminación de la interfaz.

atención al detalle, 8080, el puerto y el conflicto nm (ver fallo https://github.com/yahoo/storm-yarn/issues/25) cuando la interfaz de usuario tormenta puerto predeterminado, y configurar la interfaz de usuario storm.yaml .port: 8888, y reinicie ui.

2. Cambiar el código, quitar el botón de acción asociado

código es el siguiente:

tormenta-core /src /ui /public /topology.html

retirados siguientes secciones:

código es el siguiente:

"div id = " topología de acciones y ""

"h2 class = " js-only y "" Topología acciones "/h2"

"p id = " topología-acciones " class = " js-only y ""

"/p"

"/div"

El segundo método debe volver a compilarse y aún no se ha probado. .

Estos son la función de tormenta matanza ui blindaje sistema Linux del método descrito, este artículo describe dos métodos por completo, debido a que el segundo método no han probado, para que pueda utilizar la primera máscara método.

Copyright © Conocimiento de Windows All Rights Reserved