Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Auf geblockte eingehende oder ausgehende Verbindungen der Windows Firewall mit der Aufgabenplanung reagieren

Mitglied: colinardo

colinardo (Level 5) - Jetzt verbinden

23.05.2014, aktualisiert 10.06.2014, 5436 Aufrufe, 4 Danke

Manchmal muss man auf bestimmte Firewall-Ereignisse mit einer Aktion reagieren. Dies lässt sich mit entsprechendem Logging der Firewall-Events in das Event-Log und einem Event-Trigger lösen. Dieser Tipp beschreibt die nötigen Schritte um auf geblockte eingehende oder ausgehende Verbindungen reagieren zu können, und diese weiter zu filtern.

Zuerst müssen wir dazu das Logging der fehlgeschlagenen Verbindungen in das Security-EventLog aktivieren (in einer administrativen Konsole ausführen):
auditpol.exe /set /subcategory:{0CCE9226-69AE-11D9-BED3-505054503030} /failure:enable
Wenn man hier zusätzlich erfolgreiche Verbindungen loggen wollte , müsste hier noch ein /success:enable angehängt werden (aber Vorsicht, mit der Einstellung füllt sich das Eventlog ziemlich schnell ).
Diese Einstellung lässt sich auch in der lokalen Security-Policy (secpol.msc) konfigurieren:

22c13c26f6271b84ea0e875a62d71f86 - Klicke auf das Bild, um es zu vergrößern

Ab jetzt erscheinen die Ereignisse der "Windows-Filterplattform" im Security-Eventlog.

Für den Anfang habe ich euch dafür mal zwei Tasks als XML erstellt die euch als Basis dienen (jeweils für eingehende und ausgehende Verbindungen). Diese Tasks lassen sich in der Aufgabenplanung einfach mit Rechtsklick > Aufgabe importieren einbinden:

XML-Task: Auf geblockte eingehende Verbindungen reagieren
01.
<?xml version="1.0" encoding="UTF-16"?> 
02.
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 
03.
  <Triggers> 
04.
    <EventTrigger> 
05.
      <Enabled>true</Enabled> 
06.
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Security"&gt;&lt;Select Path="Security"&gt;*[System[(Level=4 or Level=0) and (EventID=5157)]] and *[EventData[Data[@Name='LayerRTID']='44']]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> 
07.
      <ValueQueries> 
08.
        <Value name="Application">Event/EventData/Data[@Name='Application']</Value> 
09.
        <Value name="DestAddress">Event/EventData/Data[@Name='DestAddress']</Value> 
10.
        <Value name="DestPort">Event/EventData/Data[@Name='DestPort']</Value> 
11.
        <Value name="ProcessID">Event/EventData/Data[@Name='ProcessID']</Value> 
12.
        <Value name="Protocol">Event/EventData/Data[@Name='Protocol']</Value> 
13.
        <Value name="SourceAddress">Event/EventData/Data[@Name='SourceAddress']</Value> 
14.
        <Value name="SourcePort">Event/EventData/Data[@Name='SourcePort']</Value> 
15.
      </ValueQueries> 
16.
    </EventTrigger> 
17.
  </Triggers> 
18.
  <Principals> 
19.
    <Principal id="Author"> 
20.
      <LogonType>InteractiveToken</LogonType> 
21.
      <RunLevel>HighestAvailable</RunLevel> 
22.
    </Principal> 
23.
  </Principals> 
24.
  <Settings> 
25.
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> 
26.
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> 
27.
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> 
28.
    <AllowHardTerminate>true</AllowHardTerminate> 
29.
    <StartWhenAvailable>false</StartWhenAvailable> 
30.
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable> 
31.
    <IdleSettings> 
32.
      <StopOnIdleEnd>true</StopOnIdleEnd> 
33.
      <RestartOnIdle>false</RestartOnIdle> 
34.
    </IdleSettings> 
35.
    <AllowStartOnDemand>true</AllowStartOnDemand> 
36.
    <Enabled>true</Enabled> 
37.
    <Hidden>false</Hidden> 
38.
    <RunOnlyIfIdle>false</RunOnlyIfIdle> 
39.
    <WakeToRun>false</WakeToRun> 
40.
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit> 
41.
    <Priority>7</Priority> 
42.
  </Settings> 
43.
  <Actions Context="Author"> 
44.
    <ShowMessage> 
45.
      <Title>Es wurde eine eingehende Verbindung geblockt!</Title> 
46.
      <Body>Name: $(Application) / Process-ID: $(ProcessID) / LocalAddress: $(SourceAddress)  / Localport: $(SourcePort) / RemoteAddress: $(DestAddress) / DestPort: $(DestPort) / Protocol: $(Protocol)</Body> 
47.
    </ShowMessage> 
48.
  </Actions> 
49.
</Task>
XML-Task: Auf geblockte ausgehende Verbindungen reagieren
01.
<?xml version="1.0" encoding="UTF-16"?> 
02.
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 
03.
  <Triggers> 
04.
    <EventTrigger> 
05.
      <Enabled>true</Enabled> 
06.
      <Subscription>&lt;QueryList&gt;&lt;Query&gt;&lt;Select Path='Security'&gt;*[System[(Level=4 or Level=0) and (EventID=5157)]] and *[EventData[Data[@Name='LayerRTID']='48']]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> 
07.
      <ValueQueries> 
08.
        <Value name="Application">Event/EventData/Data[@Name='Application']</Value> 
09.
        <Value name="DestAddress">Event/EventData/Data[@Name='DestAddress']</Value> 
10.
        <Value name="DestPort">Event/EventData/Data[@Name='DestPort']</Value> 
11.
        <Value name="ProcessID">Event/EventData/Data[@Name='ProcessID']</Value> 
12.
        <Value name="Protocol">Event/EventData/Data[@Name='Protocol']</Value> 
13.
        <Value name="SourcePort">Event/EventData/Data[@Name='SourcePort']</Value> 
14.
      </ValueQueries> 
15.
    </EventTrigger> 
16.
  </Triggers> 
17.
  <Principals> 
18.
    <Principal id="Author"> 
19.
      <LogonType>InteractiveToken</LogonType> 
20.
      <RunLevel>HighestAvailable</RunLevel> 
21.
    </Principal> 
22.
  </Principals> 
23.
  <Settings> 
24.
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> 
25.
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> 
26.
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> 
27.
    <AllowHardTerminate>true</AllowHardTerminate> 
28.
    <StartWhenAvailable>false</StartWhenAvailable> 
29.
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable> 
30.
    <IdleSettings> 
31.
      <StopOnIdleEnd>true</StopOnIdleEnd> 
32.
      <RestartOnIdle>false</RestartOnIdle> 
33.
    </IdleSettings> 
34.
    <AllowStartOnDemand>false</AllowStartOnDemand> 
35.
    <Enabled>false</Enabled> 
36.
    <Hidden>false</Hidden> 
37.
    <RunOnlyIfIdle>false</RunOnlyIfIdle> 
38.
    <WakeToRun>false</WakeToRun> 
39.
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit> 
40.
    <Priority>7</Priority> 
41.
  </Settings> 
42.
  <Actions Context="Author"> 
43.
    <ShowMessage> 
44.
      <Title>Es wurde ein ausgehende Verbindung geblockt!</Title> 
45.
      <Body>Name: $(Application) / Process-ID: $(ProcessID) / Ziel-Adresse: $(DestAddress)  / Zielport: $(DestPort) / Protokoll: $(Protocol) /Quell-Port: $(SourcePort)</Body> 
46.
    </ShowMessage> 
47.
  </Actions> 
48.
</Task>
Das "besondere" an den obigen Tasks sind die zusätzlichen Eigenschaften auf die man in der Aufgabe mit Variablen zugreifen kann. So kann man z.B. Eigenschaften des Events einem Script als Argument mit auf den Weg geben. Die Definition der Variablen findet im Abschnitt <ValueQueries></ValueQueries> des XML-Files statt.
Auf diese Variablen kann man nun folgendermaßen in den Aktionen der Aufgabe zugreifen:
$(VariablenName)
In den Aufgaben ist als Beispiel eine Meldung anzeigen-Aktion hinterlegt, die die Verwendung der Variablen demonstriert.

Im jetzigen Zustand wird bei allen fehlgeschlagenen Verbindungen die Aktion getriggert. Die lässt sich auf zwei Arten einschränken: Zum einen lässt sich mit den an ein Script übergebenen Variablen entscheiden, ob eine bestimmte Aktion ausgeführt werden soll (also im Script selber), oder man bearbeitet den benutzerdefinierten Trigger der Aufgabe. Da dieser Trigger als XML-Query hinterlegt ist, muss man sich etwas mit XPath-Abfragen beschäftigen. So weit möchte ich jetzt aber nicht ausholen sondern es nur anhand eines Beispiels demonstrieren.
Weitere Informationen wie die XPath-Filter funktionieren könnt Ihr hier nachlesen:
http://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filter ...

Dies ist z.B. der Trigger für geblockte eingehende Verbindungen:
<QueryList> 
  <Query Id="0" Path="Security"> 
    <Select Path="Security">*[System[(Level=4 or Level=0) and (EventID=5157)]] and *[EventData[Data[@Name='LayerRTID']='44']]</Select> 
  </Query> 
</QueryList>
um jetzt z.B. nur auf geblockte Verbindungen von einer bestimmten Remote IP-Adresse zu reagieren würde der Trigger so aussehen:
<QueryList> 
  <Query Id="0" Path="Security"> 
    <Select Path="Security">*[System[(Level=4 or Level=0) and (EventID=5157)] and EventData[Data[@Name='LayerRTID']="44" and Data[@Name="DestAddress"]="192.168.5.99"]]</Select> 
  </Query> 
</QueryList>
Ja ich weiß das DestAddress ist etwas eigenwillig zu verstehen, aber es ist damit der Remote-Endpunkt bei eingehenden Verbindungen gemeint.

An die Detail-Informationen eines Events kommt man wenn man auf den Tab Details eines geöffneten Events klickt.

Viel Erfolg
Grüße @colinardo
Ähnliche Inhalte
RedHat, CentOS, Fedora

Fedora Firewall: ICMP komplett ausschalten

Tipp von FrankRedHat, CentOS, Fedora6 Kommentare

Seit Fedora 20 und auch Redhat (bald auch Fedora Server 21 (freu)) den "firewalld" Daemon statt direkt "iptables" für ...

Firewall

Diverse Sicherheitslückem in Cisco Firewalls aufgetaucht

Information von transoceanFirewall10 Kommentare

Moin, betroffen von dieser Lücke sind zahlreiche Cisco Geräte, wie man hier lesen kann. Gruß Uwe

Firewall

Für alle, die bei der Sichtung von Firewall-Logs schnell Panik schieben

Erfahrungsbericht von LordGurkeFirewall16 Kommentare

Immer wieder sehe ich Fragen, in denen Leute in ihre Firewall-Logs schauen und irgendwo zwischen Panik und Herzinfarkt fragen, ...

Router & Routing

Sicherheitsupdates: Cisco schützt unter anderem Firewalls vor feindlicher Übernahme

Information von magicteddyRouter & Routing5 Kommentare

Sicherheitsupdates: Cisco schützt unter anderem Firewalls vor feindlicher Übernahme Aber Leider nicht vor Übernahme durch Dreibuchstabenorganisationen? -teddy

Neue Wissensbeiträge
Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 12 StundenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 18 StundenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 1 TagMicrosoft Office5 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Humor (lol)

Warum man sein Gast-WLAN nicht beliebig nennen sollte

Erfahrungsbericht von Henere vor 2 TagenHumor (lol)5 Kommentare

Servus, mal was aus dem Alltag. Zu Hause. Eigentlich wollte ich nur einen weiteren WLAN-AP ins Netz bringen, damit ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless12 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...