ssh login soll nicht in /var/log/messages erscheinen
Hallo, ich habe hier auf meinen 11.1 alle 10 Sek einen ssh-login einer anderen Maschine. Folglich habe ich alle 10 Sek einen Eintrag in /var/log/messages. Das macht die /var/log/messages unübersichtlich, außerdem kommt die Festplatte nicht mehr zu Ruhe. Wo setze ich da an? Am syslog-ng oder beim sshd? Habe mich in beiden config-Dateien mal umgesehen, habe aber keine Idee. Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 14. November 2009 15:27:18 schrieb Ekkard Gerlach:
Hallo, ich habe hier auf meinen 11.1 alle 10 Sek einen ssh-login einer anderen Maschine. Folglich habe ich alle 10 Sek einen Eintrag in /var/log/messages. Das macht die /var/log/messages unübersichtlich, außerdem kommt die Festplatte nicht mehr zu Ruhe.
Wo setze ich da an? Am syslog-ng oder beim sshd? Habe mich in beiden config-Dateien mal umgesehen, habe aber keine Idee.
Kennst du die Maschine? Wenn nein: Lies mal "Mein Server sperrt mich aus" vom 12 Nov 2009 18:40:58 Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sam, 14 Nov 2009, Ekkard Gerlach schrieb:
ich habe hier auf meinen 11.1 alle 10 Sek einen ssh-login einer anderen Maschine. Folglich habe ich alle 10 Sek einen Eintrag in /var/log/messages. Das macht die /var/log/messages unübersichtlich, außerdem kommt die Festplatte nicht mehr zu Ruhe.
Wo setze ich da an? Am syslog-ng oder beim sshd? Habe mich in beiden config-Dateien mal umgesehen, habe aber keine Idee.
Du willst ja sicher andere Sachen von sshd im Log haben ... Also syslog-ng. Ich biege z.B. durch einen Filter die Meldungen von sr_mod in eine eigene Datei (les mal ne DVD mit Fehlern per ddrescue aus, da kommen locker mal ein paar MB Meldungen von sr_mod zusammen ;) Beispiel wird nachgeliefert. -dnh -- "...you want a .sig with that?" -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sam, 14 Nov 2009, David Haller schrieb: [..]
Beispiel wird nachgeliefert.
==== ## zwei Filter, damit man gezielt noch Meldungen in die normale ## messages bekommen kann, die dürften dann von f_sr_mod nicht erfasst ## werden filter f_sr_mod { facility(kern) and match("kernel:.*sr[0-9]"); }; filter f_sr_mod_all { facility(kern) and match("kernel:.*sr[0-9]"); }; ## Standardfilter ergänzen (umformatiert): filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_sr_mod); }; filter f_warn { level(warn, err, crit) and not filter(f_iptables) and not filter(f_sr_mod); }; ## sr_mod in eigenes File schreiben destination srmodmessages { file("/var/log/sr_mod"); }; log { source(src); filter(f_sr_mod_all); destination(srmodmessages); }; ==== Du solltest anhand dieses Beispiels die Meldungen des sshd zu der bestimmten IP herausfiltern können, so in etwa: filter f_sshd_nagios { facility(kern) and match("sshd:.*from 10\.0\.0\.99"); }; Evtl. stimmt die facility nicht. HTH, -dnh -- Kid, you've got the attention span of a caffeinated hummingbird. -- "Hammer" to "Kid" in Angels 2200 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Genau das brauche ich, was David schrieb: nur die sshd-Meldungen eines anderen Hosts ausblenden! Aber noch funktioniert es nicht: * David Haller schrieb:
==== ## zwei Filter, damit man gezielt noch Meldungen in die normale ## messages bekommen kann, die dürften dann von f_sr_mod nicht erfasst ## werden filter f_sr_mod { facility(kern) and match("kernel:.*sr[0-9]"); }; filter f_sr_mod_all { facility(kern) and match("kernel:.*sr[0-9]"); };
Meiner: # Bsp-Nachricht aus /var/log/messages: # Nov 15 22:34:05 rex4 sshd[13158]: Accepted publickey for root from 192.168.0.151 port 40636 ssh2 filter f_sshd_suse92vm { facility(kern) and match("sshd*from 192\.168\.0\.151"); }; Was fuer eine facitity ist denn sshd? Es steht nix vor sshd davor ...hmmm Habe auch schon probiert ganz ohne facility: .... { match("sshd*from 192\.168\.0\.151"); }; und diesen filter an erste Stelle. Geht aber auch nicht. Hab's auch schon mit level(info) versucht, geht auch nicht.
## Standardfilter ergänzen (umformatiert): filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_sr_mod); }; filter f_warn { level(warn, err, crit) and not filter(f_iptables) and not filter(f_sr_mod); };
## sr_mod in eigenes File schreiben destination srmodmessages { file("/var/log/sr_mod"); }; log { source(src); filter(f_sr_mod_all); destination(srmodmessages); }; ====
Mit destination: destination suse92vm_ssh_time_sync { file("/var/log/suse92vm_ssh_time_sync"); }; log { source(src); filter(f_sshd_suse92vm); destination(suse92vm_ssh_time_sync); }; Letztlich sollen die Nachrichten nach /dev/null. Aber das ist der zweite Schritt, erstmal müssen die überhaupt erstmal abgefangen werden.
Du solltest anhand dieses Beispiels die Meldungen des sshd zu der bestimmten IP herausfiltern können, so in etwa:
filter f_sshd_nagios { facility(kern) and match("sshd:.*from 10\.0\.0\.99"); };
Evtl. stimmt die facility nicht.
hmm... es geht mit meinem Filter nach Deinem Muster nicht, die Nachrichten schlagen nach wie vor in /var/log/messages ein. /var/log/suse92vm_ssh_time_sync ist leer (habe ich mit > /var/log/suse92vm_ssh_time_sync per Hand erzeugt). Jmd eine Idee warum? Wen's interessiert warum diese vielen ssh-Aufrufe: eine Suse92 läuft im runlevel 3 mit einer LAMP-Anwendung, die nach neuem mySQL/php5 zu portieren ist zu aufwändig, daher startet eben immer alte Suse 9.2. Im runlevel3 laufen die vmware tools nicht, daher auch keine Zeitsynchronisation. Da die Uhr in der Suse 9.2-VMware-machine 3 Male zu langsam ist (also 1 Sek wie 3 zählt) und ich eine Minutengenaue Zeit brauche, findet eben alle 10 Sek ein Zeitabgleich per ssh statt. Und dieser soll bitte aus meiner /var/log/messages verschwinden. Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 15 Nov 2009, Ekkard Gerlach schrieb:
Genau das brauche ich, was David schrieb: nur die sshd-Meldungen eines anderen Hosts ausblenden! Aber noch funktioniert es nicht:
* David Haller schrieb:
==== ## zwei Filter, damit man gezielt noch Meldungen in die normale ## messages bekommen kann, die dürften dann von f_sr_mod nicht erfasst ## werden filter f_sr_mod { facility(kern) and match("kernel:.*sr[0-9]"); }; filter f_sr_mod_all { facility(kern) and match("kernel:.*sr[0-9]"); };
Meiner:
# Bsp-Nachricht aus /var/log/messages: # Nov 15 22:34:05 rex4 sshd[13158]: Accepted publickey for root from 192.168.0.151 port 40636 ssh2 filter f_sshd_suse92vm { facility(kern) and match("sshd*from 192\.168\.0\.151"); }; ^^^ Regex! Nicht Glob!
'.*' matcht auf bel. viele bel. Zeichen, du matcht hier auf ssh, bel. viele 'd', from, dein Muster passt also z.B. auf sshfrom, sshdfrom oder auch sshdddddddddfrom.
Was fuer eine facitity ist denn sshd?
kernel oder eine der local Facilities. IIRC knan man das auch in der sshd.conf definieren, welche verwendet werden soll. [..]
Letztlich sollen die Nachrichten nach /dev/null. Aber das ist der zweite Schritt, erstmal müssen die überhaupt erstmal abgefangen werden.
Rest sieht ok aus und sollte funktionieren, wenn das 'match' korrigiert ist. -dnh -- Und als nächste dürfen Querschnittgelähmte spammen, Blinde dürfen meinen Server aufmachen, und wer als Kind im Ostblock aufgewachsen ist darf HTML-Mails schreiben? Super. Ich hatte mal Mittelohrentzündung, das sollte reichen, um Outlook benutzen zu dürfen? -- ratti in suse-linux -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* David Haller schrieb:
Hallo,
Am Son, 15 Nov 2009, Ekkard Gerlach schrieb:
Genau das brauche ich, was David schrieb: nur die sshd-Meldungen eines anderen Hosts ausblenden! Aber noch funktioniert es nicht:
* David Haller schrieb:
==== ## zwei Filter, damit man gezielt noch Meldungen in die normale ## messages bekommen kann, die dürften dann von f_sr_mod nicht erfasst ## werden filter f_sr_mod { facility(kern) and match("kernel:.*sr[0-9]"); }; filter f_sr_mod_all { facility(kern) and match("kernel:.*sr[0-9]"); };
Meiner:
# Bsp-Nachricht aus /var/log/messages: # Nov 15 22:34:05 rex4 sshd[13158]: Accepted publickey for root from 192.168.0.151 port 40636 ssh2 filter f_sshd_suse92vm { facility(kern) and match("sshd*from 192\.168\.0\.151"); }; ^^^ Regex! Nicht Glob!
'.*' matcht auf bel. viele bel. Zeichen, du matcht hier auf ssh, [...]
Hast recht, Du bist eine Wucht ;-) filter f_sshd_suse92vm { level(info) and match("sshd.*from 192\.168\.0\.151"); }; mit facility "level(info)" gehts. Ohne, also nur mit { match ....} vielleicht auch. Habs jetzt einfach so gelassen.
[..]
Letztlich sollen die Nachrichten nach /dev/null. Aber das ist der zweite Schritt, erstmal müssen die überhaupt erstmal abgefangen werden.
funktioniert damit: destination suse92vm_ssh_time_sync { device("/dev/null"); }; Besten Dank! Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Ekkard Gerlach schrieb:
Letztlich sollen die Nachrichten nach /dev/null. Aber das ist der zweite Schritt, erstmal müssen die überhaupt erstmal abgefangen werden.
funktioniert damit: destination suse92vm_ssh_time_sync { device("/dev/null"); };
Funktioniert damit doch nicht, es kommen nämlich GAR KEINE Nachrichten mehr in /var/log/messages an. "device" gibt es auch gar nicht gemäß man syslog-ng.conf. Es gibt nur file, unix-stream, udp, tcp, usertty. probiert und geht auch nicht: destination suse92vm_ssh_time_sync { file("/dev/null"); }; destination suse92vm_ssh_time_sync { usertty("/dev/tty11"); }; jmd eine Idee? - Bleibt nur die Nachrichten über tcp z.B. an mich selbst (localhost <port>) zu senden, an den port dann ein netcat, das die Nachrichten dann letzlich nach /dev/null weiterleiten darf? - Gehts nicht einfacher? Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 16 Nov 2009, Ekkard Gerlach schrieb:
* Ekkard Gerlach schrieb:
Letztlich sollen die Nachrichten nach /dev/null. Aber das ist der zweite Schritt, erstmal müssen die überhaupt erstmal abgefangen werden.
funktioniert damit: destination suse92vm_ssh_time_sync { device("/dev/null"); };
Funktioniert damit doch nicht, es kommen nämlich GAR KEINE Nachrichten mehr in /var/log/messages an. "device" gibt es auch gar nicht gemäß man syslog-ng.conf. Es gibt nur file, unix-stream, udp, tcp, usertty.
probiert und geht auch nicht:
destination suse92vm_ssh_time_sync { file("/dev/null"); }; destination suse92vm_ssh_time_sync { usertty("/dev/tty11"); };
jmd eine Idee? - Bleibt nur die Nachrichten über tcp z.B. an mich selbst (localhost <port>) zu senden, an den port dann ein netcat, das die Nachrichten dann letzlich nach /dev/null weiterleiten darf? - Gehts nicht einfacher?
==== 3. Destinations A destination is where a log is sent if the filtering rules match. Similarly to sources, destinations are comprised of one or more drivers, each defining how messages are handled. Destinations can be declared in the configuration file via a destination statement using the syntax below: destination <identifier> { destination-driver(params); destination-driver(params); ... }; Note The list of drivers may be empty: in this case all messages sent to the destination are discarded. This is equivalent to omitting the destination from the log statement. ==== Also: ==== destination suse92vm_ssh_time_sync {}; ==== oder keine destination beim log angeben ;) HTH, -dnh -- "Wo wir gerade bei dummen Frauen sind: Andy Möller soll von der nächsten Saison an den Oberliga-Nachwuchs der Frankfurter Eintracht trainieren. Auf dem Trainingsplan steht laut Rückspiegel-Informationen unter anderem: Heulsusen gegen Schwalbenkönige. Vom Feeling her haben wir da ehrlich gesagt kein gutes Gefühl." -- Matthias Hohnecker, im "Rückspiegel" der StZ vom 15.10.2005 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* David Haller schrieb: [...]
Also:
==== destination suse92vm_ssh_time_sync {}; ====
oder keine destination beim log angeben ;)
ok, geht! Habe in der syslog-ng.conf noch gefunden: destination console { pipe("/dev/tty10" owner(-1) group(-1) perm(-1)); }; Also: destination suse92vm_ssh_time_sync { pipe("/dev/null"); }; geht! getestet mit /dev/tty10 -> geht auch! ABER: ich hatte heute morgen nicht genau hingesehen: mit filter f_sshd_suse92vm { level(info) and match("sshd.*from 192\.168\.0\.151"); }; wandern alle sshd-Nachrichten ZUSÄTZLICH in die Datei, das Device, oder ... oder .. ! Da kam mir in Erinnung, dass ich mich vor Jahren mal in das syslog-Zeugs eingearbeitet hatte ... ja, es muss so sein, denn wie sonst einige Nachrichten in /var/log/warn UND in /var/log/messages. Also gesucht ... und entdeckt: filter f_messages { not facility(news, mail) and not filter(f_iptables); }; daraus gemacht: filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_sshd_suse92vm); }; weil: # # All messages except iptables and the facilities news and mail: # destination messages { file("/var/log/messages"); }; log { source(src); filter(f_messages); destination(messages); }; und endlich das gewünschte Ergebnis! Hurrah! Vorzüglichen Dank an David. Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 16 Nov 2009, Ekkard Gerlach schrieb: [..]
ABER: ich hatte heute morgen nicht genau hingesehen: mit filter f_sshd_suse92vm { level(info) and match("sshd.*from 192\.168\.0\.151"); }; wandern alle sshd-Nachrichten ZUSÄTZLICH in die Datei, das Device, oder ... oder .. ! [..] Also gesucht ... und entdeckt: filter f_messages { not facility(news, mail) and not filter(f_iptables); };
daraus gemacht: filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_sshd_suse92vm); };
Ich schrieb schon in meinem ersten Vorschlag, daß die Standardfilter ergänzt werden müssen. Guck noch mal nach ... ;) -dnh -- "He could read the phonebook and give it gravitas." -- Christopher Judge about Tony Amendola in the DVD Commentary of Stargate SG-1 10x17 "Talion" -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
Am Mon, 16 Nov 2009, Ekkard Gerlach schrieb: [..]
ABER: ich hatte heute morgen nicht genau hingesehen: mit filter f_sshd_suse92vm { level(info) and match("sshd.*from 192\.168\.0\.151"); }; wandern alle sshd-Nachrichten ZUSÄTZLICH in die Datei, das Device, oder ... oder .. ! [..] Also gesucht ... und entdeckt: filter f_messages { not facility(news, mail) and not filter(f_iptables); };
daraus gemacht: filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_sshd_suse92vm); };
Ich schrieb schon in meinem ersten Vorschlag, daß die Standardfilter ergänzt werden müssen. Guck noch mal nach ... ;)
Hätte man das nicht durch eine "gescheite" Reihenfolge der Einträge in der syslog-ng.conf lösen können? AFAIK hört die Bearbeitung doch auf, sobald der syslog auf einen Eintrag der Art log {source ..; filter ...; destination ...; flags(final) } trifft, oder? Also einfach den Eintrag für das sshd File weiter nach oben mit flags(final) eintragen, oder? Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
ein wichtiger Nachtrag: wer das macht: destination suse92vm_ssh_time_sync { pipe("/dev/null"); }; bekommt beim Neustart des syslog-ng (stop -> start , nicht restart!!) sein /dev/null auf Rechte 640 gesetzt, vorher 666. Dann passiert allerlei Unvorhergesehenes, z.B. verwirft procmail alle Mails (!), ich habe jetzt insgesamt über einen halben Tag alles Mails verloren, sehr ärgerlich. Also die Variante destination suse92vm_ssh_time_sync {}; nehmen, die vermurkst /dev/null nicht. Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ekkard Gerlach schrieb:
Hallo, ich habe hier auf meinen 11.1 alle 10 Sek einen ssh-login einer anderen Maschine. Folglich habe ich alle 10 Sek einen Eintrag in /var/log/messages. Das macht die /var/log/messages unübersichtlich, außerdem kommt die Festplatte nicht mehr zu Ruhe.
Wo setze ich da an? Am syslog-ng oder beim sshd? Habe mich in beiden config-Dateien mal umgesehen, habe aber keine Idee.
Warum nimmst Du nicht einfach einen Filter mit "not program('sshd')" beim syslog-ng? Ich würde mich aber eher wundern, warum alle 10 Sekunden ein Connect über ssh erfolgt. Gruß Florian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Florian Schaal schrieb:
Ich würde mich aber eher wundern, warum alle 10 Sekunden ein Connect über ssh erfolgt.
z.B. bei direkten Nagios Abfragen per ssh kann einiges zusammen kommen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Al Bogner
-
David Haller
-
Ekkard Gerlach
-
Florian Schaal
-
Kyek, Andreas, VF-DE
-
Ralf Prengel