Bulutta Honeypot Kurulumu | 7. Yazı

Bu serinin önceki yazıları

  1. Malware, Honeypot, Sandbox, Cloud 
  2. Malware Nedir ? Malware Türleri
  3. Malware Analizi
  4. HONEYPOT NEDİR?
  5. Honeypot Neden Kullanılır?
  6. Honeypot Projeleri

Bulutta yapmamız gereken adımları maddeler halinde aşağıda listelenmiştir. Honeypot kurmadan önce zafiyet içeren bir uygulama da kurmamız gerekir. Bunun için gerekli araştırmalar aşağıda mevcuttur.

Proje Adımları

  • İlk olarak kullanmak istediğimiz bulutu seçmemiz gerekir bu sebeple de bulut araştırmalarına gireriz. Araştırmalar sonucu işimize yarayacak olması, ekonomik olması gibi çeşitli sebeplerle bulut seçimi yapılır.
  • Bulutun içine kurulacak olan zafiyet içeren uygulama araştırmasına girilir. Veritabanı uygulamasından wordpress uygulamasına kadar çok fazla sayıda çeşitli seçenekler mevcuttur. Yapılması istenen kriterler doğrultusunda uygulama seçilir.
  • Sıradaki aşama kullanılacak olan honeypotun seçilmesidir. Zafiyet içeren uygulamalara yönelik özelleştirilmiş honeypotlar arasından istediğimiz honeypotu seçebiliriz.
  • Bu projede bulut olarak Heroku tercih edilmiştir. Zafiyet içeren uygulama olarak wordpress uygulama seçilmiştir. Üzerinde istediğimiz açıkları oluşturabilecek bir zafiyet uygulaması ile entegre edilmiştir. WordPress siteler üzerine yoğunlaşmış bir honeypot olması sebebiyle Wordpot isimli honeypot tercih edilmiştir.
  • Bu aşamaları aşağıda başlıklar halinde detaylandırarak inceleyeceğiz. İlk olarak Bulut Teknolojisinin ne işe yaradığından bahsedilecektir. Ardından bu projede kullanılmış teknolojiler teker teker anlatılacak ve başlık tamamlanacaktır.

Bulut

Verilerimizi genelde fiziksel donanımlar üzerinde depolarız. Örneğin fotoğraflarımızı bir hard disk içinde tutarız, belgelerimizi flash diskler üzerinde saklarız. Bazı belgeleri direkt bilgisayarımızda tutarız. Bu işlemin eksik yanı istediğimiz an o belgelere ulaşabilmek için ilgili donanıma ulaşmak zorunda olmamızdır. Bulut teknolojisindeyse bu belgeleri bulutlarda depolarız. İnternete erişimimiz olan her anda, nerede olursak olalım ulaşabiliriz.

Bulut teknolojisinin daha kolay anlaşılması açısından Google Drive’ı örnek verebiliriz. İçine attığımız tüm belgelere internete erişimimiz olduğu sürece yer ve zaman fark etmeksizin herhangi bir cihaza bağımlılığımız olmadan ulaşabiliriz. O belgeleri başka kişilerle de paylaşmamız gerekiyorsa eğer linkini atarak o kişilerin de kolayca ulaşmasını sağlayabiliriz.

Bulutlar fiziksel varlıklar değillerdir. Tüm dünya üzerinde bulunurlar. Birbirlerine bağlanmaları durumunda büyük bir ekosistem oluştururlar.

Kurulum Aşaması Detaylı Anlatım

WordPot HoneyPot’u atak vektörlerini gözlemlemek için bulut platformunda kurulur. AWS, Google Cloud Platform, Digital Ocean ve Heroku gibi bulut platformları  öne çıkmaktadır.

Sürekli Entegrasyon / Devamlı Üretim işlemlerinin yapıldığı ve birçok firma tarafından bu amaçla tercih edilen “Heroku” altyapısını Honeypot’umuzu kurmak için tercih edeceğiz.

Heroku konteynır tabanlı bir bulut hizmet platformudur (PaaS-Platform as a Service). Konteynırlar, birbirinden bağımsız çalışan, aynı ram’in ayrı kısımlarını, aynı cpu’nun ayrı kısımlarını kullanan işletim sistemi imajlarıdır.  Sanallaştırma teknolojisinin bir ürünü olan Konteynır Sistemi, günümüzde Docker ve Kubernetes gibi birçok Dev-Ops araçlarının temellerini oluşturur.

Fiziksel açıdan Konteynırları anlamak için bir yük gemisini sunucu, içerisinde yüklenen konteynırlarıda, ayrı ayrı oluşturulan işletim sistemi araçları olarak düşünebiliriz. Yazılım geliştiricileri Heroku’yu modern uygulamaları ayağa kaldırma, yönetme, ölçeklendirme için kullanmaktadır.

Esnek, kullanımı kolay ve net bir deneyim sunan Heroku, geliştiricilere uygulamalarını yayınlamak için en basit yolu sağlamaktadır. Heroku tamamen yönetilebilir, yazılımcılara sunumu bakımıyla zaman kaybetmeden ana ürüne odaklanma özgürlüğünü veren, bir donanım altyapısıdır. Heroku bu anlamda sunucu araçları, çalışma akışları ve servisleri, 7 gün 24 saat destek hizmetiyle geliştiricilerin üretkenliklerine ciddi karlılık sunmaktadır.

Yazılım geliştiricileri, geliştirmeyi kolaylaştırmak ve üretkenliği artırmak için yazılım soyutlamalarına güvenir. İş uygulamayı çalıştırmaya gelince konteynırizasyon, donanım ve sanal makine kurulumunda vakit kazandırır.

Normal zamanda donanımla vakit kaybederiz. Konteynır sayesinde tüm paketleri otomatik yükleyerek web/veritabanı sunucularını uygulamanın ihtiyacına göre belirtilen sürümlerinde yükleyebilir, gayet hızlı ve efektif olarak diğer tüm sistemlerden izole olan Heroku üzerinden ayağa kaldırılabilir.

Heroku’nun içinde barındırdığı konteynırlara verdiği isim “Dyno”dur. Dyno’lar izole edilmiş kullanıcıdan gelecek olan kodları çalıştırmak üzere tasarlanmış Linux koneynırlarıdır. Bir projedeki Dyno’ların adedi ihtiyaca göre ölçeklenebilir.

Heroku’nun konteynır yönetim altyapısı, uygulamanızın ihtiyacını karşılamak adına istenilen sürecin en optimum halini almak için adet, boyut ve tip olarak ayrı ayrı kurgulanabilir.  Dyno’lar Heroku’da çalışacak herhangi bir uygulama için adeta birer arsa görevi görmektedir. Dyno’ları sürüme almak için, Heroku’nun Dyno yönetim paneli, olayı oldukça kolaylaştırır ve esnekleştirir.

Ölçeklenebilir bir yönetim altyapısı yaratmanıza olanak sağlar. Yazılım geliştiricileri, bu avantajlar sayesinde uygulamanın içeriğine ve kod yapısına daha fazla zaman ayırabilir. Heroku Ruby, Node.js, Java, Python, Clojure, Scala, Go ve PHP dillerinde yazılan uygulamaları yayınlamaya, çalıştırmaya ve yönetmeye olanak sağlayan bir bulut servis platformudur.

Uygulama ise yukarıdaki dillerden herhangi birisi ile yazılmış olan kaynak kodları, geliştirme çatısını ve bazı sistem inşası ile ilgili bağımlı paket açıklamalar bütününü teşkil eder.

Bağımlı paket yöneticileri;

  • Ruby dilinde  Gemfile, Python’datxt,
  • js’de package.json,
  • Java’da xml
  • PHP’de json dır.

Uygulama için yazılan kaynak kod ve beraberindeki bağımlı paket gereksinimlerini Heroku Platformu uygulamamızı ayağa kaldırmak için içerir. Heroku’da uygulama çalıştırmak için çok bir değişikliğe ihtiyaç yoktur. Önemli olan platformu uygulamanızın hangi kısmının çalışacağı hakkında bilgilendirmektir.

Heroku komut satırı arayüzü ile Git versiyon kontrol sistemini üzerinden kullanılan bir platformdur. Git bir çok program  geliştirici tarafından kullanılan bir ortak çalışma aracıdır. Buradan itibaren sırasıyla;

  • Git kurulumu
  • Heroku Kaydı
  • Heroku’da uygulama Kurulumu
  • Honeypot Kurulumu

işlenecektir.

Heroku’da Uygulama Kurulumu

Heroku’da uygulama yayınlamadan önce, uygulamanın bulunduğu dosya komutuna bir Git deposunun (repository) oluşturulması gerekmektedir. Örnek olarak;

$ cd  uygulamaornek

$ git init

Boş bir git deposu oluşturdu

$ git add .

$ git commit -m “ilk commitim"

Created initial commit 5df2d09: ilk commit

44 files changed, 8393 insertions(+), 0 deletions(-)

create mode 100644 README

create mode 100644 Procfile

create mode 100644 app/controllers/source_file

 

heroku create komutu Heroku içinde yeni boş bir uygulama oluşturur.

$ heroku create

Creating app… done,

Uygulamamızı Heroku üzerinde yayınlamak için aşağıdaki komutlar izlenir.

$ git push heroku master

Initializing repository, done.

updating ‘refs/heads/master’

 

Saldırı için WordPress ve MySQL Kurulumu

Depo klonlanır $ git clone https://github.com/technomile/Heroku-WordPress

Bir heroku uygulaması başlatılır

$cd wordpress

$ heroku create

ClearDB heroku eklentisi indirilir. $ heroku addons:add cleardb:ignite

New Relic heroku eklentisi indirilir $ heroku addons:add newrelic:wayne

SendGrid heroku eklentisini indirilir $ heroku addons:add sendgrid:starter

Heroku’da yayınlanır $ git push heroku master

Uygulama çalıştırılır $ heroku open

 

Wordpot – WordPress için Honeypot

WordPot; Eklentiler, Temalar ve diğer tüm dosyaları üzerinde yapılan kötü amaçlı keşif çalışmalarını ve saldırıları loglayan bir honeypottur.

$ heroku python wordpot.py --help

Kullanımı: wordpot.py [options] şeklindedir.

Ayarlarını değiştirmek için wordpot.conf dosyasını revize edebilir yada aşağıda gösterildiği gibi GitHub üzerinden klonlayabiliriz.

$ git clone [email protected]:gbrindisi/wordpot.git

Normal WordPress’imizi kullanıyormuşçasına günlük faaliyetlerinize devam edebiliriz. Tema dosyalarımızı /wp-content/themes/ dosyasına atabiliriz.

Temayı kullanmak için WordPot’u başlatmanız gerekmektedir. (varsayılan tema twentyeleven):

$ python wordpot —theme=Temaadi

Taslaklar Jinja2 taslak motoru ile kurulur. Böylece hem bulut hem açıkları olan uygulama hem de bunları loglayacak bir honeypotumuz olmuş oluyor.

Bir sonraki yazım olan Sandbox‘a buraya tıklayarak ulaşabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir