
Por favor lea esta pregunta atentamente.
Tengo inicio de sesión SSH de forma remota en un servidor y no tengo privilegios de sudo y quiero crear un oyente en ese servidor. Para que cualquier conexión entrante se muestre en mi consola, es decirminombre@anyip consola.
Entonces ¿cómo hago?
Respuesta1
Entonces, ¿quieres espiar a los demás usuarios del servidor?
Sin privilegios de root, no puedes hacerlo de manera efectiva. Lo más cerca que puede estar es ejecutar el netstat -an
comando repetidamente y analizar el resultado. Si el sistema utiliza contenedores o alguna otra tecnología de aislamiento, netstat
es posible que el comando solo muestre las conexiones de su contenedor. En un servidor con seguridad reforzada, el netstat
comando podría incluso estar restringido sólo para administradores.
Con privilegios de root, podría, por ejemplo, configurar una iptables
regla de registro que provocaría la creación de un mensaje de registro para todas las nuevas conexiones entrantes. Y luego podría configurar el demonio syslog para escribir esos mensajes en un archivo específico o para enviarlos a través de la red a algún otro sistema. Si envía los mensajes de registro a través de la red, entonces tendrá que configurar un receptor para los mensajes de registro en el sistema al que envía los mensajes.
En un servidor que puede tener varios usuarios, es posible que se produzcan muchas conexiones entrantes simultáneamente. Algunas de ellas serían en realidad conexiones internas entre procesos dentro del mismo servidor; en particular, los procesos Java tienden a utilizar muchas conexiones de "red" para comunicarse entre diferentes procesos dentro del mismo servidor. En tal situación, la información que buscas quedaría oculta entre una abrumadora cantidad de mensajes sobre conexiones que no son importantes para ti. Por lo tanto, podría resultarle ventajoso ser más específico en sus solicitudes de información.
Si se me permite preguntar, ¿cuál es el motivo por el que necesita la información sobre las conexiones entrantes? Podría ser posible producir la información que se ajuste a sus necesidades específicas de alguna otra manera.
Por ejemplo, si necesita mapear las conexiones de red del servidor para algún tipo de traspaso de la responsabilidad administrativa, primero podría usar netstat -na -A inet
y netstat -na -A inet6
para identificar todos los puertos TCP/UDP que sean capaces de recibir conexiones entrantes. Para los puertos TCP, simplemente buscará los puertos en LISTEN
el estado; para los puertos UDP, deberá verificar todos los puertos enumerados para determinar si se usan para paquetes entrantes o salientes.
Una vez que tenga una lista de servicios realmente activos en el sistema, puede excluir las cosas que no le interesan; por ejemplo, si el servidor se transfiere de un proveedor de alojamiento a otro, los puertos utilizados por la infraestructura de monitoreo del servidor del antiguo proveedor no serán muy interesantes, ya que es probable que el antiguo proveedor elimine sus utilidades de monitoreo antes de que entrega real, y es probable que el nuevo proveedor instale sus propias herramientas de monitoreo.
El siguiente paso podría ser revisar los registros de los servicios interesantes: si puedes acceder a los registros y tienen la información que necesitas, esa podría ser la mejor opción. Si no tiene el acceso necesario, una solicitud para leer acceso a los registros antiguos de un servicio específico podría ser mejor recibida por el administrador del servidor que una solicitud integral para monitorear todas las conexiones entrantes.
Con un poco de secuencia de comandos, puede buscar en los registros mensajes que indiquen conexiones entrantes ( grep
), seleccionar la información de la fuente de la conexión (con sed
o awk
cualquier herramienta que prefiera) y luego eliminar duplicados (con sort
seguido de uniq
). Al procesar cualquier registro existente como este, es posible que tenga más posibilidades de detectar conexiones que ocurren raramente (por ejemplo, una vez a la semana o al mes) que simplemente monitorear todas las conexiones entrantes durante unos días.