Wie kann man über SSH angemeldeten User überwachen (cmd) ?
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Wie kann man über SSH angemeldeten User überwachen (cmd) ?
Hallo
wie kann man bei Linux folgendes erreichen. Ich bin sagen wir mal mit root lokal an der Konsole angemeldet. Gleichzeitig ist aber auch der Root über ssh angemeldet. Kann ich sehen wass der root über die SSH-Verbindung für Befehle eingibt und in welchem Verzeichnis er sich geerade befindet? history scheint nicht zu funktionieren, die zeigt mir nur meine eigene abgesetzte Befehle an.
wie kann man bei Linux folgendes erreichen. Ich bin sagen wir mal mit root lokal an der Konsole angemeldet. Gleichzeitig ist aber auch der Root über ssh angemeldet. Kann ich sehen wass der root über die SSH-Verbindung für Befehle eingibt und in welchem Verzeichnis er sich geerade befindet? history scheint nicht zu funktionieren, die zeigt mir nur meine eigene abgesetzte Befehle an.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
die history der jeweiligen user befindet sich in der regel in /home/<username>/.bash_historyKann ich sehen wass der root über die SSH-Verbindung für Befehle eingibt und in welchem Verzeichnis er sich geerade befindet?
natuerlich besitzt der jeweilige user dort schreibrechte, die bash_history kann also auch manipuliert werden, was
bei einbruechen in der regel auch gemacht wird.theoretisch koenntest du naturlich diese datei jedesmal sofort spiegeln wenn sie veraendert wird. einige intrusion detection systeme ueberwachen manipulationen an der bash_history.
dazu schau mal in "4.10.9.2 Using the shell history file" in
http://www.debian.org/doc/manuals/secur ... h4.en.html
( append-only mode )
die frage ist was genau du verhindern willst, das sicherheitskonzept von unixoiden systemen geht halt davon aus, dass du usern halt nur das erlaubst was sie auch machen sollen.
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
nein nein, es geht nicht um Intrusion Fälle. Das ist wirklich nur eine Frage, die mir gestern in den Kopf gestiegen ist. Ich bin mit Linux noch in der Lernphase und ich war gestern von zwei verschiedenen Konsolen als root angemeldet an einer test-Maschine. Dabei wollte ich einen Befehl abfragen, den ich jedoch an der anderen Konsole durchgegeben hatte. War ja kein Problem, ich konnte es ja. Ich hatte mich nur gefragt, ob es auch möglich wäre, die history auszulesen. Beide sind ja root gewesen, der gleiche account also. Aber die history war nicht einsehbar, daher meine Frage.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Schau Dir mal tmux oder/und screen an... darin laufende Terminalsitzungen kannst Du gleichzeitig von verschiedenen Orten aus steuern...
Z.B. habe ich auf meinem normalen Desktop-Rechner immer einen IRC-Client in screen laufen und wenn ich mich von Sonstwo auf diese Kiste verbinde kann ich screen so aufrufen, daß entweder die laufende Sitzung übernommen wird oder aber ich mich zur vorhandenen Sitzung einfach dazuschalte.
Im ersten Fall wird die Sitzung dann auf dem Desktoprechner von Tastatur und Bildschirm abgeklemmt und meinen Eingang von Außen umgestöpselt, im zweiten Fall sind beide Zugänge gleichzeitig als Ein-/Ausgabe der Sitzung aktiv, man hat also dasselbe Programm auf zwei Bildschirmen gleichzeitig zur Verfügung...
Mal eben die History speichern und auf 'ner anderen Konsole wieder einlesen kann soviele Vorteile garnicht bieten wie sich daran zu gewöhnen immer in screen oder tmux zu arbeiten... und mehrer Terminals umschaltbar bieten die beiden eh... mehrere Konsolen parallel benutzen wird durch Terminal-Umschaltung in screen/tmux überflüssig...
Z.B. habe ich auf meinem normalen Desktop-Rechner immer einen IRC-Client in screen laufen und wenn ich mich von Sonstwo auf diese Kiste verbinde kann ich screen so aufrufen, daß entweder die laufende Sitzung übernommen wird oder aber ich mich zur vorhandenen Sitzung einfach dazuschalte.
Im ersten Fall wird die Sitzung dann auf dem Desktoprechner von Tastatur und Bildschirm abgeklemmt und meinen Eingang von Außen umgestöpselt, im zweiten Fall sind beide Zugänge gleichzeitig als Ein-/Ausgabe der Sitzung aktiv, man hat also dasselbe Programm auf zwei Bildschirmen gleichzeitig zur Verfügung...
Mal eben die History speichern und auf 'ner anderen Konsole wieder einlesen kann soviele Vorteile garnicht bieten wie sich daran zu gewöhnen immer in screen oder tmux zu arbeiten... und mehrer Terminals umschaltbar bieten die beiden eh... mehrere Konsolen parallel benutzen wird durch Terminal-Umschaltung in screen/tmux überflüssig...
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Danke für diesen Hinweis. Gehts jetzt um grafische Bedienung bei diesen Tools ? Also nochmal: ich möchte weder eine Sitzung übernehmen, noch steuern. Andres Beispiel:
Eine Linux-Maschine, ohne X-GUIs, nur Konsolenbetrieb.
es sind 10 User angemeldet an diesem Server. Einige vom LAN, einige über SSH, einige über rlogin.
So, jetzt möchte ich mich z.B. als root am Rechner anmelden (egal ob lokal, oder ssh, hauptsache ich bin als root drin) und sehen was die letzten Befehle von all den Usern waren. Ich möchte auch gerne sehen, in welchem Verzeichnis sie gerade sind, ob sie ein Datei bearbeiten und ihre AKtivitäten die sie zuvor gemacht haben.
Mit who sehe ich wer gerade alles angemeldet ist. mit lastlog sehe ich wann ein bestimmter User zuletzt angemeldet war. Aber ich möchte mehr Infos auslesen, wie oben beschrieben.
Wie ? Geht das mit deinen gesagten Tools? ich möchte keine Fernwartung durchführen können, der User soll ja auch nichts davon bemerken, dass ich gerade seine Aktivitäten checke. Ich möchte ja nicht seinen Bildschirm sehen oder in seine Arbeit eingreifen.
Eine Linux-Maschine, ohne X-GUIs, nur Konsolenbetrieb.
es sind 10 User angemeldet an diesem Server. Einige vom LAN, einige über SSH, einige über rlogin.
So, jetzt möchte ich mich z.B. als root am Rechner anmelden (egal ob lokal, oder ssh, hauptsache ich bin als root drin) und sehen was die letzten Befehle von all den Usern waren. Ich möchte auch gerne sehen, in welchem Verzeichnis sie gerade sind, ob sie ein Datei bearbeiten und ihre AKtivitäten die sie zuvor gemacht haben.
Mit who sehe ich wer gerade alles angemeldet ist. mit lastlog sehe ich wann ein bestimmter User zuletzt angemeldet war. Aber ich möchte mehr Infos auslesen, wie oben beschrieben.
Wie ? Geht das mit deinen gesagten Tools? ich möchte keine Fernwartung durchführen können, der User soll ja auch nichts davon bemerken, dass ich gerade seine Aktivitäten checke. Ich möchte ja nicht seinen Bildschirm sehen oder in seine Arbeit eingreifen.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Die History wird nicht direkt auf die Platte geschrieben, sondern in Intervallen/beim Abmelden/aller n Zeilen (?). Jedenfalls nicht nach jedem Befehl.pangu hat geschrieben:Beide sind ja root gewesen, der gleiche account also. Aber die history war nicht einsehbar, daher meine Frage.
Man kann dies jedoch erzwingen:
Code: Alles auswählen
$ history -w # write, in der Sitzung, dessen History weitergegeben soll
$ history -r # read, in der anderen Sitzung
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Das ist wahrscheinlich nichtmal legal.pangu hat geschrieben:es sind 10 User angemeldet an diesem Server. Einige vom LAN, einige über SSH, einige über rlogin.
So, jetzt möchte ich mich z.B. als root am Rechner anmelden (egal ob lokal, oder ssh, hauptsache ich bin als root drin) und sehen was die letzten Befehle von all den Usern waren. Ich möchte auch gerne sehen, in welchem Verzeichnis sie gerade sind, ob sie ein Datei bearbeiten und ihre AKtivitäten die sie zuvor gemacht haben.
Klär das lieber bevor Du Dritte derart überwachst.
Technisch ist hier wahrscheinlich deutlich mehr drin als das Gesetz erlaubt.
root darf nicht einfach Alles machen was technisch machbar ist.
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Hallo!
Gruß, habakug
[1] http://packages.debian.org/changelogs/p ... /changelog
Es ist zumindest so legal, das es den Weg ins Debian Repository (ttysnoop) geschafft hat. Seit 1997 [1]. Zur Konfiguration sage ich hier nichts, aber ein Admin hat das sicher schnell am laufenyeti hat geschrieben:Das ist wahrscheinlich nichtmal legal.
Gruß, habakug
[1] http://packages.debian.org/changelogs/p ... /changelog
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Legal wo?habakug hat geschrieben:Es ist zumindest so legal, das es den Weg ins Debian Repository (ttysnoop) geschafft hat. Seit 1997 [1].yeti hat geschrieben:Das ist wahrscheinlich nichtmal legal.
Aus der Tatsache daß ein Tool im Repo steckt würde ich nicht wagen pauschal auf die Legalität seiner Anwendung zu schließen...
Ich darf nicht einfach Alles tun nur weil es geht...
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Lieber yeti,
auch wenn das sicherlich nur gut gemeint ist, bitte ich nicht vom Thema abzuschweifen. Wenn ich jemanden kontrollieren und überwachen hätte wollen, dann gäbe es dazu sicherlich BESSERE, KOMFORTABLERE und EINFACHERE Alternativen. Ich denke da wirst du mir wohl zustimmen. Ich möchte nicht dritte Personen überwachen oder kontrollieren, sondern es ging mir wirklich darum:
WIE kann ich sehen, was der root als letztes so getan hat? Und root-Zugang hat sicherlich nicht jeder x-beliebige sondern nur ICH ! Ich hab meinen Fall geschildert mit den verschiedenen Konsolen (siehe oben). Ich war im Büro und wollte einen meiner letzten Befehle einsehen. Das ging aber nicht, weil die Konsole von mir daheim geöffnet war. Ich bin natürlich auf meine Zeile gekommen, ganz einfach, abends als ich wieder zuhause am Rechner saß und in die aktive Konsole reingeschaut habe. Obwohl ich mich aber dort als root zuletzt abgemeldet hatte, wurden meine Kommandos nicht in die bash History geschrieben. Aus der Konsole vom Büro aus wurden alle historys ordnungsgemäß und wie erwartet auf die Platte geschrieben. Mich hat's natürlich interessiert, warum das nicht ging, und welche Möglichkeiten es gebe auch direkt von der anderen Konsole Einsicht darauf haben zu können. Ich möchte einfach nur wissen, ob und wie das geht.
Wenn ich rechtlichen Beistand benötigen sollte, so glaube mir, wirst sicherlich du der letzte sein, den ich hierfür ansprechen würde. Also bitte sei doch so nett und trage konstruktives zu der Frage bei, wenn du kannst. Wenn nicht, dann überlass das bitte denen, die sich damit auseinandersetzen müssen und werden, den Rechtsanwälten und Juristen.
Vielen Dank für dein Verständnis.
Ein schönes Wochenende,
Michael.
auch wenn das sicherlich nur gut gemeint ist, bitte ich nicht vom Thema abzuschweifen. Wenn ich jemanden kontrollieren und überwachen hätte wollen, dann gäbe es dazu sicherlich BESSERE, KOMFORTABLERE und EINFACHERE Alternativen. Ich denke da wirst du mir wohl zustimmen. Ich möchte nicht dritte Personen überwachen oder kontrollieren, sondern es ging mir wirklich darum:
WIE kann ich sehen, was der root als letztes so getan hat? Und root-Zugang hat sicherlich nicht jeder x-beliebige sondern nur ICH ! Ich hab meinen Fall geschildert mit den verschiedenen Konsolen (siehe oben). Ich war im Büro und wollte einen meiner letzten Befehle einsehen. Das ging aber nicht, weil die Konsole von mir daheim geöffnet war. Ich bin natürlich auf meine Zeile gekommen, ganz einfach, abends als ich wieder zuhause am Rechner saß und in die aktive Konsole reingeschaut habe. Obwohl ich mich aber dort als root zuletzt abgemeldet hatte, wurden meine Kommandos nicht in die bash History geschrieben. Aus der Konsole vom Büro aus wurden alle historys ordnungsgemäß und wie erwartet auf die Platte geschrieben. Mich hat's natürlich interessiert, warum das nicht ging, und welche Möglichkeiten es gebe auch direkt von der anderen Konsole Einsicht darauf haben zu können. Ich möchte einfach nur wissen, ob und wie das geht.
Wenn ich rechtlichen Beistand benötigen sollte, so glaube mir, wirst sicherlich du der letzte sein, den ich hierfür ansprechen würde. Also bitte sei doch so nett und trage konstruktives zu der Frage bei, wenn du kannst. Wenn nicht, dann überlass das bitte denen, die sich damit auseinandersetzen müssen und werden, den Rechtsanwälten und Juristen.
Vielen Dank für dein Verständnis.
Ein schönes Wochenende,
Michael.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Optimist!pangu hat geschrieben:Vielen Dank für dein Verständnis.
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Lese noch mal den Betrag mit screen und tmux weiter oben. Damit wird genau dein Problem gelöst.
-
- Beiträge: 5649
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Hallo
mfg
schwedenmann
Genauso lauten die Aussagen von Scriptkiddys, wenns um Überwinden von Fireall, oder Kindesicherungen geht, ich kann @yeti da schon verstehen, denn das Ganze ist ja eine Überwachung und afaik z.B. in einem Betrieb, ob mit oder ohne das Einverständnis des Chefs illegal.Ich möchte nicht dritte Personen überwachen oder kontrollieren, sondern es ging mir wirklich darum:
mfg
schwedenmann
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Die history wird geschrieben wenn man die jeweilige Sitzung verlässt, was dazu führen kann, dass bei mehreren offenen Sitzungen diese sich ihre Änderungen gengenseitig überschreiben. Um dies zu vermeiden, kann man in seiner bashrc die Option histappend setzen.Cae hat geschrieben:Die History wird nicht direkt auf die Platte geschrieben, sondern in Intervallen/beim Abmelden/aller n Zeilen (?). Jedenfalls nicht nach jedem Befehl.
Code: Alles auswählen
shopt -s histappend
Code: Alles auswählen
if [ -n "$PROMPT_COMMAND" ]; then
PROMPT_COMMAND="$PROMPT_COMMAND;history -a"
else
PROMPT_COMMAND="history -a"
fi
Code: Alles auswählen
PROMPT_COMMAND="history -a"
Damit sollte dem Gutwilligen geholfen sein
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Hallo!
Wenn "history -a" exportiert ist, kann mit "history -n" die Liste auf einem anderen Terminal aktualisiert werden. Das synchronisiert auch mit noch laufenden screen/tmux-Sessions.
Es reicht übrigens ein Hinweis wie "wird aus Gründen der Qualitätssicherung aufgezeichnet" und später "stichprobenartig" ausgewertet. Das hört man z.B. auch wenn man die großen Callcenter anruft. Beruflich habe ich einer solchen "Qualitätssicherung" zugestimmt (und z.T. eingerichtet), da sich im einem zeitkritischen Notfall schonmal zwei "roots" auf einem extrem wichtigen Gateway gegenseitig auf die Füße treten können. (Ein "w" sollte beim Login automatisch ausgegeben werden.)
Sollte es illegal sein, hier auf die Verwendungsmöglichkeit des Debian-Paketes "ttysnoop" hingewiesen zu haben, bitte ich um umgehende Aufklärung.
Gruß, habakug
Wenn "history -a" exportiert ist, kann mit "history -n" die Liste auf einem anderen Terminal aktualisiert werden. Das synchronisiert auch mit noch laufenden screen/tmux-Sessions.
Es reicht übrigens ein Hinweis wie "wird aus Gründen der Qualitätssicherung aufgezeichnet" und später "stichprobenartig" ausgewertet. Das hört man z.B. auch wenn man die großen Callcenter anruft. Beruflich habe ich einer solchen "Qualitätssicherung" zugestimmt (und z.T. eingerichtet), da sich im einem zeitkritischen Notfall schonmal zwei "roots" auf einem extrem wichtigen Gateway gegenseitig auf die Füße treten können. (Ein "w" sollte beim Login automatisch ausgegeben werden.)
Sollte es illegal sein, hier auf die Verwendungsmöglichkeit des Debian-Paketes "ttysnoop" hingewiesen zu haben, bitte ich um umgehende Aufklärung.
Gruß, habakug
-
- Beiträge: 5649
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: Wie kann man über SSH angemeldeten User überwachen (cmd)
Hallo
@habakuk
Im übrigen, zum Thema hinweisen, es ist sogar nicht illegal, per link in einem Artikel (zeitungsmäßig), der sich mit dem Brennen von CD, und dem Kopieren auseinandersetzt, auf in Dt. verbotene Kopierprogramme zu verweisen
wäre also noch eine Stufe höher @habakuk, als dein "Vergehen"
mfg
schwedenmann
@habakuk
Nein nicht der Hinweis ist illegal, aber die Nutzung (Überwachung) in speuielle Fällen, privat im eigene LAN kein Thema, aber in einem "Firmennetzwerk2 ist das doch problematisch.Sollte es illegal sein, hier auf die Verwendungsmöglichkeit des Debian-Paketes "ttysnoop" hingewiesen zu haben, bitte ich um umgehende Aufklärung.
Im übrigen, zum Thema hinweisen, es ist sogar nicht illegal, per link in einem Artikel (zeitungsmäßig), der sich mit dem Brennen von CD, und dem Kopieren auseinandersetzt, auf in Dt. verbotene Kopierprogramme zu verweisen
wäre also noch eine Stufe höher @habakuk, als dein "Vergehen"
mfg
schwedenmann