|
||
|
| root > Web Uygulamaları Güvenliği |
|
|
| Maze Of Web Application Security |
|
Bu makalemde, son zamanlarda yaptığım web uygulamalarında kullandığım bir iki labirent güvenlik metodundan bahsedeceğim. Aslında birçoğunuz tarafından bilinen, kullanılan bazı metotları bir arada ve birbirine bağımlı olarak kullandım. Çok enteresan bişey çıktı ortaya. Asıl amacım onu sizlerle paylaşmak, bir beyin fırtınasını başlatmak, kendi yöntemlerinizi geliştirmeye teşviktir. Öncelikle neden böyle bişey yaptım ondan söz etmem gerekiyor. Sonrasında yöntemlerinde ne kadar mantıklı olduğunu anlayacaksınız. Ben bir birey olarak, bir web tasarım ve yazılım şirketi ile freelance çalışıyorum. Aslında birkaç şirketle çalışıyorum. Bu izlediğim yolu şimdilik sadece bir şirkete uyguladım / uygulamak zorunda kaldım. Türkiye piyasasında birçok meslektaşım yaptığı işin parasını alamamaktan yahut geç almaktan yakınırlar. İş teslim edilmeden tahsilat yapılmaz. Ancak iş teslim edildiği zaman bazı sorunlar çıkabilir ve siz işi teslim ettiğinizle kalırsınız. İsterseniz o web site tasarım ve yazılımının programcısı olarak tahsilatınızı yapamadığınız takdirde illegal yoldan o siteyi kullanılmaz hale getirebilme gücüne sahipsinizdir elbet ama bu davranışınız kanunlar çerçevesinde sizi haksız duruma düşürür. Eğer aranızda resmi bir sözleşmenizde yoksa, siz siteyi yaptığınızla kalırsınız. İşte ben böyle bir durumda kalacağımı sezdim. Ancak karşı tarafın yakarışlarına kayıtsız kalamadım ve işi teslim ettim paramı henüz almadan. Ancak kendimi legal yoldan garantiye almak için birtakım kodlar yerleştirdim sistemin içerisine. Şöyle ki ; Sistem Access database kullanıyor. Ancak kendi sunucumda Sql serverda bir database oluşturdum ve bu database"e özel bir kullanıcı. Sistemin Config.asp dosyasına bir kod yazdım bu veritabanına uzaktan ip ile bağlanıp benim sunucumdaki Sql veritabanını kontrol ediyor. O veritabanı yoksa, yada oraya bağlanamıyorsa, yani kısacası sistem uzak sunucuya bağlanırken hata ile karşılaşıyorsa "Güvenlik nedeni ile sistem kapalıdır !" mesajı veriyor. Bu kodu o sistemde bulmak ve kaldırmak bir programcı için çerez bir iştir. Ancak oyun tam burada başlıyor.. Biz 40 kardeşiz, 40"ımızda birbirimizi biliriz. Ya da Biz birbirimiz için yaratılmışız ! ClassControl ve Config.asp dosyası birbiri ile bağlantılıdır. Bunu çözmek mümkün değilmi ? Tabiki mümkün ama bunu bilmeyen için bu labirentin anlamı inanın kafayı sıyırtır. Zaten bu labirentimi çözerse alsın sistemi tepe tepe kullansın. Helal hoş olsun. Sonuna kadar hakkıdır. Güvenlik metodumuz bu şekilde bir labirentten ibarettir. Unutmadan ; Bu kodu sadece o sitenin tahsilatını yapana kadar orada barındıracağım. Tahsilatı yaptıktan sonra aldığım güvenlik önlemini izah edip bu kontrollerin olmadığı yedeğimdeki sistemi onlara vereceğim. Ayrıca kodlarında bir kısmını paylaşalım ; Config.asp-------------------------------------------------------------------------------- "Burası bağlantı cümleciğidir <% ConnectionString ! %> ClassControl.asp-------------------------------------------------------------------------------- Response.Charset = "utf-8" Set ClassFSO = Server.CreateObject("Scripting.FileSystemObject") Set ReadFile = ClassFSO.OpenTextFile(Server.MapPath("Config.asp"), 1, -2) Content = ReadFile.ReadAll() If Instr(Content,"connFunct(""dbName"")") = False Or Instr(Content, "Server=serverIp") = False Or Instr(Content, "If ClassFSO.FileExists(Server.MapPath(""ClassControl.asp"")) = False Then") = False Then Response.Write "Güvenlik Nedeniyle Sistem Kapalıdır !" Response.End() End If "Bu dosyada şart cümlesinde gördüğünüz üzre hem ClassControl.asp dosyasının varlığı, hemde ConnectionString"in varlığı kontrol ediliyor. Diğer ClassControl.asp dosyasının varlığını kontrol eden ve Config.asp içerisinde bulunan fonksiyonum ise ; Function FileControls() Set ClassFSO = Server.CreateObject("Scripting.FileSystemObject") If ClassFSO.FileExists(Server.MapPath("../ClassControl.asp")) = False Then Response.Write "Güvenlik Nedeniyle Sistem Kapalıdır !" Response.End() End If End Function Bir sonraki makalede görüşmek dileğiyle.. İyi Çalışmalar... |
|
| Bağlantılar Bg.org.tr |
| CS - Security Expert Network | AUP&TOS |