AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Firewall Meldung erzwingen
Thema durchsuchen
Ansicht
Themen-Optionen

Firewall Meldung erzwingen

Ein Thema von QuickAndDirty · begonnen am 15. Jan 2013 · letzter Beitrag vom 21. Jan 2013
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#1

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 13:27
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).
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 14:46
Welche von den API Funktionen passt oder wo es brauchbare Beispiele gibt weiß du nicht oder?(
Neee. Hatte nur gewusst das es ne API gibt. Hatte sie aber bisher nicht benötigt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 17:16
Reagieren Sicherheitstools(Kaspersky,ESET &c.) auch auf diese API-Aufrufe?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 17:27
Nicht getestet:

http://code.google.com/p/ryulib4delp...all.pas?edit=1

Delphi-Quellcode:
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.
Mehr Infos:
http://www.activexperts.com/activmon...ndowsfirewall/
http://www.sevenforums.com/tutorials...exception.html
http://www.sevenforums.com/tutorials...-settings.html
.
.

Geändert von hathor (15. Jan 2013 um 17:50 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#5

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 17:33
@Hathor:
Danke!
Ich habe auch hier etwas gefunden
http://stackoverflow.com/questions/5...ll-rule-for-xp
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?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 20:06
Jetzt steht noch im Raum.
Was ist mit 3rd Party Firewalls,
sagt denen das Security Center bescheid das ich gerne eine Ausnahme hätte?
Moderne Firewalls müssten sich alle an der Windows-API anmelden so das sie benachrichtig werden. Kein Firewall-Hersteller will haben das die Windows-Meldung kommt das der Rechner nicht geschützt wäre weil er sich nicht korrekt registriert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
musicman56
(Gast)

n/a Beiträge
 
#7

AW: Firewall Meldung erzwingen

  Alt 15. Jan 2013, 22:34
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
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#8

AW: Firewall Meldung erzwingen

  Alt 18. Jan 2013, 15:06
Nicht getestet:

http://code.google.com/p/ryulib4delp...all.pas?edit=1

Delphi-Quellcode:
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.
Mehr Infos:
http://www.activexperts.com/activmon...ndowsfirewall/
http://www.sevenforums.com/tutorials...exception.html
http://www.sevenforums.com/tutorials...-settings.html
.
.
Warum ist die eine Prozedur mit CoInitialize und das andere ohne?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
musicman56
(Gast)

n/a Beiträge
 
#9

AW: Firewall Meldung erzwingen

  Alt 18. Jan 2013, 18:02
Zitat:
Warum ist die eine Prozedur mit CoInitialize und das andere ohne?
Das würde mich auch interessieren.

Andere Frage/Problem: Weil bei Server 2012 standardmäßig die Benachrichtigung ausgeschaltet ist, wollte ich sie mal damit einschalten:

Delphi-Quellcode:
procedure SetNotificationDisabled(Value: boolean);
var
  FirewallMsg: OleVariant;
  FirewallApp: OleVariant;
  CurrentProfile: OleVariant;
begin
  CoInitialize(nil);
  try
    FirewallMsg := CreateOLEObject('HNetCfg.FwMgr');
    CurrentProfile := FirewallMsg.LocalPolicy.CurrentProfile;
    FirewallApp := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
    FirewallApp.NotificationsDisabled := Value;
    CurrentProfile.AuthorizedApplications.Add(FirewallApp);
  finally
    CoUninitialize;
  end;
end;
Es folgt eine Exception: Die Methode 'NotificationsDisabled' wird vom Automatisierungsobjekt nicht unterstützt.

Hab mir die Beispiele unter activexperts.com angesehen. Es müsste das doch eigentlich gehen. Hat jemand dazu eine Idee?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#10

AW: Firewall Meldung erzwingen

  Alt 19. Jan 2013, 10:33
Zitat:
Warum ist die eine Prozedur mit CoInitialize und das andere ohne?
Das würde mich auch interessieren.

Andere Frage/Problem: Weil bei Server 2012 standardmäßig die Benachrichtigung ausgeschaltet ist, wollte ich sie mal damit einschalten:

Delphi-Quellcode:
procedure SetNotificationDisabled(Value: boolean);
var
  FirewallMsg: OleVariant;
  FirewallApp: OleVariant;
  CurrentProfile: OleVariant;
begin
  CoInitialize(nil);
  try
    FirewallMsg := CreateOLEObject('HNetCfg.FwMgr');
    CurrentProfile := FirewallMsg.LocalPolicy.CurrentProfile;
    FirewallApp := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
    FirewallApp.NotificationsDisabled := Value;
    CurrentProfile.AuthorizedApplications.Add(FirewallApp);
  finally
    CoUninitialize;
  end;
end;
Es folgt eine Exception: Die Methode 'NotificationsDisabled' wird vom Automatisierungsobjekt nicht unterstützt.

Hab mir die Beispiele unter activexperts.com angesehen. Es müsste das doch eigentlich gehen. Hat jemand dazu eine Idee?
ne!
Aber CoUninitialize findet sich nicht in ComObj da wo CoInitialize und CoInitialzeEx zu finden sind...
seltsam.

Außerdem ne frage mal so neben bei. Wenn ein Setup euch Firewall Ausnahmen einrichtet, erwartet ihr das die Deinstallation diese zurücknimmt?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 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