
Ich bin ein Linux-Systemadministrator und werde mich bei jedem System meines lokalen Netzwerks anmelden. Ich möchte nicht, dass meine IP über den who-Befehl angezeigt wird. Wenn jemand beispielsweise Folgendes eingibt:
$ who
es verrät meine IP. Gibt es eine Möglichkeit, meine IP vor dem Linux-Befehl who zu verbergen?
[BEARBEITEN von chrips]
Dies ist wichtig für alle, die befürchten, dass ihre privaten Server gehackt werden könnten! Natürlich möchten Sie Ihre aktuelle private IP-Adresse vor einem Angreifer verbergen, damit dieser keinen Angriffspunkt auf Sie findet!
Antwort1
Am einfachsten könnte man die utmp-Logdateien nicht-weltweit lesbar machen. Dies wird sogar in derutmp-Manpage:
Im Gegensatz zu verschiedenen anderen Systemen, bei denen die utmp-Protokollierung durch Entfernen der Datei deaktiviert werden kann,utmp muss immer vorhanden seinunter Linux. Wenn Sie who(1) deaktivieren möchten, dannnichtmach UTMP zur Weltlesbar.
so was:
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)
Dadurch würde das who
Überspringen von IP-Adressen nicht nur vollständig deaktiviert, sondern sogar ganz verhindert.
Eine andere Idee(Vielleicht ein bisschen albern) Um nur die IPs zu verbergen, könnte man den SSH-Server an einem anderen Port (1234) und nur auf dem lokalen Host lauschen lassen. Führen Sie dann einen „Proxy“ (socat, netcat) aus, um von public_ip:22 an localhost:1234 weiterzuleiten:
SSH-Serverkonfiguration ändern, /etc/ssh/sshd_config:
Hafen 1234
Führen Sie einen Proxy auf dem SSH-Server-Computer aus:
socat TCP-LISTEN:22,fork TCP:localhost:1234
Jetzt zeigen alle UTMP-Protokolle ( who
, last
) dieselbe und nutzlose Localhost-IP an.
Notizvielleicht könnten Ihre Benutzer die echten Verbindungen immer noch über sehen netstat
. Anstelle des Userspace-Proxys ( socat
) könnten Sie auch iptables
NAT- und MASQUERADING-Regeln für den eingehenden SSH-Verkehr einrichten. Oder Sie könnten immer einen zusätzlichen „SSH-Hop“ verwenden, um sich immer von derselben IP-Adresse aus anzumelden. Dies bleibt dem Leser als Übung überlassen. ;)
Antwort2
Das who
Dienstprogramm analysiert die Daten in der /var/run/utmp
Datenbank. Diese Datenbank wird aktualisiert, login
wenn Sie sich beim System anmelden (und auch von einer Reihe anderer Dienstprogramme, siehe man utmp
), und die Daten werden dauerhaft in gespeichert, /var/log/wtmp
wenn diese Datei vorhanden ist.
Diese Aufzeichnungen sind hilfreich, um herauszufinden, warum und wann ein System möglicherweise abgestürzt ist oder Fehlfunktionen aufwies, und sollten nicht geändert werden.
Die Antwort lautet also: Sie können dies nicht, ohne das Verhalten von who
oder der Programme zu ändern, die in /var/run/utmp
und schreiben /var/log/wtmp
, oder indem Sie diese (binären) Dateien selbst ändern. Und das sollten Sie auch nicht tun, da dies das System potenziell 1) unsicher und 2) im Falle einer Fehlfunktion schwer diagnostizierbar machen würde.