forum.synerpy.de Foren-Übersicht forum.synerpy.de
Synerpys User Forum zu AvERP
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Protokollierungsmöglichkeit wer sich von wo angemeldet hat

 
Neuen Beitrag schreiben   Auf Beitrag antworten    forum.synerpy.de Foren-Übersicht -> Wunschliste
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hoFFy



Anmeldungsdatum: 02.11.2007
Beiträge: 259
Wohnort: Diepholz

BeitragVerfasst am: Do Feb 18, 2010 4:14 pm    Titel: Protokollierungsmöglichkeit wer sich von wo angemeldet hat Antworten mit Zitat

Hallo,

vielleicht gibt es sie schon, aber wir würden uns eine Möglichkeit wünschen, mit der sich protokollieren ließe welcher Benutzername sich wann von welcher IP-Adresse (oder MAC-Adresse) aus angemeldet hat, oder sogar auch wer sich angemeldet hat und wo Anmeldungen fehlgeschlagen sind.

Hintergrund ist der Missbrauch von Anmeldenamen in unserem AvERP um Fähigkeiten eines Benutzernamens auszunutzen die der eigene nicht bietet... was natürlich absolut unerwünscht ist und hart geahndet wird.
_________________
Windows - Wenn du nicht wissen willst, warum es nicht funktioniert
Mac - Wenn du nicht wissen willst, warum es funktioniert
Linux - Wenn du wissen willst, warum es funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
admin
Site Admin


Anmeldungsdatum: 10.02.2004
Beiträge: 2387
Wohnort: Bayreuth

BeitragVerfasst am: Mo Feb 22, 2010 10:36 am    Titel: Antworten mit Zitat

Wir protokollieren derzeit nur die Daten in A_AKTIVUSER. In FB2.x werden die anderen genannten Parameter automatisch in den Systemtabellen von FB gespeichert. Wir machen das derzeit allerdings nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
hoFFy



Anmeldungsdatum: 02.11.2007
Beiträge: 259
Wohnort: Diepholz

BeitragVerfasst am: Mo Feb 22, 2010 10:54 am    Titel: Antworten mit Zitat

Also wir setzen ja FB 2.1 ein, aber ich kann im IBExpert keine Systemtabelle finden, die die entsprechenden Werte bereit stellt. Auf der Firebirdhomepage habe ich einen Hinweis darauf gefunden, wie man Loginversuche schon damals bei Interbase loggen konnte, dort scheint aber nicht der Ursprung des Logins aufgezeichnet zu werden.
Oder meinten Sie, dass die Daten schon jetzt von Anfang an, ohne Änderung, geloggt werden, ich sie nur nicht finden konnte?
_________________
Windows - Wenn du nicht wissen willst, warum es nicht funktioniert
Mac - Wenn du nicht wissen willst, warum es funktioniert
Linux - Wenn du wissen willst, warum es funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
admin
Site Admin


Anmeldungsdatum: 10.02.2004
Beiträge: 2387
Wohnort: Bayreuth

BeitragVerfasst am: Mo Feb 22, 2010 1:28 pm    Titel: Antworten mit Zitat

Ich habe gerade keine FB2.x-Installation zur Hand, um die genauen Tabellen abzufragen, aber über Context-Variablen müsste es auch gehen:

Code:


select rdb$get_context('SYSTEM', 'NETWORK_PROTOCOL') as protocol,
       rdb$get_context('SYSTEM', 'CLIENT_ADDRESS') as client_address from rdb$database;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ibexpert



Anmeldungsdatum: 30.04.2004
Beiträge: 20

BeitragVerfasst am: Do Feb 25, 2010 11:26 pm    Titel: Antworten mit Zitat

hoFFy hat folgendes geschrieben::
Also wir setzen ja FB 2.1 ein, aber ich kann im IBExpert keine Systemtabelle finden, die die entsprechenden Werte bereit stellt. Auf der Firebirdhomepage habe ich einen Hinweis darauf gefunden, wie man Loginversuche schon damals bei Interbase loggen konnte, dort scheint aber nicht der Ursprung des Logins aufgezeichnet zu werden.
Oder meinten Sie, dass die Daten schon jetzt von Anfang an, ohne Änderung, geloggt werden, ich sie nur nicht finden konnte?


einfach mal in der DB einen neuen Trigger mit rechtsklick auf den Trigger eintrag im Explorer machen und dann oben auf database trigger umschalten.

http://www.ibexpert.net/ibe/index.php?n=Doc.Trigger#DBTriggerTypes

Im OnConnect bekommt man das passende event. Dann z.B. über die Context variablen oder über die Inhalte der Tabelle mon$attachments suchen mit current_connection und das in eine eigenen Tabelle schreiben.

Gruß

Holger
www.ibexpert.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
hoFFy



Anmeldungsdatum: 02.11.2007
Beiträge: 259
Wohnort: Diepholz

BeitragVerfasst am: Fr März 05, 2010 8:24 am    Titel: Antworten mit Zitat

Okay, dann muss ich wohl warten bis unser Programmierer wieder im Hause ist, denn um einen solchen Trigger zu erstellen fehlen mir schlichtweg, wie geschrieben, die Kenntnisse.
_________________
Windows - Wenn du nicht wissen willst, warum es nicht funktioniert
Mac - Wenn du nicht wissen willst, warum es funktioniert
Linux - Wenn du wissen willst, warum es funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ibexpert



Anmeldungsdatum: 30.04.2004
Beiträge: 20

BeitragVerfasst am: Sa März 06, 2010 9:50 am    Titel: Antworten mit Zitat

hoFFy hat folgendes geschrieben::
Okay, dann muss ich wohl warten bis unser Programmierer wieder im Hause ist, denn um einen solchen Trigger zu erstellen fehlen mir schlichtweg, wie geschrieben, die Kenntnisse.


Hi, Hoffy,

da gibt es zwei Lösungsmöglichkeiten:
1. warten
2. deine Kenntnisse erweitern Smile (machen wir auch gerne im Rahmen der Hotline)

zu 2.

im IBExpert script executive folgendes script ausführen

Code:

/******************************************************************************/
/****              Generated by IBExpert 06.03.2010 09:46:09               ****/
/******************************************************************************/

/******************************************************************************/
/****     Following SET SQL DIALECT is just for the Database Comparer      ****/
/******************************************************************************/
SET SQL DIALECT 3;



/******************************************************************************/
/****                                Tables                                ****/
/******************************************************************************/


CREATE GENERATOR ID;

CREATE TABLE IBE$LOGCONNECT (
    ID   BIGINT NOT NULL,
    USR  VARCHAR(30),
    PRG  VARCHAR(255),
    TME  TIMESTAMP,
    IP   VARCHAR(255)
);




/******************************************************************************/
/****                             Primary Keys                             ****/
/******************************************************************************/

ALTER TABLE IBE$LOGCONNECT ADD PRIMARY KEY (ID);


/******************************************************************************/
/****                               Triggers                               ****/
/******************************************************************************/


SET TERM ^ ;



/******************************************************************************/
/****                         Triggers for tables                          ****/
/******************************************************************************/



/* Trigger: IBE$LOGCONNECT_BI */
CREATE OR ALTER TRIGGER IBE$LOGCONNECT_BI FOR IBE$LOGCONNECT
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(ID,1);
END
^


SET TERM ; ^



/******************************************************************************/
/****                              Privileges                              ****/
/******************************************************************************/


/* Privileges of users */
GRANT ALL ON IBE$LOGCONNECT TO PUBLIC;


SET TERM ^ ;



CREATE OR ALTER TRIGGER IBE$LOGCONNECT_I
ACTIVE ON CONNECT POSITION 0
AS
begin
  insert into IBE$LOGCONNECT (USR, PRG, TME, IP)
  select current_user,mon$attachments.mon$remote_process,current_timestamp,mon$attachments.mon$remote_address
  from mon$attachments
  where mon$attachments.mon$attachment_id=current_connection;
end
^


SET TERM ; ^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
hoFFy



Anmeldungsdatum: 02.11.2007
Beiträge: 259
Wohnort: Diepholz

BeitragVerfasst am: Mo März 08, 2010 9:39 am    Titel: Antworten mit Zitat

ibexpert hat folgendes geschrieben::
[...]
2. deine Kenntnisse erweitern Smile (machen wir auch gerne im Rahmen der Hotline)

zu 2.

im IBExpert script executive folgendes script ausführen [...]



Hallo,

das mit dem Script einspielen hat prima funktioniert, die Spalte "IP" liefert genau das was ich benötige. Nur hat die Sache einen Haken:
Auf dem einen Server wird die IP-Adresse korrekt angezeigt, auf dem anderen, dem Produktivsystem erhalte ich nur 0.0.0.0. Ich kann die Ursache jedoch nicht feststellen. Schon in mon$remote_address steht 0.0.0.0 drin.
Wir arbeiten mit zwei Netwerksegmenten 192.168.1.x und 192.168.2.x. Der Server verfügt über 2 Netzwerkkarten, jede für ein Netzwerksegment. Kann hier evtl. der Ursprung dafür liegen, dass die IP-Adressen nicht mit angegeben werden?

Der andere Server verfügt nur über eine Netzwerkkarte, er zeigt mir meine IP-Adresse wenn ich mich einlogge korrekt an.
_________________
Windows - Wenn du nicht wissen willst, warum es nicht funktioniert
Mac - Wenn du nicht wissen willst, warum es funktioniert
Linux - Wenn du wissen willst, warum es funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge vom vorherigen Thema anzeigen:   
Neuen Beitrag schreiben   Auf Beitrag antworten    forum.synerpy.de Foren-Übersicht -> Wunschliste Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group