tomcat-logo

Cerrar, bloquear o restringir el puerto 8080 en Apache Solr / Tomcat 6

Si instalaste un Apache Solr y lo estas usando por medio de Drupal 6, otro CMS o una propia implementación, seguramente no te interese que dicho servicio se pueda acceder por medio del puerto 8080 (o el puerto asignado en tu servidor para Tomcat).

Bueno, un ejemplo es mucho mas claro que casos hipotéticos, así que les planteo mi necesidad:
Tengo un Ubuntu con un Drupal configurado con el modulo “apachesolr” que se conecta a localhost en el puerto 8080. Hasta ahí todo normal, el problema es que si a alguien se le ocurre tipear la URL de mi pagina montada en Drupal pero por el puerto 8080… va a poder ver Tomcat, y lo que es mas peligroso, Apache Solr y su administrador (Solr carece de mecanismos de seguridad porque los delega a Tomcat).

Bueno en el ejemplo que comente antes tenemos una solución ideal: Capar el puerto 8080 para que solo se pueda acceder por “localhost”.

Para lograr nuestro cometido solamente tenemos que editar un XML: “server.xml“:

sudo gedit /etc/tomcat6/server.xml

Busca la linea:

<connector port="8080" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443"></connector>

Comentarla:

<!--
<Connector port="8080" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443" />
-->

Y poner por dejado de la linea anterior lo siguiente:

<connector port="8080"
        address="127.0.0.1"
        maxHttpHeaderSize="8192"
        maxThreads="15"
        minSpareThreads="2"
        maxSpareThreads="7"
        enableLookups="false"
        redirectPort="8443"
        acceptCount="100"
        connectionTimeout="20000"
        disableUploadTimeout="true"
        compression="on"
        compressionMinSize="0"
        noCompressionUserAgents="gozilla, traviata"
        compressableMimeType="text/html,text/xml"></connector>

Guarda los cambios y reinicia Tomcat:

sudo service tomcat6 restart

Gualá. Comprobemos que haya funcionado:

Primero mira cual es la ip que tiene tu servidor haciéndole ping:
Usa “ifconfig” para ver la ip, que seguramente tenga la pinta “192.168.1.xxx” o “10.0.2.xx”

bien, ahora suponiendo que seguis en Ubuntu (es mi ejemplo y uso Ubuntu :) ) abri un navegador y proba a acceder a:

http://localhost:8080

y a:

http://192.168.1.xxx:8080 (las xxx reemplazalas por el resto de tu IP).

Como pudiste ver, podes acceder a localhost pero no por medio de la IP, incluso si probas a acceder a esa IP desde otra maquina/ordenador/PC/ipad/ipod/android/o-lo-que-sea XD

Hemos acabado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>