Mais simplesmente, você pode tornar os arquivos de log do utmp não legíveis para o mundo. Isso é mencionado na página man utmp :
Unlike various other systems, where utmp logging can be disabled by removing the file, utmp must always exist on Linux. If you want to disable who(1) then do not make utmp world readable.
assim:
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)
Portanto, isso desativa who
completamente e não ignora os endereços IP.
Outra idéia (talvez um pouco tola) para esconder apenas os IPs é permitir que o seu servidor ssh escute em outra porta (1234) e somente no host local. Em seguida, execute um "proxy" (socat, netcat) para encaminhar de public_ip: 22 para localhost: 1234:
-
altere a configuração do servidor ssh, / etc / ssh / sshd_config:
Porta 1234
-
executa um proxy na máquina do servidor ssh:
socat TCP-LISTEN: 22, bifurcação TCP: localhost: 1234
Agora, todos os logs de utmp ( who
, last
) mostrarão o mesmo IP de host local inútil.
Observação talvez seus usuários ainda possam ver as conexões reais por meio de netstat
. Em vez do proxy do espaço do usuário ( socat
), você também pode configurar as regras iptables
NAT e MASQUERADING para o tráfego ssh de entrada. Ou você sempre pode usar um "ssh hop" extra para sempre fazer login a partir do mesmo IP. Isso é deixado como um exercício para o leitor. ;)