![]() |
Firewall Meldung erzwingen
Hallo,
die Frage ist vermutlich sehr naiv aber ich glaube an das Gute in den Programmierern von Microsoft und in den Sicherheitssoftwareentwicklern. Gibt es eine Möglichkeit aufpoppen eines Erlaubungs/Verbots Dialog von der Firewall anzufordern um einem Dienst zu erlauben "Server" auf besagtem Port spielen zu dürfen? Ich habe leider festgestellt das es auf manchen System nicht trivial ist einen Netzwerk Server-Dienst in betrieb zu nehmen. -Auf manchen einfachen Systemen kommt die Windows-Firewall und fragt und auf manchen nicht. -Auf manchen Systemen fragt eine Sicherheitssoftware z.B. ESET nach und auf einem anderen wiederum nicht. -Auf manchen W2008 Server R2 Systemen fragt die Firewall und der Port ist dann nur für Anwendungen geöffnet, als Dienst ist man von außen nicht verfügbar. Irgendwelche Systemrichtlinien sind dafür verantwortlich die ich nicht kenne...nur ein Admin hat das mal gelöst(hat 2 Tage Recherche erfordert), der ist aber nicht mehr bei dem Kunden beschäftigt. -Auf manchen W2008 Server R2 Systemen geht es einfach wenn man den Port in der Firewall freigibt... Gibt es eine Möglichkeit das öffnen der Ports für "Admins"/"User in kleinen Organisationen" leicht zu machen? Vielleicht eine zentrale API Nachfrage so nach dem Motto Show_Security_Center_Port_Open_Dialog(Port,sscpodA pplication or sscpoService) |
AW: Firewall Meldung erzwingen
Zitat:
![]() |
AW: Firewall Meldung erzwingen
hm...cool. Ich wusste doch das Programmierer gute Menschen sind.
Welche von den API Funktionen passt oder wo es brauchbare Beispiele gibt weiß du nicht oder?(ja ich weiß, aber ich dachte vielleicht lässt sich das Recherchieren verkürzen wenn du es eh schon weißt). |
AW: Firewall Meldung erzwingen
Zitat:
|
AW: Firewall Meldung erzwingen
Reagieren Sicherheitstools(Kaspersky,ESET &c.) auch auf diese API-Aufrufe?
|
AW: Firewall Meldung erzwingen
Nicht getestet:
![]()
Delphi-Quellcode:
Mehr Infos:
unit FireWall;
interface uses ActiveX, ComObj, Classes, SysUtils; const NET_FW_PROFILE2_DOMAIN = 1; NET_FW_PROFILE2_PRIVATE = 2; NET_FW_PROFILE2_PUBLIC = 4; NET_FW_SCOPE_ALL = 0; NET_FW_IP_VERSION_ANY = 2; NET_FW_IP_PROTOCOL_TCP = 6; NET_FW_ACTION_ALLOW = 1; procedure AddPortToFirewall(Caption:string; PortNumber:Cardinal); procedure AddExceptionToFirewall(Caption, Executable: string); implementation procedure AddPortToFirewall(Caption:string; PortNumber:Cardinal); var fwMgr,port:OleVariant; profile:OleVariant; begin fwMgr := CreateOLEObject('HNetCfg.FwMgr'); profile := fwMgr.LocalPolicy.CurrentProfile; port := CreateOLEObject('HNetCfg.FWOpenPort'); port.Name := Caption; port.Protocol := NET_FW_IP_PROTOCOL_TCP; port.Port := PortNumber; port.Scope := NET_FW_SCOPE_ALL; port.Enabled := true; profile.GloballyOpenPorts.Add(port); end; procedure AddExceptionToFirewall(Caption, Executable: string); var FirewallMsg: OleVariant; Application: OleVariant; CurrentProfile: OleVariant; begin CoInitialize(nil); try FirewallMsg := CreateOLEObject('HNetCfg.FwMgr'); CurrentProfile := FirewallMsg.LocalPolicy.CurrentProfile; Application := CreateOLEObject('HNetCfg.FwAuthorizedApplication'); Application.ProcessImageFileName := Executable; Application.Name := Caption; Application.Scope := NET_FW_SCOPE_ALL; Application.IpVersion := NET_FW_IP_VERSION_ANY; Application.Enabled := True; CurrentProfile.AuthorizedApplications.Add(Application); finally CoUninitialize; end; end; end. ![]() ![]() ![]() . . |
AW: Firewall Meldung erzwingen
@Hathor:
Danke! Ich habe auch hier etwas gefunden ![]() falls es jemanden interessiert Jetzt steht noch im Raum. Was ist mit 3rd Party Firewalls, sagt denen das Security Center bescheid das ich gerne eine Ausnahme hätte? |
AW: Firewall Meldung erzwingen
Zitat:
|
AW: Firewall Meldung erzwingen
Hallo,
was ich vom Sicherheitsprinzip her nicht ganz verstehe: Darf den Code wie in der "Unit Firewall" überhaupt so funktionieren? Das wäre ja für Schadprogramme quasi ein Selbstbedienungsladen :shock: |
AW: Firewall Meldung erzwingen
Zitat:
Der Benutzer muss das erst in einem Dialog bestätigen. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz