Quantcast
Channel: ppedv Team Blog
Viewing all articles
Browse latest Browse all 1198

Du kommst hier net rein - Logon Trigger

$
0
0

Trigger sind seitens Performance vermutlich die schlechteste Wahl. Worüber wir allerdings hier sprechen hat nichts mit den üblichen Insert, Update und Delete Trigger zu tun.  Wir wollen aktive Login Versuche überwachen und evtl darauf reagieren.

Das einzig Gemeinsame mit den Üblichen DML Triggern ist also das Reagieren auf Ereignisse – den Logins.

Ein Frage der Zeit

Wissenswert ist hier, dass Logon Trigger erst nach der Authentifizierung stattfinden, aber bevor eine Benutzersitzung zugewiesen wird. Daher werden auch alle Fehlermeldung, die evtl durch den Trigger ausgelöst werden in das SQL Server Fehlerprotokoll geschrieben Ist das Login grundsätzlich falsch (falsches Kennwort oder ähnliches), dann wird der Logon Trigger gar nicht erst ausgelöst.

Zweckdienliche Hinweise erbeten

Insofern läßt sich der Zweck der Logon Trigger gut vorstellen. So könnte man beispielsweise die Uhrzeiten abfragen und je nachdem eine Login zulassen oder eben auch das Login verwerfen (Rollback). Oder etwa pro User maximal 3 Sessions oder grundsätzlich eine maximale Anzahl an Sessions generell zulassen. Der Phantasie sind hier keine Grenzen gesetzt.

Beachte allerdings hierbei, dass der Trigger im Namen des User ausgeführt wird. Insofern muss, falls  die Anzahl der Sessions ausgelesen werden sollte, das Recht für View State für den User vorhanden sein oder alternativ läßt man den Trigger unter einem bestimmten Useraccount ausführen.  (execute as ‘’)

 

Maximal 30 Session, außer für den Administrator
  1: CreateTrigger MaxSessions
  2:   ONALL SERVER  WITHEXECUTEAS 'FBI\Administrator'
  3:   FOR LOGON
  4:   AS
  5:   BEGIN
  6:   	If ((selectcount(*) from sys.dm_exec_connections 
  7:   ALTERTRIGGER trgMaxSessions
  8:               where session_id>50) > 30
  9:   	    AND
 10:   	    (ORIGINAL_LOGIN() != 'FBI\Administrator'))
 11:   	ROLLBACK;
 12:   END;
 13:   

 

Nur  3 Sessions pro User , außer für den Administrator

 

  1: ALTERTRIGGER trgMaxSessions
  2: ONALL SERVER  WITHEXECUTEAS 'FBI\Administrator'
  3: FOR LOGON
  4: AS
  5: BEGIN
  6: 	If ((selectcount(*) from sys.dm_exec_sessions where original_login_name= ORIGINAL_LOGIN()) > 3
  7: 		AND
  8: 		(ORIGINAL_LOGIN() != 'FBI\Administrator'))
  9: 	ROLLBACK;
 10: END;

 

Für bestimmte Anwendungen Zeiten vorgeben

 

  1: createTRIGGER BusinessTime
  2: ONALL SERVER  WITHEXECUTEAS 'FBI\Administrator'
  3: FOR LOGON
  4: AS
  5: BEGIN

6: IF (substring(convert(varchar(50),Current_timestamp),12,23))
notbetween ' 06:00PM' and ' 06:00AM'

  7: 		AND
  8: 	(app_name() like  '%Report%')
  9: 	ROLLBACK;
 10: END;

 

Protokollierung der Logins

 

  1: CreateTRIGGER LoginMonitor
  2: ONALL SERVER  WITHEXECUTEAS 'FBI\Administrator'
  3: FOR LOGON
  4: AS
  5: BEGIN
  6:  INSERTINTO DWMontor..Logininfos (Orgname, Datum, Info)
  7:        SELECT ORIGINAL_LOGIN(), GETDATE(),
  8:        EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]','NVARCHAR(128)')
  9: END;
 10: 
 11: --Tabelle für Loginprotokollierung
 12: 
 13: CREATETABLE [dbo].[LoginInfos](
 14:  [id] [int] IDENTITY(1,1) NOTNULL,
 15:  [Orgname] [varchar](50) NULL,
 16:  [Datum] [datetime] NULL,
 17:  [Info] [varchar](100) NULL
 18: )

 

Wie bereits gesagt. Der Fantasie sind keine grenzen gesetzt, ob noch eine Emailbenachrichtigung zusenden lassen oder was auch immer. Aüßerst praktisch!

Viel Spaß damit!


Viewing all articles
Browse latest Browse all 1198

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes