windows güvenlik duvarı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

windows güvenlik duvarı

Mesaj gönderen balsoft »

Arkadaşlar sorunum şu bir programım var ve internet üzerinden ftp upload yapıyorum aynı zamanda upload tamamlanıncada mysql e veri kaydı yapıyor herşey iyi güzel çalışıyor tabii kullanıcının windows güvenlik duvarı kapalı yada benim programa izin verilmişe ancak takdir edersinzki bu ayarları bilen kişi sayısı çok az yada kullanıcılar böle bişiyi düşünmüyo peki biz bunu nasıl engelleriz yani windows güvenlik duvarını program içerisinden nasıl kapatabiliriz yada bizim programımızı güvenilenler (özel durumlar) listesi içerisine alabiliriz

biraz karmaşık anlatmaya uğraştım sanırım ama işin özü bu
yardımlarınıziçin teşekkürler
Bilgini saklamaki daha fazla öğrenebilesin...
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Selamlar.

Windows birçok ayarda olduğu gibi bunu da registryde tutuyor.Yolu ise;

Kod: Tümünü seç

HKEY_LOCAL_MACHINE\System\ControlSet001\Services\SharetAccess\Parameters\StandardProfile\AuthorizedApplications\List
şeklinde.Yeniden başlatmaya gerek var mı emin değilim ama en kötü ihtimalle exploreri tazeleyince devreye girer.

Kolay gele..
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@aLonE CoDeR'a ek olarak bildirmem gerekenler var..

- Sistem denetimli registry alanları readonly olmaktadır. Sadece sistem tarafından erişilebilir ya da bilgi okuma amaçlı bizler.

- Henüz denemedim ama Windows Güvenlik duvarı da bunlardan olmalı. Çünkü bir yazılım bunu kapatabiliyorsa virüs/trojan vb. de kolaylıkla kapatabilir ve/veya kendini güvenli yazılımlar listesine alabilir.

- Diğer yandan programcılık etik kuralları gereği, kendi yazılımınız için yaptığınız bir şeyin başka olumsuz bir sonuca neden olabileceğini de hesaba katmalısınız.

- Burada bir de yeni kuşak Windows Vista fenomeni var ki zaten kullanıcılar her ilerde her şeye özellikle izin vermek zorunda kalacaklar veya sistem yöneticileri bu izinleri ayarlayacaklar.

- Basit düşünerek yazılım içerisinden eğer erişim engelleniyorsa, Windows tipine göre kullanıcıları yönlendirecek resimli mesajlar koyun. Basit ancak daha işlevsel olur.
Resim
Resim ....Resim
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Mesaj gönderen balsoft »

cevaplar için teşekkürler mrmarman arkadaş vala senin dediğinide düşündüm kapatırsam adamın başka yazılımlar tarafından olabilecek saldırılara karşı olan zaten sınırlı korumasınıda devre dışı bırakmış olcam o yüzden güvenilir listesine eklemek daha mantıklı olacak vista tambir fenomen vala bakalım napcaz aLonE CoDeR arkadaşım dediğini henüz denemedim deneyeceğim hemen teşekkürler yardımlarınız için bu araka saçmada olsa bi çözüm buldum direk windows güvenlik duvarı servisini kapatıyorum ama çok mantıksız bişi olduğunu biliyorum o yüzden arayışlarım devam etmekte :)
Bilgini saklamaki daha fazla öğrenebilesin...
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

Kod: Tümünü seç

function winwall: boolean;
var
  reg: tregistry;
  st: string;
begin
  result := false;
  try
    st := 'senin programının yolu';
    reg := tregistry.create;
    reg.rootkey := hkey_local_machine;
    reg.openkey('SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List', false);
    reg.writestring(st, st + ':*:Enabled:programının adı');
    result := true;
  except
    result := false;
  end;
end;
ben kullanıyorum, çalışıyor.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@ng

- @aLonE CoDeR gibi bunu biz de kullanıyoruz ancak Vista'da da denedin mi ? Ben henüz denemedim. Deneyip sonucu bildirirseniz yazılıma eklendikten ve müşteriye gittikten sonra geri dönüş sancılı olabiliyor...
Resim
Resim ....Resim
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

denedim çalışıyor.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Kodlarına baktım da yanlış anlaşılabilir kısımlar var, örneğin "programın adı" yazan yerde uzantısı olmayacak ve "programın yolu" dediğin yerde programın yolu, adı ve uzantısı birlikte olacak şeklinde ekleme yapma gereği duydum...

Benim kullandığım halini yazıyorum...

Kod: Tümünü seç

function WindowsFirewall_CheckException: boolean;
var
  Reg   : TRegistry; //Uses Registry
  Dosya : TFileName;
begin
  try
    Dosya := Application.Exename;
    Reg   := TRegistry.create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List', False);
    Result := ( Reg.ReadString( Dosya ) = Dosya + ':*:Enabled:'+ ChangeFileExt( ExtractFileName(Application.Exename), '' ) );
  except
    Result := false;
  end;
end;

Kod: Tümünü seç

function WindowsFirewall_AddException: boolean;
var
  Reg   : TRegistry; //Uses Registry
  Dosya : TFileName;
begin
  try
    Dosya := Application.Exename;
    Reg   := TRegistry.create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List', False);
    Reg.WriteString(Dosya, Dosya + ':*:Enabled:'+ ChangeFileExt( ExtractFileName(Application.Exename), '' ) );
    Result := true;
  except
    Result := false;
  end;
end;
Kullanımı :

Kod: Tümünü seç

  If NOT WindowsFirewall_CheckException() then begin
    If WindowsFirewall_AddException()
      then ShowMessage('Başarıyla ekledik...')
      else ShowMessage('Sorun oldu, ekleyemedik...');
  end else ShowMessage('Zaten Listedeyiz, değişiklik yapmadık...');
Resim
Resim ....Resim
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Mesaj gönderen balsoft »

süperoldu elinize sağlık arkadaşlar
Bilgini saklamaki daha fazla öğrenebilesin...
Cevapla