29.09.2010

Account Lockout olaylarının takibi

Çoğu sistem yöneticisi, etki alanındaki (domain) hesapların şifrelerinin brute-force yöntemleriyle kırılmasını engellemek için account lockout yöntemini kullanır. Belli bir denemeden sonra hesap bir süreliğine yada kalıcı olarak kilitlenir. Bu sayede deneme\yanılma ile şifrelerin tahmin edilmesi beklenenden çok zaman alır. Bu da şifreyi kırmaya çalışan kişiyi engeller.

Ancak bazen istek dışı account lockout olayları da yaşanır. Şifresini unutan veya eski şifresini hala kullanmaya devam eden kullanıcılar, hesaplarını kilitlerler. Bazen de bu otomatik (Internet Explorer'da kayıtlı proxy şifresi) olur.

Her durumda account lockout olaylarının takip edilmesi güvenlik açısından faydalı olur. Account lockout hangi bilgisayardan yapılmış, daha önce kaç kere yanlış şifre girişi olmuş vs. bilgiler sistem yöneticisinin bilmesi gereken anahtar bilgilerdir. Ancak bu bilgileri System Event Log'undan toplamak, hele ki birden fazla etki alanı denetleyicisi (domain controller) varsa, zor bir iş olabilir. Eminim piyasada bu işin takibini yapacak çok yetenekli ticari yazılımlar vardır ama bunların lisans ücretlerini ödemek istemiyorum diyenler için basit bir çözümüm var.

İşin özeti şöyle: bir kullanıcı şifresini yanlış girdiğinde etki alanı denetleyicisi System Event Log'una 675 ve/veya 680 ID'li olaylar düşer. Daha önce belirlenmiş sayıda yanlış şifre girişi sonunda kullanıcının hesabı kilitlenir ve bu sefer de 644 ID'li olay düşer. Hesabın kilitli olduğu süre boyunca her girişte yine 680 ID'li olaylar düşer. Birden fazla etki alanı denetleyiciniz varsa, PDC emulator görevini üstlenen denetleyicinin System Event Log'unda 675 ID'li olay kaydında yer alan IP adresi, kullanıcı hesabının doğruluğunu denetleyen etki alanı denetleyicisinin (domain controller) adresi olabilir. Bu durumda bu denetleyicinin de System Event Log'una bakmalıyız. Burada göreceğimiz 675 ID'li olaylar, yanlış şifrenin girişinin yapıldığı bilgisayarın IP adresini verir. Amacımız bu olay kayıtlarını tüm etki alanı denetleyicileri üzerinde takip etmek.

Sysinternals Pstools paketinden psloglist.exe ile uzak bir/birkaç bilgisayardan event log'larını çekebiliriz. Örneğin
psloglist \\dc1,dc2,dc3 -h 10 -i 644,675,680 -s security > lockouts.txt
komutuyla dc1, dc2 ve dc3 adlı etki alanı denetleyicilerinin security event log'larından son 10 saat içindeki 644, 675 ve 680 numaralı olaylarını çekip mevcut klasörün içindeki lockouts.txt dosyasına yazabilirim. Bunu başka şekillerde de yapabilriz ama son 10 saatin security loglarından 3 farklı ID için, 3 farklı DC üzerinden bunu tek işlemde yapmak süper birşey! Elbette bu işi yapabilmek için Domain Controller Security Policy ile Failure Audit'in etkinleştirilmiş olması gerek.

Bunun sonucunda lockouts.txt dosyasını bir Spreadsheet programıyla (MS Excel, OpenOffice Calculator vs.) açıp ID'lere göre süzerek ayrıntılı fikir sahibi olabiliriz.

28.09.2010

Yavaş bilgisayarlara Lubuntu

Evde eski bir bilgisayarım vardı, P3 700 MHz işlemcili, 256+128 MB bellekli, 20 GB disk kapasiteli. Buna daha önce Windows 2000 kurmayı denemiş, bir çok yazılımın bu işletim sistemi ile uyumluluğunun kalmadığını farkettikten sonra Windows XP'ye geçmiş, ancak Windows XP'nin de bugünkü koşullara göre yüklenmiş halinin bu bilgisayara fazla geldiğini anlamıştım. Bir süredir bilgisayar yatıyordu.

Geçen gün aklıma Xubuntu ile birşeyler yapabileceğim geldi. Ubuntu'ya göre daha düşük sistem gereksinimlerine sahip bu dağıtım, benim istediğim şey olabilirdi. Ayrıca Windows 2000 hatta Windows XP'ye göre daha güncel bir işletim sistemiydi. Ancak bir süre sonra internette Adobe Flash Player tabanlı kullanım deneyiminin sonunda bunun tam olarak istediğim şey olmadığını farkettim. Bilgisayarım demek ki bayağı yavaş kalıyormuş.

Daha "hafif" bir dağıtım ararken yeni bir Ubuntu türevi keşfettim: Lubuntu! LXDE masaüstünü kullananan bu dağıtğım, tam aradığım şeydi. Üstelik Firefox yerine Chromium Browser varsayılan olarak geliyordu.

Biraz da dosya sistemi üzerinde araştırma yaptım. Ext4 yerine daha az kaynak tüketecek bir dosya sistemi ararken şu adreste güzel bir karşılaştırma buldum. Buna göre JFS dosya sistemi, bir çok teste göre benim kriterlerime uyuyordu. Ancak öntanımlı ayarlarmalarda Lubuntu kurulum ortamının JFS desteği yoktu. Bunun için kurulum aşamasında terminali açarak
sudo apt-get update
sudo apt-get install jfsutils
ile JFS desteğini yükledim. Bunu yapmadan devam edince diski JFS olarak formatlayamadım. Ancak bundan sonra kurulum işlemini tekrar başlatabildim.

Benim bilgisayarımla mı ilgiliydi, yoksa Lubuntu'nun bir sorunu muydu, bilemiyorum ama klaveye düzeni ile ilgili bir dizi sorun yaşadım. Örneğin Türkçe/Türkiye seçimini yaptıktan sonra tavsiye edilen klavye düzeni Türkçe Q-klavye olarak gelmesine rağmen klavyedeki Türkçe karakterlere basınca yine İngilizce klavye düzenine göre [,],; falan gibi karakterler çıkıyordu. Elle seçimi farklı bir düzene değiştirip, ardından tekrar Türkçe Q-klavyeye ayarlayınca sorun düzeldi. Birkaç kez de klavyedeki bazı tuşların çalışmadığını farkettim. Ancak tekrar başlatınca sorunlar kayboldu. Şu anda klavyem sorunsuz Türkçe Q üzeninde çalışyor.

Kurulum tamamlandıktan sonra
sudo apt-get update
sudo apt-get install flashplugin-installer
satırlarıyla önce repository'leri güncelledikten sonra Adobe Flash Player kurulumunu yaptım.

Kurulumlar tamamlandıktan sonra hiç ihtiyaç duymayacağım servisler olduğunu farkederek, kapatmanın yollarını aradım. Özellile bluetooth ve cups (yazdırma) servislerine ihtiyaç duymayacağım.

Önce mevcut runlevel'ı bulmak için şu komutu kullandım.
runlevel
Redhat'te X11'in çok kullanıcılı modunun değeri 5'ti. Burada da aynı değeri bulacağımı sanıyordum. Yanılmışım. Lubuntu'da 2 çıktı. Bunun üzerine
/etc/rc2.d
klasörünün içinde başında S harfi olan servisleri aradım. S25bluetooth ve S50cups'ı görerek şu komutlarla bunları devre dışı bıraktım. Bluetooth her ne kadar başlatılıyor gözükse de bilgisayarımda bluetooth olmadığından bu servis şu anda çalışmıyor görünüyordu. Ama kapatmanın açılış süremi kısaltacağını düşündüm.
sudo update-rc.d -f bluetooth remove
sudo update-rc.d -f cups remove
Bunlardan başkalarını (mesela cron, nfs vs.) kaldırmaya cesaret edemedim.


Şu anda herşey güzel çalışıyor.