Yazılım Eğitim

Yeni Haberler

C# ile Windows Güvenlik Duvarı(Firewall ) Kural(Roles) Ekleme | Ebubekir Bastama

Windows Güvenlik Duvarı

Bütün "Windows" işletim sistemleri içerisinde yer alan bir güvenlik yazılımıdır.
 Microsoft'un resmi ürünlerinden biri olan ve halen geliştirilmesine devam edilen "Windows" işletim sistemleri, bir kişisel bilgisayar kullanıcısının ihtiyacı olabileceği birçok temel yazılımla birlikte sunulmakta olup ve özellikle yeni nesil teknoloji'de
güvenlik risklerin sayısının oldukça fazla olması nedeniyle "Microsoft" kullanıcıları kimlik avı ve diğer tehditlere karşı korumak için kendi güvenlik yazılımını varsayılan olarak sunmaktadır.
   Microsoft'un Güvenlik Duvarların'da değişik kurallar oluşturarak erişim kısıtlamaları veya izinler verebiliriz fakat bazen bazı kuralları elle vermek yerine yazacağımız bir program ile yapmamız hem hız hemde yazdığımız diğer otomasyon ve programların izinleri için daha hızlı ve sorunsuz işlemler gerçekleştirecektir.

    Şimdi sizlere C# Dili ile Nasıl Windows Güvenlik Duvarı(Firewall ) Kural(Roles) Eklemeyi göstereceğim ve aynı zaman'da aşağıdaki "github" hesabımız'dan örnek projeye ulaşabilirsiniz.

C# Kodu:
Not:Projemize öncelikle “FirewallAPI.dll”i eklememiz gerekmektedir.
 Eklemek için “Solution Explorer -> References -> Add Reference -> Browse ” browse butonuna tıklayıp açılan ekrandan   “C:\Windows\System32” yoluna gidip “FirewallAPI.dll”  seçiyoruz ve projemize ekliyoruz.

using NetFwTypeLib;

   Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
   INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
            var currentProfiles = fwPolicy2.CurrentProfileTypes;
            INetFwRule firewallRule = fwPolicy2.Rules.OfType<INetFwRule>().Where(
                x => x.Name == textBoxX2.Text)
                .FirstOrDefault(); // Koymak istediğiniz kural ile kayıtlı kayıt var mı diye kontrol ediyoruz
            if (firewallRule == null)
            {
                INetFwRule2 inboundRule = (INetFwRule2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                inboundRule.Enabled = true;
                inboundRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                inboundRule.Protocol = 6; // TCP Protokol Numarası
                inboundRule.LocalPorts = textBoxX1.Text; // Açmak istediğiniz port
                inboundRule.Name = textBoxX2.Text; // Kural ismi
                inboundRule.ApplicationName = textBoxX3.Text;
                inboundRule.Description = richTextBox1.Text;
                inboundRule.Profiles = currentProfiles;
                INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                firewallPolicy.Rules.Add(inboundRule);
                MessageBox.Show("Kural Başarılı Bir Şekilde Oluşturuldu.");
            }
            else
            {
                MessageBox.Show("Bu Kural Mevcut.");
            }

Hiç yorum yok