Tengo una aplicación php que se conecta a otra aplicación llamada Solr (motor de búsqueda de base de datos). A través de esta aplicación php puedo agregar/eliminar documentos (registros) del índice Solr.
Sin embargo, la seguridad de Solr es baja y cualquiera con el número de puerto correcto puede acceder a Solr y eliminar documentos (registros).
Me pregunto, ¿es posible SOLO permitir que mi propia aplicación php tenga acceso a Solr de alguna manera? Preferiblemente a través de Iptables. Estoy pensando que solo puedo permitir la IP de mi propio servidor en ese puerto, y eso resolvería mi problema, porque PHP es un código del lado del servidor. Pero no estoy seguro.
Acerca de la aplicación PHP:
El sitio web es un sitio web de anuncios clasificados, y cuando los usuarios quieren agregar o eliminar anuncios clasificados, lo hacen a través de una aplicación PHP, que es esta. La aplicación tiene una función que se conecta a solr y actualiza la base de datos (índice).
Agradezco respuestas detalladas...
Gracias
Respuesta1
No puedes hacer eso con iptables. Tu mejor opción es usar algo en solr.
Respuesta2
No, no puedes controlar qué aplicación se conecta a un puerto específico, ni siquiera en la máquina local (puedes hacerlo con permisos de archivos y sockets de dominio Unix, pero no a través de una red).
Sí, debe restringir el acceso a la red en el puerto SOLR a una lista blanca específica. Y si hay máquinas que se conectan desde fuera de la LAN local, considere usar IPSEC o una VPN y restringir el acceso a ellas.
Alternativamente, para el acceso remoto, podría considerar no permitir TODO el acceso al puerto SOLR, excepto el host local y luego ejecutartúnelen ambos extremos y requiere la validación del certificado del cliente, y ejecute su propia CA de aceite de serpiente si es necesario.
HT
C.