Uygulama Güvenliği
&
Özgür Yazılım ve Linux Günleri
2016
Ruby on Rails Web Framework
ve
Güvenlik
Muhammet Dilmaç
[*] Karabük Üniversitesi - Bilgisayar Mühendisliği
[*] ADEO - Siber Güvenlik Danışmanı
[*] Pisi Linux - Geliştiricisi
[*] Geliştirici
WEB
[*] HTTP/ - 1990
[*] Artan istekler
[*] Statik sayfalardan -> Dinamik Sayfalara
[*] Sade mimariden -> Karmaşık mimariye
Web Development
[*] Bir zamanlar dünya çok güzeldi HTML bile yoktu.
[*] Sonra HTML/CSS ve JS geldi.
[*] Ve diğerleri...
[*] FrontEnd - BackEnd ve Designer
BackEnd
[*] Sunucu tarafında yapılan web yazılımı bacağı.
[*] Gözükmeyen abiler.
[*] İş çok...
[*] Web Çatısı
Ruby on Rails
[*] Ruby ile geliştirildi.(2005)
[*] Açık kaynak kodlu.
[*] (M)odel(V)iew(C)ontroller
[*] Don't repeat yourself!
[*] Keyifli kod ^^
Security
[*] Güvenlik zafiyetleri sadece klasik PHP'de yoktur.
[*] Framework kullanıyorum beni bağlamaz değil :)
[*] Yazılımcı bağımsız değildir!
SQL Injection
[*] Active Record
[*] Elle SQL sorgusu yazma ihtiyacı
[*] O değişkeni o sorguya bodozlama katma kardeşim :(
[*] Mutlaka Prepare Statement'ı kullanın!
XSS
[*] Gelen geçsin, geçen gitsin ile olmaz bu işler :(
[*] HTML Safe dedikte gerçekten de safe mi?
[*] Sanitize ile çıktı kontrol edilmeli!
[*] Loofah ile girdiler kontrol edilmeli!
CSRF
[*] Ruby on Rails kullanıcısıysanız pek bir derdiniz yok bu konuda zira application controller'da bunun için korumamız mevcuttur. (protect_from_forgery with: :exception)
Security Headers
[*] Güvenlik amaçlı kullanılan bir çok http headerı twitter tarafından yayınlanan secureheaders gemi ile edinebilirsiniz.
Bulunan headerlar;
[*] Content Security Policy
[*] HTTP Strict Transport Security
[*] X-Frame-Options
[*] X-XSS-Protection
[*] X-Content-Type-Options
[*] X-Download-Options
[*] X-Permitted-Cross-Domain-Policies
[*] Public Key Pinning
Static Code Analyz
[*] Çeşitli statik kod inceleme araçları ile yazmış olduğunuz kodları inceletebilir ve bir sorun var ise sizi uyarmalarını sağlayabilirsiniz.
Buna örnek olabilecek araçlarımız;
[*] Brakeman
[*] CodeSake Dawn
Önerilenler
[*] Kullanıcı yetkisine göre parametre ayarlamayı unutmayın :(
[*] Mutlaka hackerone gibi bug bounty programları yapan yerleri takip edin.
[*] SSH güvenliğini önemseyin.
[*] Dinç kafa ile yazın :(
[*] Kodları lütfen inceletin.
[*] Kullandığınız gemleri mutlaka inceleyin(star, issue, last commit)
Contact
[*] Twitter: /m_dilmac
[*] Github: /MuhammetDilmac
[*] Mail: iletisim@muhammetdilmac.com.tr
Uygulama Güvenliği &Özgür Yazılım ve Linux Günleri2016
By Muhammet Dilmaç
Uygulama Güvenliği &Özgür Yazılım ve Linux Günleri2016
- 555