'*nix' Kategori'sine ait arşiv.
Rblsmtpd – Custom Whitelist ve Blacklist Tanımlamaları
Qmail sistemlerde rblsmtpd ile block list kontrolü yapmak spam mailleri engellemek adına tek başına bile olukça yeterli bir yöntem olsa da bazen false positive durumlar oluşabilmekte ve aslında spam gönderim yapmayan yerlerden gelen maillerin de engellenmesine neden olabilmektedir. Örnek olarak son zamanlarda Google App Engine kullanılarak gönderilen spam mailler nedeni ile google ipleri bazen spamcop, sorbs ya da spamhaus gibi major block listlerine girebiliyorlar ve bunun sonucu olarak da gmail’den gönderilen mailler rblsmtpd’ye takılarak reddedilebiliyor.
İşte bu gibi konuların önüne geçmek için bir whitelist oluşturup bu listeye örneğin google’a ait tüm ip adreslerini eklemek ve bu iplerden gelen smtp bağlantılarını rblsmtpd kontrolünden muaf tutmak yerinde bir tutumdur. Daha önce Rblsmtpd Yapılandırması isimli bir yazı yayınlamıştım; bu yazıda ise rblsmtpd için whitelist ve custom blacklist yapılandırma işlemlerinden bahsetmek istiyorum.
MySQL Full-Text Search Minimum Length Limitini Değiştirmek
MySQL’in fulltext özelliği default olarak 4 ya da daha çok karakterden oluşan kelimeleri indexliyor. Bu durum full-text aramalarında 3 harften oluşan kelimeler için herhangi bir sonuç dönmemesine neden olabiliyor. Örnek olarak ”ssh” ya da “php” gibi 3 harften oluşan sorgular gönderdiğiniz zaman herhangi bir sonuç alamayabiliyorsunuz.
Bu durumun önüne geçmek üzere MyISAM tablolar için kullanılabilecek ”ft_min_word_len” isimli bir sistem değişken mevcut. my.cnf dosyasına eklenen bu değişken ile fulltext’e minimum kaç karakterin dahil edileceğini söyleyebilyorsunuz. Örnek olarak bu değeri 3 olarak set etmek ve varolan bir index’i bu değişikliğe göre rebuild etmek için aşağıdaki adımları izleyebilirsiniz:
Nagios – check_smtp ile Hotmail Ban Kontrolü
Sizi bilmem ama genel olarak özellikle email iletişiminin önemli olduğu online servisler için Hotmail kullanıcılarına mail göndermek, MS’in SmartScreen isimli pek de kararlı olmayan spam filtresi yüzünden genelde başa bela bir durumdur. Çünkü SmartScreen yıllardır sorunsuz gönderim yaptığınız posta sunuculardan gelen mailleri “421 RP-001″ kodlu hata mesajı ile gönderim limitlerini aştınız diyerek “geçici olarak” reddetmeye başlayabilir. Böyle bir durumda yapılabilecek tek şey ise ban durumunu bir an önce farketmek ve gönderim adedini düşürmektir. Zira aynı oranda gönderime devam etmekte ısrarcı olmak geçici (temporary) olan ban’ın kalıcı (permanent) olmasına neden olur.
Özellikle son zamanlarda yukarıda anlattığım senaryo sık sık cereyan etmeye başlayınca (ki bu durum MS’in SmartScreen’de bir değişiklik yapmış olmasına bağlanabilir) ban durumlarını mümkün olan en kısa zamanda tespit edebilmek için Nagios ile Hotmail ban monitoring yapmaya başladım.
Yazının devamımnda, Nagios, nrpe ve check_smtp plugini ile posta sunucuları üzerinden hotmail ban monitoring yapılmasından bahsedeceğim. Sizin de benzer problemleriniz varsa aynı yöntemi kullanmak isteyebilirsiniz. Nagios ile ilgili detaylı kurulum ve yapılandırma dökümanı için ise http://www.syslogs.org/nagios-kurulumu-ve-yapilandirmasi/ adresinden yararlanabilirsiniz.
htaccess ile Mobil Ziyaretçilerin Mobil Sürüme Yönlendirilmesi
Akıllı telefonların ve tabletlerin yaygınlaşması ile internetin mobil kullanımı büyük oranda arttı. İleride desktop ve laptopları tamamen bırakır mıyız bilmem ama mobil kullanımın giderek daha da artacağı aşikar gibi görünüyor.
Durum böyle olunca da artık hemen hemen her web sitesinin bir de mobil sürümü bulunuyor ve mobil cihazlardan gelen site görüntüleme istekleri user agent bilgisinden tespit edilerek otomatik olarak mobil sürüme yönlendiriliyor.
Bu yönlendirme işlemini yapmak için kullanılabilecek yöntemlerden pratik birisi de apache’nin mod_rewrite özelliği’ni kullanmak ve .htaccess içinde yönlendirme kuralları tanımlamaktır.
Yazının devamında çeşitli koşullara göre nasıl yönlendirme yapılabileceği ile ilgili detaylara değineceğim, ilginizi çekerse göz atmak isteyebilirsiniz.
Arşiv (Tar, tar.gz) dosyalarının içeriğinin listelenmesi
Tar dosyalarının içeriğini, arşivi extract etmeden listelemek için -t (–list) isimli bir tar parametresi bulunuyor. Bu parametre zamanında arşivlenmiş ancak içeriğinde ne olduğu unutulan arşiv dosyalarını -özellikle de bir çok dosya dizin içeriyorlarsa- listelemek için oldukça kullanışlı bir özellik.
Örnek olarak aşağıdaki şekilde hem tar hem tar.gz dosyalarının içeriğini görüntülemek mümkün:
# tar tvf dosyaismi.tar.gz
Dosyanın çok büyük olması durumunda uzun bir liste döküleceği için çıktıyı bir dosyaya yönlendirmek de mantıklıdır:
# tar tvf dosyaismi.tar.gz > dosyaismi.txt
Böylece arşiv dosyasının içeriği ile ilgili tam bir liste almak mümkündür.
Detaylar için aşağıdaki linke göz atabilirsiniz:
http://linux.about.com/od/commands/l/blcmdl1_tar.htm
FreeBSD – Jail Sistemleri Ramdisk Üzerinde Çalıştırmak

FreeBSD sistemlerde her türlü servisi jail sistemler üzerinde çalıştırmayı seviyorum. Bu şekilde bir nevi sanallaştırma yapılmış olduğundan dolayı hem yedekleme gibi yönetimsel faliyetler kolaylaşıyor hem de servisler yalıtılmış ortamda çalıştığından dolayı güvenlik seviyeniz artmış oluyor.
Geçenlerde çok sayıda mail göndermekte kullanılan bir qmail sunucusu çalıştıran bir jail sistem’in disk I/O kapasaitesini nasıl arttırabilirim diye düşünürken, aklıma bu jail’i host sistem üzerinde oluşturacağım bir ramdisk içerisinden çalıştırıp çalıştıramayacağım geldi.
Elbette bir jail’i ramdisk üzerinde çalıştırmak, host sistemin her reboot’undan sonra jail’in uçması anlamına gelir. Ancak veri güvenliği ile ilgili bir sıkıntı yoksa ramdisk yönetmini kullanmak kazanılan yüksek I/O kapasitesi düşünüldüğünde gayet mantıklı olabilir.
Bir jail sistemi ramdisk üzerinde çalıştırmak için jail’e ait anadizini ramdisk alanına taşımak ve yapılandırma doslayarında yeni path’i belirtmek yeterlidir. Ancak sistemi restart etmeniz durumunda ramdisk silineceği için her sistem restartında jail’in yeniden set edilmesi gerekiyor. Bu işlem için de basit bir rc scripti yeterli oluyor. Yazının devamında, ezjail ile oluşturulan jail sistemlerin yukarıda anlatıldığı şekilde ramdisk üzerinde nasıl up edilebileceği ile ilgili detaylar bulabilirsiniz. Yazinin devami icin tiklayin.
Update: openSSL 1.0 TSA Özelliği – 5651′a Uygun Log İmzalamak
Daha önce openSSL’in TSA özelliği ile 5651 no’lu kanuna uygun olarak log imzalama işlemlerinin nasıl yapılabileceği ile ilgili bir yazı yazmış ve bu yöntemi kullanarak otomatik imzalama yapan bir de shell script yayınlamıştım.
İlgili yazıları yayınladığım dönemdeki openSSL (9.8.x) sürümleri TSA özelliğini öntanımlı olarak desteklemiyordu ve bu özelliği kazandırmak için openSSL’e patch geçmek gerekiyordu. Sonradan openSSL 1.0.x ile birlikte bu özellik built-in olarak gelmeye başladı. Dolayısı ile 1.0.x openSSL sürümleri için patch geçme işlemine gerek kalmadı.
Ancak ilgili yazıda anlatıldığı şekilde imzalama yapabilmek için 9.8.x sürümlerinden farklı olarak 1.0.x sürümüne ait conf dosyasında küçük bir değişiklik yapılması gerekiyor. Aksi halde signer key’in geçersiz olduğunu söyleyen aşağıdaki şekilde bir hata ile karşılaşılıyor
FreeBSD Sistemlerde RamDisk Oluşturulması
Ramdisk’leri yüksek I/O ihtiyacı olan ve tabii veri güvenliğinin önemli olmadığı örneğin cacheleme gibi işlemler için oldukça sık kullanıyorum. Ram’in bir kısmını disk partisyonu olarak sisteme mount etmek sureti ile elde edilen ramdiskler yüksek disk erişimi isteyen işlemlerde ekonomik ve performanslı bir çözüm olabiliyorlar. Daha önce Linux sistemlerde Ramdisk oluşturulması ve sisteme mount edilmesi ile ilgili bir yazı yayınlamıştım. Şimdi de aynı işlemin FreeBSD sistemlerde nasıl yapılabileceğine değineceğim; ilginizi çekerse göz atmak isteyebilirsiniz…


