bilgi otobanı

“Internet bir bilgi otobanıdır.”

Yine aynı klişe laf. Ne dediğinden bihaber bir akıllının lafı. Ağ hakkında zerre bilgisi yok. Internet’in otobana benzer hiç bir yanı yok. Bu artık suyu çıkmış bir metafor.

Tersinden düşünün bir de: Varsayın ki otobanlar Internet gibi…

Yüzlerce şeritten oluşan bir otoban, çoğu kasislerle ve tuzaklarla dolu.

Özel köprüler ve üst geçitler.

Otoban polisi yok, sadece ağızlarında kırık düdükleriyle bisikletlerine atlamış kiralık polisler. Üstüne vazife olmadığı halde düzeni sağlamaya yemin etmiş, ellerinde nükleer silahlarla gezinen 500 üyelik çeteler.

Her kavşakta en az 237 tane tali yol. Sıfır işaret levhası. Gelişigüzel trafik kuralları. Bazı şeritlerde arabanızda telefonla konuşmanın cezası, uyarılmadan vurulmak.

TTNET dediğiniz, diğer arabalara çürümüş lahana fırlatan, yüzlerce ebola kurbanıyla dolu kocaman, mazot kokulu bir otobüs. Diğer arabaların bazılarıysa maketten yapılmış, bazıları azami hızı saatte on kilometre olan, 2.5 hp gücünde çim biçme makinaları, diğerleriyse hızını saatte 120 kilometreye sabitlemiş, nitrogliserin yakan araçlar.

Plaka yerine kocaman dişleriyle vampir kartalları tasvir eden savaş boyaları. Tamponlarda makinalı tüfekler. Trafik helikopterini düşürmek için arkalarında karadan havaya füzeler taşıyan tırlar. İşaret vermeden şerit değiştirmekten çekinmeyen, içi hidroklorik asit dolu su tabancaları ellerinde, üç tekerli bisikletler süren çocuklar.

Bir tane bile tabela yok. Kesinlikle.

Otoban dediğin budur işte.

(Orijinali için: http://monster-island.org/tinashumor/humor/hiway.html)

Her ne kadar mysql Sun’a satıldıktan sonra geleceği hakkında biraz şüpheye düşsem de, karmaşık sorunlara basit çözümler önermesi açısından hala favori veritabanı sunucum. Bu yazıda birden fazla bilgisayardan oluşan bir mysql kümesinin nasıl oluştuğunun tarifini vereceğim. Tabii ki Ubuntu sunucular üzerinde.

Mysql küme kurulumunda önceden tanımlamamız gereken bir kaç kavram var:

  1. Node: Küme içindeki bilgisayar, ben buna üye diyeceğim.
  2. Management Node:Kümenin yönetiminin yapıldığı üye. Her kümede sadece bir tane olur.
  3. Data Node:Verilerin tutulduğu üye. Birden fazla olabilir.
  4. API Node:Sorguların yapıldığı üye. Birden fazla olabilir.
  5. Bir de adı pek konulmamış bir giriş noktası var. Kullanıcılar sorgu üyelerine direkt bağlanmak yerine giriş noktası olarak belirlenen bir adrese bağlanıyorlar, böylece sorgu üyelerinden biri ulaşılmaz hale gelirse düzgün bir şekilde yönlendirme yapılması durumunda sorun çıkmıyor.

Aşağıdaki reçetede iki tane üye hem veri hem sorgu için, bir üye de yönetim ve sorgu üyesi olarak kullanılıyor. Yönetim üyesi 10.0.0.1, diğerleri de 10.0.0.2 ve 10.0.0.3 olarak örneklendi.

Kurulum:

Üye bilgisayarların herbirine güncellemelerini yaptıktan sonra en güncel sunucuyu kuruyoruz:

# aptitude install mysql-server

Ayrıca deneme yapmak ya da üyeyi istemci olarak kullanmak niyetimiz varsa, mysql istemcisini de kuruyoruz:

# aptitude install mysql-client

İşin kurulum kısmı bu kadar. Ama tüm yapılandırma bitmeden mysql sunucularını çalıştırmamakta fayda var.

Yapılandırma - Yönetim Üyesi:

Yönetim üyesinin yapılandırma dosyası /etc/mysql/ndb_mgmd.cnf. Bu dosyanın içi aşağıdaki gibi oluyor:

[NDBD DEFAULT]
NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Management Server
[NDB_MGMD]
HostName=10.0.0.1

# Storage Engines
[NDBD]
HostName=10.0.0.2
DataDir= /var/lib/mysql-cluster

[NDBD]
HostName=10.0.0.3
DataDir=/var/lib/mysql-cluster

# SQL Engines
[MYSQLD]

[MYSQLD]

[MYSQLD]

Burada [NDBD_DEFAULT] kısmındaki NoOfReplicas girişine kaç tane veri üyemiz olduğunu yazıyoruz. Sonra [NDB_MGMD] kısmına da yönetim üyesinin adresi giriyor. Dosyanın sonun doğru da her veri üyesi için bir [NDBD] bölümü, her sorgu üyesi için de [MYSQLD] bölümü var. [MYSQLD] bölümüne de HostName yazabiliriz, ama şart değil. Üstteki dosyayla iki veri üyesi ve üç sorgu üyesi kaydetmiş oluyoruz. (Veri üyeleri aynı zamanda sorgu üyesi de olabilir.)

Yapılandırma - Veri Üyeleri:

Her veri üyesi üzerinde, /etc/mysql/my.cnf dosyasında değişiklik yapmamız gerekli. Editörle açıp [mysqld] kısmını buluyoruz ve altına şunları yazıyoruz:

ndbcluster
ndb-connectstring=10.0.0.1
default-table-type=NDBCLUSTER

Sonra yine aynı dosyanın sonuna şunları ekliyoruz:

[MYSQL_CLUSTER]
ndb-connectstring=10.0.0.1

Bu dosyayı kaydettikten sonra, aşağıdaki komutu vererek veritabanını hazırlıyoruz:

# ndbd --initial

Yapılandırma - Sorgu Üyeleri:

Her sorgu üyesi üzerinde, /etc/mysql/my.cnf dosyasını değiştiriyoruz, veri üyeleriyle aynı şekilde. Sadece bu üyelerde sonuncu komutu vermiyoruz, yani veritabanını hazırlamamıza gerek yok.

Sistemi başlatmak:

Önce yönetim üyesinde:

# invoke-rc.d mysql-ndb-mgm start

komutunu veriyoruz. Sonra her veri üyesinde

# invoke-rc.d mysql-ndb start

ve her sorgu üyesinde

# invoke-rc.d mysql start

komutlarını veriyoruz. Bundan sonra sorgu üyelerinden herhangi birinden bağlanarak kümeyi kullanmak mümkün olacak.

Dikkat Edilmesi Gerekenler:

  1. Kümeye üye ekleyip çıkartınca, tüm üyelerin yeniden başlatılması gerekli. Yönetim üyesi dahil tüm üyeleri kapattıktan sonra, önce yönetim üyesini baştan başlatıp sonra da diğer üyeleri başlatmak en güvenli sıralama.
  2. “HostName” vererek kümeye ekleme yaptığınızda, yapılandırma dosyasında en sona ekleyin. Batıl inanç olabilir ama başa ekleyince sanki sorunla karşılaştım.
  3. Şema değişiklikleri (veritabanı ekleme-çıkarma, indeks ekleme-çıkarma, tablonun sütunlarıyla oynama vb.) üyeler arasında otomatik olarak güncellenmiyor. Maalesef tüm veri üyelerinde elle tekrarlanması gerekli.
  4. Yönetim üyesinin herhangi bir güvenlik ayarı yok, erişimi olan herkes istediği gibi oynayabilir. O yüzden yönetim üyesi (hatta tüm küme) mutlaka güvenlik duvarıyla korunmalı.

Tabii zargan var, sesli sözlük var ama, bazen masaüstünden hızlıca bir sözlük kullanası geliyor insanın (o insanınki de ne keyifmiş). Babylon, dediğim şeyi Windows’ta yapıyor, Ubuntu’da bir benzeri için vereceğimiz komutlar:

  • $ sudo aptitude install dict-freedict-eng-tur dict-freedict-tur-eng dictd gnome-utils

Sonra, menüde çıkan “Gnome dictionary” olsun, araç çubuğuna ekleyebileceğiniz “Dictionary applet” olsun, hepsi emrinize amade. Sözlükler o kadar büyük değil ama acelesi olana yeter gibi.

Kişileri gizli bilgi vermeleri ya da erişim sağlamaları için aldatma süreci olarak tanımlanabilecek sosyal mühendislik, çoğu güvenli ağ için önemli bir tehdittir. Sosyal mühendislik hakkında yeteri kadar bilgi olmasına rağmen, savunma yöntemleri genelde yeterli olmaktan uzaktır. Etkileme, zorlama, aldatıcı ilişkiler geliştirme, sorumluluğu, etik değerleri, dürüstlüğü ya da bağlılığı azaltma amacını güden yöntemler kullanarak başarı sağlayan sosyal mühendislik saldırılarına karşı güvenlik politikalarında, eğitimlerinde ve olay müdahale yöntemlerinde önlemler alınması gerekmektedir.

Tanımlar

Bilgisayar güvenliği terimleriyle Sosyal Mühendislik, insanlar arasındaki iletişimdeki ve insan davranışındaki açıklıkları tanıyıp, bunlardan faydalanarak güvenlik süreçlerini atlatma yöntemine dayanan müdahalelere verilen isimdir. Bu tanım çerçevesinde iletişim kavramından kasıt, kişiler arasında, kişiyle kurum arasında ya da kurumlar arasındaki etkileşimdir. İnsan davranışlarındaki açıklıklarsa, insanların gündelik sergiledikleri, niyetlerinden bağımsız hareketlerin güvenlik açısından istenmeyen durumlara sebep olması ihtimalleridir.  Müdahale derken de güvenlik açısından kritik bilgileri elde etmek eylemini anlıyoruz.

Bir kuruma yönelik sosyal mühendislik saldırılarının tipik hedefleri, saldırganın suistimal edebileceği  durumdaki personeldir. Saldırılan profilleri aşağıdaki şekilde özetlenebilir:

  1. Direkt ulaşılabilir personel (Servis elemanları, telefonlara yanıt veren çalışanlar): Kurumun dış yüzü olarak tanımlanabilecek, işi gereği müşteriler ve sağlayıcılarla iletişim kuran çalışanlar.
  2. Önemli personel (Yöneticiler, gizli bilgiye erişim hakkı olan personel): Kurumdaki görevleri gereği zorunlu olarak ayrıcalıklı yetkiye sahip olan ya/ya da gizli bilgiye çeşitli nedenlerle erişim hakkı olan çalışanlar.
  3. Sempati sahibi personel: Kurum içinde görevli olan, müşterilerine yardım ve destek için yetkisinden fazlasını ya da kurum içindeki itibarını kullanabilecek çalışanlar.
  4. Destek ihtiyacındaki son kullanıcılar: Kurumun hizmetlerinden yararlandıklarından dolayı sistemlere erişimi bulunan fakat kurum hakkındaki bilgileri eksik olduğundan dolayı sistemlerle ilgili destek almaları gerektiğinde meşru destek personeliyle kötü niyetli saldırganı ayırt edemeyebilecek kullanıcılar.
  5. Kandırılmış, aldatılmış ya da ikna edilmiş personel: Kurum içinde görevli olan ve kuruma ya da kurum çalışanlarına bağlılığı zayıflamış çalışanlar.

Saldıran profili ise, hedefe ve yönteme bağlı olarak değişebilir. Kullanılagelen yöntemlerin bazıları şöyledir:

  1. Otoriter yaklaşım: Yetkili, üst düzey yönetici ya da ayrıcalıklı müşteri olduğuna ikna etmek.
  2. Yardım önermek: Destek ihtiyacındaki müşteri ya da çalışanları yetkili personel olduğuna inandırmak.
  3. Benzerlik ve ortak noktalar bulmak: Çalışanla arasında çeşitli sanal sosyal bağlantılar (akrabalık, ortak meslek, ortak arkadaş, aynı çevre v.s.) oluşturmak.
  4. Mukabele etmek: İstenen bir iyilik için bir karşılık önermek.
  5. Bağlılık ve dürüstlüğü suistimal etmek: Kuruma bağlı çalışanı, saldıranın isteğini yapmaması durumunda kurumun zarar göreceğine ikna etmek.
  6. Düşük bağlılıktan yararlanmak: Kuruma bağlılığı zayıf çalışanları ikna, aldatma ya da  kandırma gibi yöntemlerle ayartmak.

Yöntemler

Sosyal mühendislik saldırılarının niteleyici özelliği, saldırganın hareketlerinin meşru olduğu görüntüsünün bozulmamaya çalışılmasıdır. Bu yüzden yöntemlerin doğası ve içeriği özel durumun şartlarına göre farklılaşabilir. Bu bölümde standart bir sınıflandırma yapılacaktır.

Sahte senaryolar uydurmak

Genellikle telefonla iletişim üzerinden gerçekleşen bir yöntemdir. Saldırganın amacına ulaşmak için sahte bir senaryo oluşturması ve bu senaryonun satırları arasından saldırılanın erişimindeki hassas bilgiye (bir sonraki adımda kullanmak üzere kişisel bilgiler ya da şifreler, güvenlik politikaları gibi erişim bilgileri) ulaşması şeklinde gelişir. Telefondaki işlemlerde yetkilendirme için ihtiyaç duyulan bilgiler genellikle başka kanallardan erişilebilir bilgiler (kimlik numarası, doğum tarihi v.b.) olduğu için sahte senaryolar uydurmak ve istenen bilgileri elde etmek çoğunlukla uygulanabilir bir saldırı yöntemi olmaya devam etmektedir. Saldırganın senaryonun ana hattı dışına çıkabilecek durumları da gözönüne alıp hazırlık yapması, başarı oranını artıran bir etkendir.

Güvenilir bir kaynak olduğuna ikna etmek

Son zamanlarda phishing olarak ünlenmiş bu yöntem, genellikle e-posta üzerinden ilerleyen bir sosyal mühendislik yöntemidir. Saldırgan, amacına ulaşmak için saldırılanı güvenilir ya da doğruluğu sorgulanamaz bir kaynaktan geldiğine inandırır. Örneğin saldırgan yolladığı iletinin bir bankanın bilgi işlem bölümünden geldiğine ikna etmek isterse, aynı bankanın önceden yolladığı iletilerdeki biçemi şablon olarak alabilir ve iletiden dışarıya giden bağlantıları kötü niyetli bir sayfaya yönlendirebilir. Saldırganın hedefleri arasında hassas bilgi vermeye zorlamak, ya da kullanıcıyı hatalı bir hareket yapmaya (sahte web sayfasına tıklamak, virüslü yazılım kurmak v. b.) yönlendirmektir.

Truva atları (trojan)‏

Zararsız bir işlevi varmış gibi görünen ama aslında zararlı olan yazılımlara truva atı denir. Kendi kendilerine yayılan virüslerden ya da solucanlardan farkı, yayılmak için kullanıcılardan yararlanmalarıdır. Truva atları, güvensiz kaynaklardan, bilinen bir yazılım görüntüsünde indirilen programlarla, paylaşma ağlarından indirilen dosyalarla ya da kimliği şüpheli kaynaklardan gönderilen yazılımlara güvenilmesi sonucunda, veya bilgisayar virüsleri aracılığıyla direkt olarak saldırılan kullanıcının erişimindeki sistemlere yerleşebilir.

Truva atlarının bir şekli de road apple (yol elması – İngilizce’de at gübresinin hüsn-ü talilidir) olarak bilinir. Bu tür truva atları, e-posta, web gibi elektronik ortamların açıklıklarıyla yayılmak yerine, fiziksel olarak yayılırlar. Örneğin saldırgan üzerinde merak uyandıracak bir etiket bulunan bir disket, CD ya da flash disk oluşturur ve saldırılanın tesadüfen görebileceği bir yere (çöp kutusu, koridorun kenarı, tuvalet) atılmış gibi yerleştirir. Aslında zararlı yazılım içeren bu ortam, saldırılanın dikkatini çeker ve kullanırsa, zararlı yazılım bilgisayarda çalışarak saldırıyı gerçekleştirir.

Güvenilir bilgi karşılığında yardım, para, eşantiyon, hediye, … önermek

Hassas bilgiye ulaşmak için kişinin zaafiyetlerini kullanmaya yönelik bir saldırıdır. Burada saldırılan sonunda karlı çıkacağı bir senaryoya ikna edilir. Örneğin hediyeli bir anket içinde şifresi ya da kişisel bilgileri sorulabilir, ya da şifresini söylemesi durumunda o sırada sistemle ilgili yaşadığı sorunun çözüleceği vaadedilebilir.

Güven kazanarak bilgi edinmek

Saldırganın hedefine, iş dışında ya da iş sırasında güvenini sağlayacak şekilde iletişime geçip ikna ederek bilgi vermesine ya da istediğini yaptırmasına dayanan bir yöntemdir. Saldırgan kuruma sağlayıcı olarak yaklaşıp erişim hakkı olan personelle güvene dayanan arkadaşlık kurma yoluna gidebilir, iş dışında oluşan ilişkileri suistimal edebilir, ya da saldırılanla ortak ilgileri ve beğenileri paylaşıyor izlenimi vererek güven sağlayabilir.

Diğer Yöntemler

Yukarıda maddelenmeye çalışılan yöntemler dışında, çalışanların ve kurumların yaptıkları tipik hatalardan istifade etmeye yönelik çeşitli bilgi toplama yöntemleri de bilinmektedir. Bunların arasında,

  1. Omuz sörfü: Şifre yazılırken ya da erişim kısıtlı sistemlere erişilirken saldırılanın izlenmesi,
  2. Çöp karıştırmak: Çöpe atılmış disket, CD, post-it, not kağıdı gibi, hassas bilgi içerebilecek eşyaları incelemek,
  3. Eski donanımları kurcalamak: Hurdaya çıkmış, ikinci el satış sitelerinde satışa sunulmuş, çöpe atılmış, kullanılmadığı için hibe edilmiş donanımın içeriğini incelemek,

bulunmaktadır.

Sosyal mühendislikte saldırı yöntemleri, listelerle sınırlı olmaktan çok, saldıranın kararlılığıyla ve yaratıcılığıyla sınırlıdır. Ayrıca tipik dolandırıcılık yöntemlerinin de uygulanmasıyla, olası yöntemlerin sayısı ve tipleri de artacaktır.

Tehditler

Başarıyla yapılması durumunda, sosyal mühendislik saldırıları çeşitli risklerin gerçekleşmesine neden olabilmektedir. Bunlar aşağıdaki gibi sınıflandırılabilir:

  1. Yetkisiz erişim: Saldırgan, erişim sağlamak için gerekli bilgileri ele geçirebilir. Bunun gerçekleşmesi için çoğu zaman yanlışlıkla söylenen bir kullanıcı şifresi yeterlidir.
  2. Hizmet hırsızlığı: Ele geçirilmiş şifreyle saldırgan erişimi kısıtlı dosyaları indirebilir ya da bant genişliği, işlemci zamanı, disk alanı gibi sınırlı kaynakları kullanabilir.
  3. İtibar ve güven kaybı: Sosyal mühendislik yoluyla zarara uğramış bir kurum, müşterilerinin ve kamunun gözünde değer kaybedebilir. Yeniden güven kazanmanın bedeli, çoğunlukla baştan önlem almaktan çok daha yüksektir.
  4. Dağıtık hizmet engelleme: Ele geçirilen sistem ve kaynaklar, başka sistem ve kaynakların ele geçirilmesi ya da zarar verilmesi için kullanılabilir. Dolaylı olarak başka saldırılara sebep olunabilir; Bu durumda saldırının kaynağı aynı zamanda kurban olabilir.
  5. Hassas bilgiye erişim ve veri kaybı: Saldırgan, başarılı olması durumunda kurumun ve müşterilerinin bilgilerini ele geçirebilir. Bu bilgileri satabilir, daha fazla suistimal için kullanabilir ya da kurum aleyhine kullanabilir. Saldırgan sadece kurumun zarar görmesini istiyorsa, bilgiye erişimi engelleyebilir. Silmek, şifreli bir şekilde kaydetmek gibi yöntemlerle bilginin erişimini imkansız kılabilir.
  6. Yasal yaptırıma uğramak: Kurumun müşterileri ve ortaklarıyla yaptığı gizlilik ve güvenlik anlaşmalarının ve hassas bilgiyi korumak için önlem almamanın yasal yaptırımları olabilir.

Önlemler

Sosyal mühendislik saldırılarına karşı alınabilecek önlemler, diğer siber saldırılara karşı alınacak önlemlerle benzerlik göstermektedirler. Belirleyici özellikleri, alınacak önlemlerin sadece bilgisayar ve ağ altyapısı değil, çevresel güvenlik ve düzenli eğitim boyutlarını da içermesidir.

Fiziksel Güvenlik

Sistem güvenliği gözden geçirilirken, genellikle yerel ya da konsoldan erişim sonucunda oluşabilecek güvenlik açıklıkları, etkisinden ve riskinden bağımsız olarak olma olasılığı düşük olarak değerlendirilmektedir. Fakat bu olasılık hesaplanırken, bilgisayar sistemleri dışındaki faktörler de gözönünde bulundurulmalıdır. Örneğin, sistemlere fiziksel erişimi olan herkesin güvenilir olup olmadığı gözden geçirilmeli, duruma göre fiziksel tehditlerin olma olasılığı yüksek olarak değerlendirilip, önlemler alınmalıdır. Ayrıca sisteme erişimi olan kullanıcıların çeşitli profillerden olabildiği sistemlerde, kullanıcı güvenlik politikalarındaki sıkılaştırmalar ve denetlemeler uygulanmalı, tüm kullanıcı profillerinin yetkileri belirlenmelidir.

Etkili Güvenlik Politikaları

Kurumun oluşturduğu güvenlik politikaları açık, anlaşılır, mantığa uygun, uygulanabilir, erişilebilir ve kapsayıcı olmalıdır. Erişilebilirliği eksik, anlaşılır olmayan ya da uygulanması çok zahmetli politikalar, genellikle uygulanmamaya ya da ihmal edilmeye mahkumdurlar. Güvenlik politikaları sosyal güvenlik saldırılarını konu edindiklerinde rollerden çoğunu çalışanlar oynadığı için, kurumla çalışanlar arasındaki güven seviyesi belirlenmelidir. Burada belirlenen güvenin azlığı çalışanın bağlılığını etkileyecek, gereğinden fazla güven ise çalışanlardan ya da çalışanlar üzerinden gelecek saldırılara karşı sistemi savunmasız bırakacaktır.

Eğitim ve Yaptırımlar

Çalışanlar politikalar hakkında ne kadar bilgiliyse, güvenlik politikaları o kadar değerlidir. Bu yüzden sürekli ve güncel eğitim ve bilgilendirme çalışmaları, çalışanları konu hakkında bilgilendirmek ve bilinçlendirmek açısından hayati öneme sahiptir. Ayrıca üst yönetim verilen eğitimlerin ve uyarıların izlendiğinden emin olmalı, güvenlik yönergelerine uyulmaması durumunda yaptırım uygulamaya kararlı olmalıdır. Eğitime ek olarak uygulanan yaptırımlar, çalışanların güvenlik politikalarını izlemesine yardımcı olur.

Olay Müdahalesi

Bir sosyal mühendislik saldırısı sırasında yapılacakların belirlenmesi özellikle önemlidir, sadece varolan süreçler gözden geçirilerek bile bir çok açıklığın önlemi alınabilir. Kullanıcıların e-posta iletilerinin asıl kaynaklarını nasıl belirleyecekleri, şüpheli e-postaları nasıl işleyecekleri ve web adreslerinin kimlik doğrulama bilgilerini nasıl kontrol edecekleri gibi işlemler belgelenmeli ve iş süreçlerine eklenmelidir. Sosyal mühendislik saldırıları çoğu zaman kullanıcının zaafını kullanarak yapıldığından dolayı, kullanıcı olayın farkına varmayabilir ya da farketse bile kendi güvenilirliğini zedeleyeceğini düşündüğünden olayı ilgili kişilere iletmeyebilir. Bu yüzden olay meydana geldikten sonra durumun yetkili personele iletilmesi için gerekli altyapı oluşturulmalı, bunların kuralları belirlenmelidir.

Denetim

Sosyal mühendislik saldırısı kavramı, doğası itibarıyla sürekli değişebilen bir saldırı tipi olduğu için, oluşturulan önlemlerin ve güvenlik politikalarının düzenli olarak gözden geçirilmesi ve güncellenmesi, denetimlerle etkilerinin onaylanması gereklidir. Denetim süreci basitçe bir saldırganın yapması beklenenlerin tatbikatı şeklinde gelişmektedir. Saldırılar,

  1. bilgi toplama,
  2. ilişki kurma,
  3. istismar ve
  4. erişim

olmak üzere dört adım olarak modellenmektedir.

Bilgi toplama ve ilişki kurma adımlarında, iletişim kurulabilecek unsurlar belirlenir. Bunun için çoğu zaman edilgen bilgi toplamayla saldırıya yeterli bilgiye ulaşılabildiği görülmüştür. Kurumsal web sayfaları, arama motorları, haber grupları, forumlar, iş arama siteleri, sosyal ağ siteleri ve hatta sarı sayfalar yardımıyla kurum çalışanları ve kurum organizasyonu hakkında yeterli bilgi edinilebilir. Denetimler, bu ortamlar üzerinden ne kadar hassas bilginin alınabileceği üzerine yoğunlaşmalıdır.

Fiziksel erişim sağlamak için uygulanan yöntemler arasında, çalışan biri gibi davranmak (sahte kimlik kartı, giriş-çıkış saatleri arasında kalabalığa karışmak v.b.), çalışanların arkasından giriş yapmak (gerçek kartla açılan kapı kapanmadan girmek gibi), sağlayıcı ya da misafir gibi davranmak (postacı, tamirci v.b.), mesai saatleri dışında normal süreçlerin uygulanmadığı zamanlarda giriş yapmaya çalışmak bulunur. Bunun dışında, üstte belirtilen sosyal mühendislik yöntemleri de uygulanabilir. Bu tür denetimler çoğu zaman uygulanabilirlik açısından yasal sınırda gezindiğinden iyi tasarlanmış ve üst yönetimden onay alınmış olmalıdır.

Fiziksel erişimden sonra ya da ayrıca bilgiye erişim için de çeşitli metodlar uygulanabilir. Denetimciler tarafından sıkça uygulanan bilgiye erişim yöntemleri arasında çalışanları gizlice izlemek (omuz sörfü, kulak misafirliği v.b. ), ofis içindeki çöpleri karıştırmak, klavyelerin, telefonların altına, takvimlere ve ajandalara, post-it notlarına ve ortak kullanıma açık panolara göz atmak, ekranı kilitlenmemiş bilgisayarları kullanmak, kullanıcı bilgisayarlarını kullanıma açmaya ikna etmek vardır.

Sosyal Mayınlar

Yukarıda bahsedilen standart önlemlerin yanı sıra, bir sosyal mühendislik saldırısını meydana gelirken ya da meydana gelmeden önce belirleyebilecek önlemler vardır. Bunlar kurumun yapısına ve sistemlerin kurulumuna göre farklılık gösterebilirler. En yaygın kullanılan sosyal mayınlar arasında aşağıdaki önlemler sayılabilir:

  1. Herkesi tanıyan tek bir kişinin ofiste bulunması, böylece içeriye giren şüpheli kişilerin erken tanımlanabilmesi,
  2. Merkezi güvenlik kayıtları tutularak, teker teker bir şey ifade etmeyen kayıtların toplu halde izlenmesi, böyle korelasyon yapılabilmesi,
  3. Telefonla hassas bilgi (unutulan şifre gibi) iletilmesi gerektiği durumlarda geri aramanın zorunlu kılınması ve geri aranan numaranın ilgili kişinin kayıtlarından alınması,
  4. Kullanıcı kimliğinin doğrulanması gerektiğinde önceden belirlenmiş ve kayıtlarda yer alan anahtar soruların ve/veya kimlik ve personel bilgilerinin sorulmasının zorunlu kılınması,
  5. Tuzak sorularla (örneğin kızı olmadığı bilinen bir personele kızının isminin sorulması) kimliğin doğrulanması,
  6. Şüphe durumunda aceleci davranmamak, hatta bekletmek ya da e-postaya hemen yanıt vermemek, ancak emin olduktan sonra işleme devam etmek (bu uygulamanın olası bir saldırganın geri çekilme ihtimalini artırmak gibi bir yan etkisi de vardır).

Sonuç

Hiç bir sistem insandan bağımsız değildir. Bilgisayar sistemleri, insanlar tarafından tasarlanır, bakımı ve işletimi insanlar tarafından yapılır ve sistemden faydalanan ve sistemi kullananlar da insandır. İnsan bileşeni aynı zamanda bir güvenlik sisteminin en zayıf halkasıdır. Bundan dolayı insan faktörünün istismarına dayanan sosyal mühendislik saldırılarının gerçekleşme olasılığının her zaman olduğu ve gözardı edilemeyeceği açıktır. Sosyal mühendislik saldırılarının başarısı, bilgisayar ve ağ sistemlerindeki yerel zayıflıkların varlığına bağlı olduğundan, yerel açıklıklara verilmesi gereken önemi artırmaktadır. Sosyal mühendislik saldırılarının etkisini en aza indirgemenin yolu güvenlik politikalarının güncel tutulmasından ve personelin uygun bir şekilde bilgilendirilmesinden geçer.

Aşağıda, zamanında bir yerlerden bulup da derlediğim, Wordpress’le çalışırken tavsiye edilen mysql ayarları var. Benim için çalıştı, sizin için çalışacak demek değil diyerek baştan uyarayım. Buyrun, /etc/my.cnf örneği:

[mysqld]
skip-networking # uzaktan bağlanılıyorsa kaldırmalı
skip-external-locking
skip-slave-start
skip-bdb
# skip-innodb -- innodb veritabanınız yoksa bunu da ekleyebilirsiniz.
skip-name-resolve
key_buffer = 24M
max_connections = 200
sort_buffer_size = 4M
read_buffer_size = 4M
binlog_cache_size = 2M
max_allowed_packet = 12M
thread_stack = 128K
table_cache = 128
thread_cache = 256
thread_concurrency = 4
myisam_sort_buffer_size = 1M
tmp_table_size = 12M
max_heap_table_size = 12M
wait_timeout = 200
interactive_timeout = 300
max_connect_errors = 10000
query_cache_type  = 1
query_cache_limit = 1M
query_cache_size  = 16M

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[isamchk]
key_buffer = 16M

Ubuntu’nun başlarda, bence en güzel duygunun insanlarınca hazırlanmış bir takvim paketi vardı. Hala var, ama güncellenmiyor. Olduğu kadarına bakmak için sudo aptitude install ubuntu-calendar dedikten sonra ekranın duvar kağıdını değiştirmeyi deneyin.

Yazık ki bir çok insan bu takvimin devamını istemesine rağmen (bakınız), gerisi gelmemiş. Ubuntu insan içinse, işte insan…

Burada önceden ağ üzerinden redhat kurulumunu listelemiştim. Benzer bir şekilde ubuntu da kurabiliyoruz. Aynı zamanda live cd‘yi cd ağ üzerinden yükleyerek işletim sistemini açmak mümkün. Bunun için gereken sunucular:

  1. dhcpd
  2. tftpd-hpa
  3. apache

Ayrıca kurulumun ihtiyacı olan paketleri indirmek için de apt-mirror yazılımını kullanacağız. İşimiz bittikten sonra artık yeni kurulum yapmak için sağda solda cd aramaya gerek kalmayacak (dağınık bir bünyeyim).

Yerel ağımızın 10.0.0.0/24 olduğunu ve sunucu makinasının 10.0.0.1 olduğunu varsaydım. O yüzden örneklerdeki IP adreslerini kendi ağınıza göre değiştirmeniz ve ayrıca alanadi teriminin geçtiği her yeri de kendi alan adınızla değiştirmeniz gerekli.

DHCP sunucusu kurulumu

Önce sunucu paketini kuruyoruz:

sudo aptitude install dhcp3-server

Sonra da standart bir konfigürasyon ekliyoruz:

server-identifier dhcp.alanadi;
default-lease-time	172800;
max-lease-time		604800;
option domain-name	"alanadi";
subnet 10.0.0.0 netmask 255.255.255.0 {
  range dynamic-bootp 10.0.0.2 10.0.0.254;
  next-server 10.0.0.1;
  filename "pxelinux.0";
}

Zaten bir dhcp sunucusu kurulumu varsa, eklenmesi gerekenler “next-server” ve “filename” satırları. “next-server” satırında tftp sunucusunun adresini veriyoruz.

TFTP sunucusu kurulumu

Kurmak için: sudo aptitude install tftpd-hpa.

Aktif hale getirmek içinse önce /etc/default/tftpd-hpadosyasına şunları yazıyoruz:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Sonra da sudo invoke-rc.d tftpd-hpa start.

Tftp çalışmaya başladıktan sonra /var/lib/tftpboot dizinini kullanıyor. Buraya ilgili dosyaları indirelim:

# cd /var/lib/tftpboot
# wget http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/386/netboot.tar.gz
# tar xzfp netboot.tar.gz

Eğer başka versiyon kullanırsanız URL içindeki “hardy” kelimesini değiştirebilirsiniz. Bu “netboot.tar.gz” dosyası aynı zamanda kurulum CD’sinde de var.

Apache sunucusu kurulumu

Kurmak için: sudo aptitute install apache2.

Aktif hale getirmek: sudo invoke-rc.d apache2 start.

Apt-mirror ile yansıların indirilmesi

İlk önce sudo aptitude install apt-mirror komutuyla kurulum yapıyoruz. Bu programın yapılandırma dosyası /etc/apt/mirror.list. Bu dosyanın bende içeriği şöyle:

set nthreads     4
set _tilde 0

deb http://tr.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://tr.archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://tr.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://tr.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb http://tr.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://tr.archive.ubuntu.com/ubuntu/ hardy universe
deb http://tr.archive.ubuntu.com/ubuntu/ hardy multiverse
deb-src http://tr.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://tr.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://tr.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu/ hardy-security main restricted
deb http://security.ubuntu.com/ubuntu/ hardy-security universe
deb-src http://security.ubuntu.com/ubuntu/ hardy-security universe
deb http://security.ubuntu.com/ubuntu/ hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu/ hardy-security multiverse
deb http://tr.archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
deb http://tr.archive.ubuntu.com/ubuntu hardy-updates main restricted
deb http://tr.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
deb http://archive.canonical.com/ubuntu hardy partner
deb http://tr.archive.ubuntu.com/ubuntu hardy-updates universe multiverse
deb http://tr.archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
deb http://tr.archive.ubuntu.com/ubuntu hardy main main/debian-installer restricted restricted/debian-installer
clean http://tr.archive.ubuntu.com/ubuntu/
clean http://security.ubuntu.com/ubuntu/

apt-mirror programını ilk çalıştırmanız çok uzun sürecek: En az 40 GB veri indirecek, sabırlı olmak için harika bir zaman…

İndirme bittikten sonra web sunucusundan yansılara bağlantı yapıyoruz:

# cd /var/www
# ln -sf /var/spool/apt-mirror/mirror/archive.canonical.com
# ln -sf /var/spool/apt-mirror/mirror/security.ubuntu.com
# ln -sf /var/spool/apt-mirror/mirror/tr.archive.ubuntu.com

Kurulum dosyalarının düzenlenmesi

/var/lib/tftpboot/ubuntu-installer/i386/boot-screens/boot.txt

Ben şöyle bir şeyler yazdım, siz de kafanıza göre bir şeyler yazabilirsiniz:

Alengirik Ubuntu kurulumu.

Baslatmak icin ENTER tusuna basalim lutfen.

/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg/default

DISPLAY ubuntu-installer/i386/boot-screens/boot.txt
DEFAULT install
LABEL install
        kernel ubuntu-installer/i386/linux
        append initrd=ubuntu-installer/i386/initrd.gz boot=casper preseed/url=http://10.8.1.154/ubuntu.seed
PROMPT 1
TIMEOUT 0

/var/www/ubuntu.seed

tasksel tasksel/first   multiselect ubuntu-desktop
d-i     mirror/country          string enter information manually
d-i     mirror/http/hostname    string ubuntu-repo
d-i     mirror/http/directory   string /tr.archive.ubuntu.com/ubuntu
d-i     mirror/suite            string hardy
d-i     mirror/http/proxy       string
d-i     netcfg/get_hostname     string unassigned-hostname
d-i     netcfg/get_domain       string unassigned-domain
d-i     clock-setup/utc         boolean true
d-i     time/zone               string Turkey
d-i     apt-setup/use_mirror    boolean false
d-i     grub-installer/only_debian      boolean true

İstemci Makina

Üstteki adımları bitirdikten sonra istemci makinayı “network boot” ile açtığınızda, DHCP’den adresini alacak, mesajı gösterecek ve enter’a basmanızı bekleyecek. Enter’a bastıktan bir süre sonra normal metin kurulum ekranıyla karşılacaksınız. Buradaki menüleri de ubuntu.seed dosyasını düzenleyerek otomatikleştirmek mümkün, ama bu yazının ilgi alanında değil.

Sonuç

Ağ üzerinden kurulum sayesinde hızlı bir şekilde birden fazla bilgisayarı ayağa kaldırmak mümkün. Sürecin en can sıkıcı yanı yansıların indirilmesi. Fakat bu adımı atlayarak ve ubuntu.seed dosyasını değiştirmeden kurulum medyasındaki ubuntu.seed dosyasını kullanarak diğer yansılardan kurulum yapabilirsiniz.

Dikkat etmeme rağmen burada atladığım adımlar olma ihtimali var. Sorun yaşarsanız sayfanın sonuna not bırakın.

Yazının ilham kaynağı olan yazı https://help.ubuntu.com/community/Installation/LocalNet adresindedir.

Email okuyucusu olarak evolution kullanıyorum. Şifreyi bir defa kaydedince bir daha sormama seçeneği bunda da var — Kullanışlı bir seçenek ama şifreyi değiştirmek isteyip de unutmuşsanız girmiş olduğunuz şifreyi görme olasılığınız yok, en azından menülerden.

Böyle bir durumda önce ~/.gnome2_private/Evolution dosyasını bir metin düzenleyicide açın. Dosya şuna benziyor olmalı:

[Passwords-Mail]
pop:__kullanici@1.2.3.4_=RabcMjJjYW7=
smtp:__kullanici;auth_PLAIN@1.2.3.4_=RabcMjJjYW7=

İki “=” işareti arasındaki karakterler sizin şifreniz. Okunabilecek hale getirmek için aşağıdaki script işinizi görür, en azından benim işimi gördü:

#!/usr/bin/perl -w

use strict;
use Carp;
use MIME::Base64;

foreach my $s (@ARGV)
{
    printf("%s\t", $s);
    printf("%s\n", decode_base64($s));
}

Bunu b64dec olarak kaydedip, chmod +x b64dec komutuyla çalıştırılabilir hale getirin. Sonra ./b64dec RabcMjJjYW7 (iki eşittir işareti arasındaki metin) komutunu verince şifrenin aslını göreceksiniz.

Yazının ilham kaynağı:

Recovering stored email account passwords in Evolution (2.0.4)

Bir süredir http://www.bican.net/category/bir-dakikada-ankara/ adresinden video blog cinsinden bir şey yapmaktayım. Tek amacım bir süre sonra geriye kaydettiklerime bakıp, gerçekten de anımı yakalayıp yakalayamadığımı, ne kadarını hatırlıyabildiğimi ölçmek. Ha bir de miro adı verilen harika fikre bir nebze ortak olabilmek. Miro sayfam burada.

Neyse, asıl konumuzun kompütürlü tarafına gelelim: Video yayınlamak can sıkıcı bir zanaat: Ya youtube gibi merkezi paylaşım sitelerinde yayınlayacaksınız ve böylece gelen yorumlardan dolayı insanlardan, silinen videolardan dolayı sitenin kendisinden, zırt pırt yasaklanmasından dolayı da (öhöm) şeyden, neyden, evet işte ondan nefret edeceksiniz.

Ya da kendi sitenizi yapacaksınız, hatta benim yapmadığım şekliyle videoları da torrentle dağıtacaksınız. Böylece birazcık daha fazla çabayla dişiniz ağrımayacak, başınız sızlamayacak.

Bu sitede wordpress, feedburner ve podpress kullanıyorum. Wordpress, sayfaları yayınlamak için, podress videoları hem RSS’te hem de web sayfalarında doğru dürüst göstermek için, feedburner ise RSS ve podcast yazılımlarıyla daha kolay ilişki kurmak için.

İşin bir de videoları kaydetme tarafı var: Kaydettiğim videoları hemen yüklemeye kalksam çok büyük dosyalar olduğundan kimse indiremez. O yüzden kayıt sonrasında işleme yapmak gerekiyor. Şimdiye kadar Mac OSX ile birlikte gelen IMovie yazılımını kullanıyordum. Maalesef Apple’ım biraz yaşlandığından dolayı artık gereğinden fazla zaman almaya başlamıştı. O yüzden son bir kaç videoyu Linux kurulu dizüstü bilgisayarım üzerinden işledim. IMovie’nin oluşturduğu niteliklerde bir çıktı almam biraz uğraşmak gerektirdi. Ama sonunda şu sayfanın da yardımıyla, kendi kafama göre bir script oluşturabildim.

Olur ki birileri daha uğraşmak ister, buyurun script aşağıda:



mencoder $1 -quiet -o /dev/null -ovc x264 -x264encopts pass=1:turbo:bitrate=900:bframes=1:\me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 -ofps 12


mencoder $1 -quiet -o encoded-video.avi -ovc x264 -x264encopts pass=2:turbo:bitrate=900:frameref=5:bframes=1:me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 -ofps 12


mplayer -quiet -nolirc -nojoystick encoded-video.avi -dumpaudio -dumpfile encoded-audio.aac


mplayer -quiet -nolirc -nojoystick encoded-video.avi -dumpvideo -dumpfile encoded-video.h264


mp4creator -create=encoded-audio.aac destination.mp4


mp4creator -r 12 -create=encoded-video.h264 destination.mp4


mp4creator -m 150000 -hint=1 destination.mp4


mp4creator -m 150000 -hint=2 destination.mp4


mp4creator -optimize destination.mp4


ffmpeg -itsoffset -4 -i destination.mp4 -vcodec png -vframes 1 -an -f rawvideo destination.png


rm -f divx2pass.log encoded-audio.aac encoded-video.avi encoded-video.h264


Kullanımı gayet basit: Diyelim ki üstteki satırları podcast.sh olarak kaydettiniz ve chmod +x podcast.sh olarak da çalışır hale getirdiniz. O zaman ./podcast.sh videodosyasi şeklinde komutu veriyorsunuz. O da size bir kaç dakika sonra destination.mp4 ve destination.png dosyalarını çıkartıyor. İlki, videonun kendisi, ikincisi de önizleme için kullanılabilecek bir alıntı resim.

Umarım birilerinin de işine yarar.

Şenol sağolsun askere gitmeden The 7 dirtiest jobs in IT diye bir sayfa gönderdi. Her zaman teknoloji harikalarıyla uğraşıldığı sanılan bu sektörün bilinen ama pek söylenmeyen yanlarından eğlenceli bir şekilde bahseden bir makale. Her zaman olduğu gibi, çevireyim derken çarpıtarak, bu işleri burada listeleyeyim dedim:

  1. Sistem arkeologu: Kimsenin hatırlamadığı işletim sistemleri için elemean aranıyor. Uzun süre sadece büyük harflerle yazmış olması ve 55 yaşından büyük olması tercih sebebidir.
  2. Yardım zombisi: Kendine güvensiz, birden fazla işi aynı anda yapacak elemanlar aranıyor.
  3. Reboot uzmanı: Şirketimizin sistemlerinin başında görevlendirilmek üzere uzmanlar aranıyor. Parmakların ctrl+alt+delete tuşlarına aynı anda basmaktan çarpılmış olması tercih sebebidir. Asabi adayların başvuruları dikkate alınmayacaktır.
  4. Bölümler arası barış elçisi: Şirketimizin her gün kavga eden bölümleri arasında iş yürütecek temcilcilere ihtiyaç vardır. Yakın dövüş, laf salatası yeteneği ve dalkavukluk alışkanlığı başvuru için zorunludur.
  5. Kurumsal casus: Yalan ve aldatma üzerine deneyimli, bilgisayar sistemlerine izinsiz giriş yapabilecek mühendisler aranmaktadır. Başvuranların kolaylıkla itfaiyeci ya da ilaçlama görevlisi kılığına girme yeteneği olmalıdır.
  6. Sistem taşıma uzmanı: Pozisyon, ikide birde oradan oraya taşınan sistemimizi verilecek en kısa zamanda en uzak şehre taşımayı gerektirmektedir. Başvuranlarda kablo döşeme, raf dizme, klavye başında saatlerce oturma gibisinden deneyimler aranmaktadır.
  7. Çamur sistem uzmanı: Toza, kanalizasyon kokusuna, polenlere, … alerjisi olmayan, sıkışık alanlarda uzun süreler çalışacak sistem uzmanlarına ihtiyaç vardır.

Bunları duyunca, benim de ekleyesim geldi. İş aradığım dönemlerden kalma anılardan ilhamla:

  1. Kurumsal konsomatris: Şirketimizin hatırlı müşterilerinin yaşadıkları ufak tefek sorunları halletmek için işin gereklerinden çok daha fazla özelliği olan uzmanlara ihtiyaç vardır. Ülkenin her yerine girebilecek şekilde arazi taşıtı sürme becerisi ve ailesinden nefret etmek başvuranlarda aranan zorunlu özelliklerdir.
  2. Maaşlı ortak: Şirketimize hem program yazacak, hem yazdığı programa müşteri bulacak, satış ve teknik bakımın üstlenecek, prim beklentisi olmayan düşük maaşla eleman alınacaktır. Başvuranlarda aranan özellikler: Saflık, girişkenlik, iki günde gözünün açılması ihtimali olmaması.
  3. Sertifikalı cahil: Ortak proje yönettiğimiz kurumlarda görevlendirilmek üzere, birbiriyle ilgisiz en az beş konu üzerine ikişer sertifikası olan elemanlara ihtiyaç vardır. Sertifikalar sadece ortak kurumumuzun gözünü boyamak amacında olup, eğitimler sırasında uyumamış olmak şart değildir.
  4. Prizantıbıl satış temsilcisi: İthalatını yapmakta olduğumuz dandik laptopları kapı kapı gezip satabilecek güzellik ya da yakışıklılıkta satış elemanlarına ihtiyaç vardır. Prim erkek adayların kasları, kadın adayların saçları kadar dolgun olacaktır.
  5. Uluslararası köle: Şirketimizin Patagonya’daki şantiyesinde görevlendirilecek bilgisayar uzmanlarına ihtiyaç vardır. Maaş buraya göre iyi, Patagonya’ya göre kuş kadardır. Başvuranların yerel dili akıcı olarak konuşmaları, yerel direniş örgütleri tarafından kaçırıldıklarında hayatta kalmaları açısından elzemdir. Başvurular gizli tutulacak, akıbetleri daha sonra Youtube’da yayınlanacaktır.

Atladığım bir pozisyon var mı?

Özlü sözümüz:

Aptronim denen seyi akil etseydim, simdiye evrensel bir edebiyat ögesiydim.
Dedem Korkut