15
Uygulama Güvenliği Uygulama Güvenliği & & Özgür Yazılım ve Linux Günleri Özgür Yazılım ve Linux Günleri 2016 2016

[OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Embed Size (px)

Citation preview

Page 1: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Uygulama Güvenliği Uygulama Güvenliği & &

Özgür Yazılım ve Linux Günleri Özgür Yazılım ve Linux Günleri 20162016

Page 2: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Ruby on Rails Web Framework Ruby on Rails Web Framework ve ve

GüvenlikGüvenlik

Page 3: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Muhammet DilmaçMuhammet Dilmaç

[*] Karabük Üniversitesi - Bilgisayar Mühendisliği

[*] ADEO - Siber Güvenlik Danışmanı

[*] Pisi Linux - Geliştiricisi

[*] Geliştirici

Page 4: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

WEBWEB

[*] HTTP/ - 1990

[*] Artan istekler

[*] Statik sayfalardan -> Dinamik Sayfalara

[*] Sade mimariden -> Karmaşık mimariye

Page 5: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Web DevelopmentWeb Development[*] Bir zamanlar dünya çok güzeldi HTML bile yoktu.

[*] Sonra HTML/CSS ve JS geldi.

[*] Ve diğerleri...

[*] FrontEnd - BackEnd ve Designer

Page 6: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

BackEndBackEnd[*] Sunucu tarafında yapılan web yazılımı bacağı.

[*] Gözükmeyen abiler.

[*] İş çok...

[*] Web Çatısı

Page 7: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Ruby on RailsRuby on Rails[*] Ruby ile geliştirildi.(2005)

[*] Açık kaynak kodlu.

[*] (M)odel(V)iew(C)ontroller

[*] Don't repeat yourself!

[*] Keyifli kod ^^

Page 8: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

SecuritySecurity[*] Güvenlik zafiyetleri sadece klasik PHP'de yoktur.

[*] Framework kullanıyorum beni bağlamaz değil :)

[*] Yazılımcı bağımsız değildir!

Page 9: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

SQL InjectionSQL Injection[*] Active Record

[*] Elle SQL sorgusu yazma ihtiyacı

[*] O değişkeni o sorguya bodozlama katma kardeşim :(

[*] Mutlaka Prepare Statement'ı kullanın!

Page 10: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

XSSXSS[*] 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!

Page 11: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

CSRFCSRF[*] 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)

Page 12: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Security HeadersSecurity 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

Page 13: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

Static Code AnalyzStatic 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

Page 14: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

ÖnerilenlerÖ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)

Page 15: [OWASP-TR Uygulama Güvenliği Günü 2016] Muhammet Dilmaç - Ruby on Rails Web Framework ve Güvenlik

ContactContact[*] Twitter: /m_dilmac

[*] Github: /MuhammetDilmac

[*] Mail: [email protected]