Wie kann man über SSH angemeldeten User überwachen (cmd) ?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
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) ?

Beitrag von pangu » 25.11.2011 09:24:03

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.
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.

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von startx » 25.11.2011 09:45:10

Kann ich sehen wass der root über die SSH-Verbindung für Befehle eingibt und in welchem Verzeichnis er sich geerade befindet?
die history der jeweiligen user befindet sich in der regel in /home/<username>/.bash_history

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.

Benutzeravatar
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)

Beitrag von pangu » 25.11.2011 10:05:21

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.

yeti

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von yeti » 25.11.2011 10:24:56

Schau Dir mal Debiantmux oder/und Debianscreen 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 Debianscreen laufen und wenn ich mich von Sonstwo auf diese Kiste verbinde kann ich Debianscreen 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 Debianscreen oder Debiantmux zu arbeiten... und mehrer Terminals umschaltbar bieten die beiden eh... mehrere Konsolen parallel benutzen wird durch Terminal-Umschaltung in Debianscreen/Debiantmux überflüssig...

Benutzeravatar
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)

Beitrag von pangu » 25.11.2011 10:35:46

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.
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.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von Cae » 25.11.2011 10:38:45

pangu hat geschrieben:Beide sind ja root gewesen, der gleiche account also. Aber die history war nicht einsehbar, daher meine Frage.
Die History wird nicht direkt auf die Platte geschrieben, sondern in Intervallen/beim Abmelden/aller n Zeilen (?). Jedenfalls nicht nach jedem Befehl.

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
Das setzt voraus, die ursprüngliche Sitzung steuern zu können.

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

yeti

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von yeti » 26.11.2011 01:15:18

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.
Das ist wahrscheinlich nichtmal legal.
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.

Benutzeravatar
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)

Beitrag von habakug » 26.11.2011 10:55:07

Hallo!
yeti hat geschrieben:Das ist wahrscheinlich nichtmal legal.
Es ist zumindest so legal, das es den Weg ins Debian Repository (Debianttysnoop) geschafft hat. Seit 1997 [1]. Zur Konfiguration sage ich hier nichts, aber ein Admin hat das sicher schnell am laufen ;-)

Gruß, habakug

[1] http://packages.debian.org/changelogs/p ... /changelog
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

yeti

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von yeti » 26.11.2011 14:56:41

habakug hat geschrieben:
yeti hat geschrieben:Das ist wahrscheinlich nichtmal legal.
Es ist zumindest so legal, das es den Weg ins Debian Repository (Debianttysnoop) geschafft hat. Seit 1997 [1].
Legal wo?
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...

Benutzeravatar
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)

Beitrag von pangu » 26.11.2011 23:04:24

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.
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.

yeti

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von yeti » 27.11.2011 05:06:01

pangu hat geschrieben:Vielen Dank für dein Verständnis.
Optimist!

uname
Beiträge: 12494
Registriert: 03.06.2008 09:33:02

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von uname » 27.11.2011 09:46:11

Lese noch mal den Betrag mit screen und tmux weiter oben. Damit wird genau dein Problem gelöst.

schwedenmann
Beiträge: 5649
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von schwedenmann » 27.11.2011 09:53:38

Hallo
Ich möchte nicht dritte Personen überwachen oder kontrollieren, sondern es ging mir wirklich darum:
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.

mfg
schwedenmann

dimi
Beiträge: 84
Registriert: 19.07.2006 14:09:55

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von dimi » 27.11.2011 11:02:55

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.
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.

Code: Alles auswählen

shopt -s histappend
Um zusätzlich in jeder Sitzung sofort die beendeten (!) Befehle aus einer anderen offenen Sitzung in der history zu haben, kann man die Variable PROMPT_COMMAND nutzen, um jedes mal wenn ein Befehl ausgeführt wurde und der Prompt neu gezeichnet wird, auch die history zu aktualisieren.

Code: Alles auswählen

if [ -n "$PROMPT_COMMAND" ]; then
    PROMPT_COMMAND="$PROMPT_COMMAND;history -a" 
else
    PROMPT_COMMAND="history -a"
fi
oder einfach

Code: Alles auswählen

 PROMPT_COMMAND="history -a" 
wenn man PROMPT_COMMAND sonst nicht nutzt.

Damit sollte dem Gutwilligen geholfen sein ;)

Benutzeravatar
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)

Beitrag von habakug » 27.11.2011 13:46:15

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
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

schwedenmann
Beiträge: 5649
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Wie kann man über SSH angemeldeten User überwachen (cmd)

Beitrag von schwedenmann » 27.11.2011 14:02:56

Hallo

@habakuk
Sollte es illegal sein, hier auf die Verwendungsmöglichkeit des Debian-Paketes "ttysnoop" hingewiesen zu haben, bitte ich um umgehende Aufklärung.
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.

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 :mrgreen:
wäre also noch eine Stufe höher @habakuk, als dein "Vergehen"

mfg
schwedenmann

Antworten