
Soy administrador de un sistema Linux, iniciaré sesión en todos los sistemas de mi red local. No quiero que mi IP aparezca mediante el comando who. Por ejemplo, si alguien ingresa:
$ who
revela mi IP. ¿Hay alguna forma de ocultar mi IP del comando who de Linux?
[EDITAR por chips]
¡Esto es importante para aquellos preocupados por el pirateo de sus servidores de servicios personales! ¡Obviamente, querrás ocultar la IP de tu hogar actual de un atacante para que no encuentre un vector en ti!
Respuesta1
Lo más simple es hacer que los archivos de registro utmp no sean legibles en todo el mundo. Esto incluso se menciona en elpágina de manual de utmp:
A diferencia de otros sistemas, donde el registro utmp se puede desactivar eliminando el archivo,utmp siempre debe existiren Linux. Si desea desactivar quién (1), entonces haganohacer mundo utmplegible.
como esto:
sudo chmod go-r /var/log/wtmp /var/run/utmp
who # shows nothing, not even an error!
sudo who # still works for root
rudi :0 2017-04-18 19:08 (console)
Entonces esto se deshabilitaría who
por completo, no solo omitiría las direcciones IP.
Otra idea(tal vez un poco tonto) ocultar solo las IP podría ser dejar que su servidor ssh escuche en otro puerto (1234) y solo en localhost. Luego ejecute un "proxy" (socat, netcat) para reenviar desde public_ip:22 a localhost:1234:
cambie la configuración del servidor ssh, /etc/ssh/sshd_config:
Puerto 1234
ejecute un proxy en la máquina del servidor ssh:
socat TCP-ESCUCHAR: 22, bifurcación TCP: localhost: 1234
Ahora todos los registros utmp ( who
, last
) mostrarán la misma e inútil IP del host local.
Notatal vez sus usuarios aún puedan ver las conexiones reales a través de netstat
. En lugar del proxy del espacio de usuario ( socat
), también puede configurar iptables
reglas NAT y MASQUERADING para el tráfico ssh entrante. O siempre puedes usar un "salto ssh" adicional para iniciar sesión siempre desde la misma IP. Esto se deja como ejercicio para el lector. ;)
Respuesta2
La who
utilidad analiza los datos de la /var/run/utmp
base de datos. Esta base de datos se actualiza login
cuando inicia sesión en el sistema (y también mediante otras utilidades, consulte man utmp
), y los datos se registran de forma persistente /var/log/wtmp
si ese archivo existe.
Estos registros son útiles para rastrear por qué y cuándo un sistema pudo fallar o comenzar a comportarse mal y no deben modificarse.
Entonces la respuesta es: no puede hacerlo sin modificar el comportamiento de who
o de los programas que escriben en /var/run/utmp
y /var/log/wtmp
, o modificando estos archivos (binarios) usted mismo. Y no debería hacerlo, ya que esto haría que el sistema 1) fuera inseguro y 2) fuera difícil de diagnosticar en caso de mal funcionamiento.