E-posta sunucuları için bir IP bloklama uygulaması

Problem:

Bir süre önce sunucularımızdan biri üzerinden ara ara ciddi miktarda e-posta gönderildiğini gözlemlemiştim. Sunucu, güncel spam önleme yazılımları ve ince ayarlar ile korunmasına karşın bu durumun nasıl meydana geldiğini anlamak biraz zaman aldı.

Sonuçta ortaya çıkan durum şu; müşterilerimizden birinin kullandığı e-posta hesabının şifresi bir virüs veya trojan yoluyla ele geçirilmiş. Korsanlar bu hesabı kullanıp, geçerli bir SMTP doğrulaması ile Ukrayna, Rusya ve Fransa’dan beş farklı IP adresi üzerinden spam mesajlarını göndermeyi başarmışlar…

Amaç:

Yurtdışından SMTP doğrulaması yoluyla e-posta gönderilerini durdurmak hatta ilgili IP’lerin sunucu erişimlerini tamamıyla engellemek. Bunu yaparken tipik bir sunucuda kurulu bulunması gereken standart uygulamalardan yararlanmak.

Çözüm:

Basit bir betik yardımıyla maillog dosyalarının düzenli aralıklarla taranması ve yurtdışı kaynaklı SMTP doğrulaması yapmaya çalışan IP adreslerinin sunucu erişimlerinin bloklanması. Bu çözüm çok farklı şekillerde geliştirilmeye açık; örneğin yurtiçi veya yurtdışı olsun belirli bir süreden -mesela 30 saniye- kısa aralıklarla gerçekleştirilen SMTP bağlantılarının  bloklanması, belirli ülkelerden SMTP doğrulaması yapan IP’lerin bloklanması vs.

Hazırladığım betiği aşağıya kopyaladım. Eğer benzer bir sorun yaşıyorsanız ve sunucunuza doğrudan “root” erişiminiz varsa bu betik işinize yarayabilir. Serbestçe kullanabilirsiniz…

#!/usr/bin/perl

# onlytr.pl v1.0
#
# This script will help to stop and block SMTP Authentication
# attempts outside from Turkey (TR), using iptables and maillogs.
# Can easily be adjusted to include and/or exclude other
# countries as well.
#
# Please notice that the Geo::IP Perl Module and a recent
# GeoIP.dat country database file is necessary.
#
# Author (c) 2013 Mahir B. Asut - mahir.asut.net
#
# This software ise Public Domain. Please feel free to use
# and distribute.
#
# This software utilizes GeoLite data created by MaxMind,
# available from www.maxmind.com
#
# Usage: First check and edit the Config Section below if necessary.
# Run directly from the server console as root user or create a cron job.
# Tested on RHEL derivatives.

use strict;
use Geo::IP;

my $gi = Geo::IP->new(GEOIP_MEMORY_CACHE);

# START - Config Section 

my $maillog = '/var/log/maillog';
my $iptablessave = '/sbin/service iptables save';
my $iptablesrestart = '/sbin/service iptables restart';
my $iptablesdata = '/etc/sysconfig/iptables';
my $logfile = '/var/log/onlytr.log';

# END - Config Section

open INF,'<'.$iptablesdata || die;
my @data = <INF>;
my $iptablessource = join(';',@data);
close INF;

open INF,'<'.$maillog || die;
my @lines = <INF>;
close INF;

my $found;

foreach my $line (@lines) {
	if ($line =~ 'sasl_username') {
		chomp $line;
		my $ip = $line;
		$ip =~ s/^.*[(d+).(d+).(d+).(d+)].*$/$1.$2.$3.$4/;
		my $notice;
		if ($iptablessource =~ $ip) { $notice = 'already in iptables' }
		else {
			my $country = $gi->country_code_by_addr($ip);
			if ($country eq 'TR') { $notice = 'ip source TR' }
			else {
				$found = 1;
				$notice = 'ip source NOT TR! but '.$country;
				system ("iptables -A INPUT -s ".$ip." -j DROP");
				$iptablessource.= ';'.$ip;
				
				open OUTF,'>>'.$logfile || die;
				print OUTF $line."n";
				close OUTF;
			}
		}
		print $ip.': '.$notice."...n";
	}
}

if ($found) {
	system ($iptablessave);
	system ($iptablesrestart);
}

exit;

 

Zaman kaybettiren web sitelerini bloklayın!

Düzenli olarak eriştiğiniz web siteleri, forumlar, haber sayfaları var ve bunlara sürekli olarak göz atmaktan kendinizi alamıyorsunuz?

Zaman ve verimlilik kaybettiren bu tür sitelere (en azından istemediğiniz sürece) erişiminizi engellemek için türlü yollar var.

Bu yollardan en dolambaçsız ve basit olanı bilgisayarınızdaki “hosts” dosyası ile oynamak…

hosts dosyaları, Alan Adı Yönetim sisteminin (DNS) internet genelinde yaptığı isim ve ip eşleştirmesini sizin işletim sisteminiz özelinde yapıyor. İşletim sisteminiz önce buraya, daha sonra DNS sistemine göz atıyor adres çözümlemek için.

hosts dosyası, Windows işletim sistemlerinde genellikle  C:WINDOWS\system32\drivers\etc dizininde bulunur. Buradaki hosts dosyasını Notepad ile açıp aşağıdaki satırları bloklamak istediğiniz her web sitesi için bu dosyanın altına ekleyebilirsiniz. Aynı dosya GNU/Linux işletim sisteminde /etc dizininde bulunuyor. Nano veya bir başka metin editörü ile bu dosyayı açıp düzenleyebilirsiniz (Ubuntu gibi önce yönetici yetkisi almanızı gerektiren işletim sistemlerinde terminalden çalıştıracağınız sudo nano /etc/hosts komutu sizi doğrudan dosya düzenlemeye ulaştırır.)

hosts dosyasına eklenecek bloklama satırları aşağıdaki gibi olmalı (bloklanacak her bir site için aynı tanımlar yapılmalı):

127.0.0.1 facebook.com
127.0.0.1 www.facebook.com

Dosyayı düzenleyip kayıt ettikten sonra işiniz bölünmeden çalışmalarınıza devam edebilirsiniz…

Yazılıma teşvik ama nasıl?

Bilişim alanına yönelik devlet teşvikleri, destekleri, öncelikli alanlar, projeler, desteklenecek girişimler, girişimciler vs. vs…

17 Eylül 2012 Pazartesi günü İstanbul Ticaret Odası tarafından organize edilen bir toplantıda yetkili ağızlardan yukarıdaki konuları dinleme fırsatı bulduk.

Bilişim alanına yönelik teşvik ve destekler farklı kurumların çatısı altında yürütülüyor;

  • Ekonomi Bakanlığı
  • Bilim Sanayi ve Teknoloji Bakanlığı
  • Ulaştırma, Denizcilik ve Haberleşme Bakanlığı
  • TÜBİTAK
  • KOSGEB

Konuşmacıları dinlerken birkaç yıl önce yaşadığımız KOSGEB deneyimini hatırladım (merak edenler bkz. “Yazılım Sanayicisi !” yazım)

O günden bu güne neyse ki yazılım şirketlerinden Kapasite Raporu istenmesi sona ermiş, verilen destekler çoğalmış. Ancak anladığım kadarıyla başvuru süreçleri yine çetrefilli ve yokuşlu. Karmaşık hesaplar, onaylar, türlü detaylarla uğraşmak söz konusu. Danışman kurumlarla çalışmadan sonuç almak zor gibi görünüyor.

Bu tür teşvik ve destek sistemlerinin halen çok etkili yürümediğini düşünüyorum bizim sektörümüz açısından. Diğer yandan dolaylı ve dolayısız vergilerin yükü öyle bir hale geldi ki; buralardan toplanan kaynağın sadece küçük bir kesiri teşvik-destek olarak dağıtılıyor…

Girişimcilik zor. Bir şirket kurup iş yapmak, para kazanır hale gelmek, iş yürütmek daha da zor. Stopajlar, vergiler, aidatlar (İnanılmaz bir olay ama gerçek; Ticaret Odaları karınızdan pay alıyor sanki karınıza bir katkı yapıyorlarmış gibi?) ücretlerin üzerindeki vergi yüklerinin personele yansıması vs. vs. hepsi sıkıntılı.

Bilişim, özellikle de yazılım alanında faaliyet gösteren şirketler teşvik edilmek isteniyorsa çok karmaşık, yer bulunması zor, kiraları yüksek teknopark odaklı sistemlere gerek yok. Teknoparklarda yerleşik bilişim şirketlerine tanınan kolaylıklar kendi ofislerinde faaliyet gösteren şirketlere de sağlanabilir düşüncesindeyim. Yazılım, mekandan bağımsız olarak yürütülebilecek nadir işlerden biriyken mevcut durum abes kaçıyor.

Internet’in Kısa Tarihi

Bir Türk tasarımcı; Melih Bilgil tarafından hazırlanan kısa animasyon, internetin tarihçesini oldukça basit ve etkili bir şekilde aktarıyor.

Okumaya devam et “Internet’in Kısa Tarihi”

Atatürk’ün Büyük Nutuk’u ve Gençliğe Hitabesi

Atatürk Büyük Nutuk'u OkuyorMustafa Kemal Atatürk, 1927 yılında Dolmabahçe’de, yakın çevresinden vatanperver arkadaşları ile birlikte üzerinde tartışarak tamamladığı ve Türk’ün kurtuluş mücadelesini belgelere, tanıklıklara dayandırarak anlatan Büyük Nutuk’unu, Cumhuriyet Halk Partisi’nin, 1927 yılında 15-20 Ekim tarihleri arasında gerçekleştirilen 2. Kurultayında tam 36 saat 33 dakikada okumuştur.

Nutuk’un hedefi; ulusal bağımsızlığın hangi koşullar altında, hangi zorluklar aşılarak kazanıldığını, bu uğurda verilen mücadelelerin ruhunu gelecek nesillere aktarmaktır. Her nedense okullarımızda, tarih diye okutulan kitaplar Nutuk’un kötü bir kopyası olabilmekten bile son derece uzaktır. Nutuk, okullarda zorunlu eğitim kitabı olmalı ve tüm öğrencilerin, belki bir, belki iki yıla yayılacak bir müfredat programı çerçevesinde Nutuk’un özünü, Vatanın ve bağımsızlığın değerini anlamaları, Atatürk’ün işaret ettiği tehlikeleri algılayabilmeleri sağlanmalıdır.

Tüm Büyük Nutuk’un bir özetini Atatürk’ün Gençliğe Hitabesinde bulmak olanaklıdır. Atatürk’ün Büyük Nutuk’u hazırlarken en çok heyecan duyduğu ve özen gösterdiği bölümün Gençliğe Hitabe olduğunu o tarihlere şahitlik etmiş olanlar bize aktarıyorlar. Gençliğe Hitabe’yi okurken bugün içerisinde bulunduğumuz koşulları da göz önünde bulundurursanız Atatürk’ün sadece o günü değil, çok daha ileriyi de gördüğünü hemen kavrayacaksınız.

not: Nutuk’un yanısıra, muhteşem Kurtuluş Savaşı’mızın gerçek yüzünü görmek istiyorsanız Turgut Özakman’ın “Şu Çılgın Türkler” romanını (roman sözcüğü aldatıcı olabilir, belgesel-roman demek daha doğru sanıyorum) mutlaka okuyun, yorumcuların dediği gibi “okutun”.

Büyük Nutuk’un tam metnine http://www.kho.edu.tr/atasayfa/buynutuk/ adresinden ulaşabilirsiniz

Aşağıda, Gençliğe Hitabenin -bence son derece önemli olan giriş kısmı dahil- orijinal metnini ve altında günümüz Türkçesi ile yazılmış halini bulabilirsiniz.

ATATÜRK’ÜN TÜRK GENÇLİĞİNE HİTABESİ
(Orijinal Metin)

TÜRK GENÇLİĞİNE BIRAKTIĞIM EMANET

Saygıdeğer Efendiler, sizi günlerce işgal eden uzun ve teferruatlı nutkum, nihayet geçmişe karışmış bir devrin hikâyesidir. Bunda milletim için ve gelecekteki evlâtlarımız için dikkat ve uyanıklık sağlayabilecek bazı noktaları belirtebilmiş isem kendimi bahtiyar sayacağım.

Efendiler, bu nutkumla, millî varlığı sona ermiş sayılan büyük bir milletin, istiklâlini nasıl kazandığını, ilim ve tekniğin en son esaslarına dayanan millî ve çağdaş bir devleti nasıl kurduğunu anlatmaya çalıştım.

Bugün ulaştığımız sonuç, asırlardan beri çekilen millî felâketlerin yarattığı uyanıklığın eseri ve bu aziz vatanın her köşesini sulayan kanların bedelidir.

Bu sonucu, ‘Türk gençliğine emanet ediyorum.

Ey Türk gençliği!

Birinci vazifen, Türk istiklâlini, Türk Cumhuriyeti’ni, ilelebet muhafaza ve müdafaa etmektir.

Mevcudiyetinin ve istikbalinin yegâne temeli budur. Bu temel, senin en kıymetli hazinendir. İstikbalde dahi, seni bu hazineden mahrum etmek isteyecek dahilî ve harici bedhahların olacaktır. Bir gün, istiklâl ve Cumhuriyet’i müdafaa mecburiyetine düşersen, vazifeye atılmak için, içinde bulunacağın vaziyetin imkân ve şerâitini düşünmeyeceksin! Bu imkân ve şerâit, çok namüsait bir mahiyette tezahür edebilir. İstiklâl ve Cumhuriyetine kastedecek düşmanlar, bütün dünyada emsali görülmemiş bir galibiyetin mümessili olabilirler. Cebren ve hile ile aziz vatanın bütün kaleleri zaptedilmiş, bütün tersanelerine girilmiş, bütün orduları dağıtılmış ve memleketin her köşesi bilfiil işgal edilmiş olabilir. Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler. Hattâ bu iktidar sahipleri, şahsî menfaatlerini, müstevlîlerin siyasi emelleriyle tevhid edebilirler. Millet, fakr ü zaruret içinde harap ve bîtap düşmüş olabilir.

Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi vazifen, Türk istiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Ankara, 20 Ekim 1927

ATATÜRK’ÜN TÜRK GENÇLİĞİNE SESLENİŞİ
(Yeni Türkçe)

TÜRK GENÇLİĞİNE BIRAKTIĞIM EMANET

Saygıdeğer Beyler, günlerdir dinlediğiniz uzun ve detaylı söylevim, eninde sonunda geçmişe karışmış bir devrin öyküsüdür. Bunda halkım için ve gelecekteki çocuklarımız için dikkat ve uyanıklık sağlayabilecek bazı noktaları belirtebilmişsem kendimi mutlu sayacağım.

Beyler, bu nutkumla, ulusal varlığı sona ermiş sayılan büyük bir halkın, bağımsızlığını nasıl kazandığını, bilim ve tekniğin en son ilkelerine dayanan ulusal ve çağdaş bir devleti nasıl kurduğunu anlatmaya çalıştım.

Bugün ulaştığımız sonuç, yüzyıllardan bu yana yaşanan ulusal felaketlerin yarattığı uyanıklığın eseri ve bu sevgili yurdun her köşesini sulayan kanların bedelidir.

Bu sonucu, Türk gençliğine emanet ediyorum.

Ey Türk Gençliği!

Birinci görevin; Türk bağımsızlığını, Türk Cumhuriyetini, sonsuzluğa değin korumak ve savunmaktır.

Varlığının ve geleceğinin biricik temeli budur. Bu temel, senin en değerli hazinendir. Gelecekte dahi, yurt içinde ve dışında, seni bu hazineden yoksun kılmak isteyen kötücüller bulunacaktır. Bir gün, bağımsızlığını ve Cumhuriyetini savunmak zorunda kalırsan; göreve atılmak için, içinde bulunacağın durumun olanaklarını ve koşullarını düşünmeyeceksin! Bu olanaklar ve koşullar çok elverişsiz olabilir. Bağımsızlığına ve Cumhuriyetine kıymak isteyecek düşmanlar, bütün dünyada benzeri görülmedik bir zafer kazanmış olabilirler. Zorla ve hile ile sevgili yurdunun bütün kaleleri alınmış, bütün tersaneleri ele geçirilmiş, bütün orduları dağıtılmış ve yurdun her köşesine düşman girmiş olabilir. Bütün bu koşullardan daha acıklı ve korkunç olmak üzere, yurdunda, iktidara sahip bulunanlar, aymazlık ve sapkınlık içinde olabilirler. Üstelik, hainlik de yapabilirler. Hatta bu iktidar sahipleri, kendi çıkarlarını, yurduna girmiş olan düşmanların siyasal erekleriyle birleştirebilirler. Ulus, yoksulluk ve sıkıntı içinde harap ve bitkin düşmüş olabilir.

Ey Türk geleceğinin çocuğu!

İşte, bu ortam ve koşullar içinde bile görevin, Türk bağımsızlığını ve Cumhuriyetini kurtarmaktır! Bunun için gereken güç damarlarındaki asil kanda vardır!

Ankara, 20 Ekim 1927

Huawei Ideos X5 (U8800) İçin Android 2.3 (Gingerbread) Çıktı!

Android tabanlı akıllı telefon Huawei Ideos X5 (Huawei U8800) için Android 2.3 (Gingerbread) yayınlandı.

Yeni güncelleme ile Ideos X5 sahipleri Android’in mobil telefon platformundaki en güncel sürümüne sahip olacaklar!

http://eko.bz/E83F8R3 adresine tıklayarak resmi Huawei sitesinden indirebilirsiniz.

Nasıl kurulacağı da http://eko.bz/E28T9V5 adresinde anlatılmış durumda. Ayrıca yüklediğiniz sıkıştırılmış klasörün içerisinde de açıklayıcı bir PDF belgesi var.

EĞER GÜNCELLEME YAPMAYI PLANLIYOR İSENİZ ÖNCELİKLE HERŞEYİNİZİ YEDEKLEMEYİ UNUTMAYIN!!!

Uzun URL linkleri (bağlantıları) kısaltarak paylaşmak için eko.bz açıldı

Uzun bağlantıları (linkleri) kolayca nasıl paylaşırım? diye düşündünüz mü hiç?

Özellikle e-posta ve mobil telefonlardan, ayrıca Twitter, Facebook veya Linkedin tarzı sosyal ağlar üzerinden uzuuun ve karmaşık bir bağlantıyı (URL) paylaşmak her zaman sorun olmuştur.

eko.bz bu problemleri çözmek için kuruldu. Şubat ayına dek site test yayınında olacak ancak test sürecinde eklenen bağlantılar sitenin resmi açılışını takiben de çalışmayı sürdürecek.

Uzun bir URL adresini eko.bz anasayfasındaki kutucuğa giriyorsunuz, Kaydet tuşuna basıyorsunuz ve kısa URL’niz kullanıma hazır bir biçimde sizi bekliyor!

Örneğin; http://mahir.asut.net/2011/10/13/xubuntu-11-10-onerici-ocelot-kurulum-ve-izlenimlerim/ şeklindeki bir adres http://eko.bz/E8A2B8V gibi kısacık hale geliyor! Sınırlı sayıda karakter girebildiğiniz yazışmalarda veya uzun bağlantıların bozulabileceği durumlarda güvenle kullanabilirsiniz.

Sadece Twitter, Facebook, Linkedin gibi sosyal ağlar ve e-posta ile değil, QR Code okuyabilen akıllı telefonunuzun kamerasını kullanarak eko.bz’nin oluşturduğu GR Code yardımıyla kısayolu telefonunuza aktarabilir, SMS veya e-posta yoluyla paylaşabilir ya da mobil tarayıcınızda çalıştırabilirsiniz.

Son derece pratik ve üyelik gerektirmiyor. 2012’nin Şubat ayına dek test yayınında olacak, bu tarihten sonra ise resmi açılışı gerçekleşecek.

Thunderbird, Google ve Android Takvim Senkronizasyonu

Takvimimi Thunderbird, Gmail ve Android telefonlarım arasında nasıl senkronize ederim? (eşitlerim) sorusuna yanıt arıyorsanız doğru yerdesiniz.

Bilgisayarlar, akılsız telefonlar, akıllı telefonlar, PDA’lar, tabletler, internet şu bu derken iş takvimimizi, kullandığımız “ortamlar” arasında senkronize tutmak adeta bir işkence haline geldi.

Android telefonlarının pazar payı geçen yıl yüzde 25 iken bu yıl yüzde 52’ye yükseldi dünya çapında. Linux ve özgür yazılım camiası adına büyük bir başarı bu (tabii Google için de!)

Eğer siz de benim gibi Android cihazınız, Thunderbird e-posta istemciniz ve internet tabanlı takviminiz arasında eşitleme yapma sıkıntısı yaşıyorsanız aşağıdaki adımları uygulayarak her üç ortamda tıkır tıkır çalışan ve güncellenen bir ajandaya sahip olabilirsiniz…

Android telefonunuz varsa bir gmail hesabınız da var demektir. Öyleyse başlayabilirsiniz…

Thunderbird Lightning ve Provider for Google Calendar Kurulumu

Thunderbird kullanıyorsanız büyük olasılıkla Ligthning (Thunderbird’in takvimi) eklentisini de kurmuşsunuzdur. Eğer kurmadıysanız hemen Araçlar -> Eklentiler menüsünden Eklenti Edin’e tıklayarak Lightning’i kurun. Veya doğrudan şu adrese tıklayarak eklentiyi indirin ve kurun.

Ardından Provider for Google Calendar eklentisini indirip kurmanız gerekiyor.

Her ikisini de kurup Thunderbird’ü yeniden başlattıktan sonra ikinci adıma geçebilirsiniz.

Gmail Takviminin Ayarlanması

gmail.com adresinden hesabınıza giriş yaptıktan sonra Takvim (Calendar) sekmesine tıklayın. Sağ üst köşede bulunan çark ikonuna tıklayarak Seçenekler -> Takvim Ayarları ekranına girin (eğer ekranda görünen dil İngilizce ise Language seçeneğinin karşısındaki çoktan seçmeli kutucuktan Türkçe’yi seçebilirsiniz.)

Ayarlar ekranında Takvimler sekmesine tıklayın. Takvimlerim başlığı altında isminizin olduğu takvime tıklayın.

Ekranın altına doğru “Özel Adres” yazan bir kısım var. Karşısındaki XML düğmesine tıkladığınızda ekranınıza uzunca bir adres satırı gelecek. Bu adres takviminizi Thunderbird ile senkronize edebilmek için gereklidir. Tüm adresi eksiksiz olarak kopyalayın.

Ardından tekrar Thunderbird ekranına dönün ve Dosya -> Yeni -> Takvim… seçeneğine tıklayın.

“Yeni bir takvim oluştur” penceresi açılacak. “Ağ üzerinde” kutucuğuna çentik atıp İleri tuşuna basın.

Gelen seçeneklerde Google takvimi kutucuğunu işaretleyin ve Konum kutucuğuna az önce kopyaladığınız adresi yapıştırın. Takviminize bir isim verin (örn. Google Takvim) ve bu takvime ait girdiler için bir renk belirleyin (mesela kırmızı)

Bu aşamadan sonra internet üzerindeki gmail takviminizde gireceğiniz veya düzenleyeceğiniz etkinliklerin otomatik olarak Thunderbird Lightning altında da göründüğünü fark edeceksiniz.

Öte yandan Thunderbird’de girdiğiniz yeni bir etkinlik (etkinlik girerken Takvim olarak Google Takvim’inizi ya da yukarıda tanımlarken ne isim verdiyseniz onu seçmeyi unutmayın) kısa süre içerisinde internet üzerindeki gmail takviminizde yerini alacaktır.

Ayrıca tüm bunlar gmail hesabınızı tanımladığınız Android telefonunuzdaki takviminizde de otomatik olarak yer alacaktır. Aynı şekilde, Android telefonunuzda gireceğiniz yeni “olay”ları da gmail hesabınıza bağlarsanız Thunderbird’in ve internet üzerindeki gmail takviminizin de güncellendiğini göreceksiniz.

Eğer Android kullanmıyorsanız, Windows tabanlı akıllı telefonunuza GMobileSync uygulamasını kurup gmail kullanıcı adınız ve şifreniz ile kullanarak PDA’nız ve Google takviminizi eşleyebilirsiniz (bunu şahsen denemedim.)