The truth about my life

Mon, 29 Nov 2004

Geçtiğimiz hafta cuma sabahı çalıştığım şirket olan Parkyeri'nde üzerinde çalıştığımız bir proje için İstanbul'dan Ukrayna'nın başkenti Kiev'e geldim. Çok fazla gezip dolaşacak zamanım olmadı, ancak kar altında ve -3°C'de bile güzel görünen bir şehir olduğunu belirtmeliyim.

Haberlere inanmayın, buradaki herkesin had safhada korkmasına ve televizyondaki haberlerin olayları kötü göstermek için inanılmaz çabalar harcamasına rağmen ben Kiev ve Donetsk arasında (yani Yuşenko ve Yankoviç arasında) çözülemeyecek bir sorun olduğunu düşünmüyorum. Protestolar karnaval yada eğlence havasında geçiyor; insanlar seçim sonuçlarının iptalinin parlementoda görüşülmesinden önce bile muhtemelen cansız hayatlarını protestoların yarattığı eğlenceli ortamla canlandırıyor gibiler. Özetle, bence birşey olmayacak.

Bu konuda yazacak çok şeyim var, AEK'nın da verdiği bazı ipuçlarını kullanarak inanılmaz sonuçlara ulaştım. Taraflardan birinin neden ABD ve AB tarafından, diğerinin ise neden Rusya tarafından desteklediğini; bu seçimlerde Rusya ve ABD'nin Uranyum yönünden zengin Ukrayna'da neden özellikle bu dönemde karşı karşıya geldiğini uzun uzun yazacağım. Zaman bulduğumda :)

Şimdilik, sizler için buradaki marketten bir eğlencelik. Çok güldüm buna gerçekten:

Burada keyfim yerinde sayılır, şehrin merkezinde küçük ve güzel bir evde kalıyoruz; yemekler ölmememi sağlayacak kadar iyi, insanlar sıcak ve medeni (500.000 kişi sokaklara dökülüyor ve bir tek yaralı yok). İngilizce bilenlerin sayısı az, ama iyi kötü bildiğim Sırpça etrafta olup bitenlerin bir kısmını anlamama yardımcı oluyor. Sanırım hızlıca Rusça öğrenebileceğim.

Belirtmeden edemeyeceğim, burada güzel kadın yok. Hepsi "çok" güzel :)

Wed, 24 Nov 2004

İstanbul'daki PartyFox'da Erkan Tekman'ın belirttiği bir sorun, Gezegen'in Firefox'da RSS alternate göstermemesi idi, az önce düzelttim.

Az önce şüphelendiğim gibi, bazı sorunlardan dolayı Gezegen'den Hüseyin Ergün ve Onur Yalazı'nın günlüklerini çıkarmak durumunda kaldım.

Sevgili arkadaşlar ve bu günlük kaydını okuyan herkes; eğer RSS uyumlu bir günlüğünüz varsa, gezegen@linux.org.tr adresine yazabilirsiniz ki haberdar olalım ve Gezegen'e sizi de ekleyebilelim.

Ukrayna/Kiev'den ne getireyim size? :)

Saygılar, sevgiler..

Gezegen Linux'a katılanlar var:

herhalde birkaç dakika içerisinde güncellenir.

Duydum ki Murat Eren grafiker arıyormuş. Belki birkaç tane daha bulabilirim. Hatta belki insanları birbirlerine kaynak yapmaya yarayan Parkyeri İnsan Kaynakları sorumlumuz Göknur yardım eder, birazdan sorarım ve haber veririm :) Kahve için her yol mübah, yarın gitmeden ısmarla bari...

Bir proje için cuma sabahı Kiev'e gidiyorum, en kötü ihtimalle 3 hafta kalacağım. Blog yazacak vakit bulmuşken ve unutmadan yazayım dedim.

Ben dönene kadar bu şehre iyi bakın.

Tue, 23 Nov 2004

Onur Küçük, Uludağ ekibine katıldı, tebrikler Onur! Birileri Onur'a bir blog ve bir Jabber hesabı oluştursa çok makbule geçecek.

Sat, 20 Nov 2004

Haberleri genellikle Turk Nokta Net'in haber kanalı üzerinden okuyorum. Alternatiflerine kıyasla hayli derli toplu, kullanışlı bir site.

Deutsche Welle'nin geçtiği "AB Müslümanlar'ın entegre olmasını istiyor" başlıklı habere bir yorum yazılmış:

abidin.d (21/11/2004 00:33)
AB veya bir başka mekanizmaya entegre olmamıza asla ve kat'a ihtiyacımız yok.
bize lazım olan levazımat zaten yeterince var. hırıstyan ve yahudilere entegre 
olmaktansa işte iran. pakistan malezye ve endonerzye hattı üzeeindeki bin 
yıllara dayalı o muazzam kültürü pratik hayata geçirmek duruyorken 
neden ab ? anlayamıyorum...
batıya hayır doğuya evet. bu konuda bence tayyip beyde hata yapıyor 
yönümüzü doğuya çevirmemiz en doğru olanıdır.. 
selam ile............. eyüpsultandan abidin dursun......

Sinirlerim tepeme çıktı. Herhangi bir yere sürecek akıl yok bazı insanlarda gerçekten. Düşünce yanlış değil, CIA'in Ortadoğu'dan elini çekmesi gerek, bu bölge ülkelerinin birbirlerine destek olmaları ve barış içinde yaşamaları gerek. Toplumlarını ve medeniyetlerini geliştirmeleri gerek. Eğitim, sağlık gibi hizmetlerin ve adaletin sağlanması gerek; ticaret için elverişli bir ortam oluşturması gerek. Endüstri ve tarıma dayalı hibrid ve bağımsız bir ekonomi oluşturulması gerek. Ama bu cahil adam bunları bilmiyor, ve öğrenmek için gözünü açıp en yakındaki kitapçıya gidecek kültürü yok.

Muhtemelen ailesi ve eğer bir eğitim aldıysa gittiği okullardaki eğitimciler bu kültürü ona kazandırmak için fazla birşey yapamamış, çünkü muhtemelen hayatta kalmaları için başka birşeylerle uğraşmaları gerekiyordu. Tıpkı kendisinin yapacağı gibi, muhtemelen çocuklarının sorunları kendisinin sorunlarından daha büyük olacak. Çocuklarının haber sitelerine yorum yazmak için kullanacakları bilgisayarları olmayabilir. Dev bir çığ, ve gün geçtikçe de büyüyor. Hiçbir insan, bu şekilde yönetilmeyi haketmiyor.

Habere dönelim. Avrupa'da radikal islâmcıların güçlenmeleri ve bununla ilgili olarak Hollanda'da Theo van Gogh cinayeti olgularını temel alarak AB'nin bu konuya çözüm araması ve AB üyesi ülkelerin bu konularda nasıl davranacaklarını belirlemeye yönelik AB içişleri bakanlarının katıldığı toplantı haber edilmiş. Toplantı gündemi, AB üyesi ülkelerdeki bir kısmı Müslüman olan yabancıların topluma daha fazla entegre edilmelerini sağlamak için yapılabilecekleri belirlemek. Ancak, belirtmek gerek ki AB ülkeleri kendi azınlıklarına saygılıdır. Türkiye'de yaşayan halkların tarih içerisinde dönem dönem çeşitli güçler tarafından körüklenen ve birbirlerine uyguladıkları toplumsal faşizme AB ülkelerinde pek az rastlanıyor. AB içişleri bakanları, kendi Müslüman vatandaşlarına haklarını korumaları ve özellikle politik süreçlerde yer almaya çalışmaları öğüdünde bulunuyor.

Belki biraz gelişme var. Aynı ülkeler, 10 yıl önce Yugoslavya'nın parçalanma sürecine yüz çevirmişlerdi; bir kısmı ise gizlice desteklemişti. Temkinli olmak gerek, fakat söylenenlerin doğruluğunu da kabul etmeli.

Aydınlanalım, olup bitenlerden haberdar olalım. İyi eğlenceler,

Thu, 18 Nov 2004

I just got this, and the word gouranga returns interesting stuff on Google. This is not the most weird thing I ever received via e-mail, but it's surely worth blogging about.

   From:  Neateye 
     To:  gezegen@linux.org.tr
Subject:  Gouranga
   Date:  Thu, 18 Nov 2004 19:04:36 -0000  (21:04 EET)
 Mailer:  Microsoft Outlook Express 6.00.2800.1081

Call out Gouranga be happy!!!
Gouranga Gouranga Gouranga ....
That which brings the highest happiness!!

Gouranga reminds me of another random word, something like gongo. The word was used by my GrandMother(TM), to scare me when I was a little child. I love you, grandma.

Sat, 13 Nov 2004

Uzun bir aradan sonra, sonunda Noam Chomsky'nin Terörizm Kültürü adlı eserini bitirmeyi başardım. Amerikan dış siyasetinin son 50 yıllık dönemdeki başarılarının, bunlarla ilgili tarihi inceleme ve evrakların tutarlı ve kapsamlı bir dökümü olan bu kitapta Beşinci Özgürlük; yani soyma, sömürme, hüküm altına alma ve sonuç alabilmek için her türlü güce başvurma özgürlüğü kavramının uygulama örneklerinin yanı sıra "yol değiştirme ilkesi"nin de alaycı bir tavırla fakat kanıtlara dayandırılarak gözler önüne serilişini bulabilirsiniz. Kitapyurdu.com veya Pınar Yayınları'ndan edinilebilir, diye düşünüyorum.

Bitirdiğim birkaç kitapla ilgili derlediğim notları geçmişte günlüğümde aktarmıştım, geleneği bozmayacağım ama sanırım bu kez biraz uzun oldu:

15. Kendimiz İçin Standartlar

Bir ülkenin kendi standartlarını yabancı ülkelere kabul ettirebilmesi işini başarıyla yerine getirebilmesi için kendi ülkesinin istikrar içerisinde ve emin olması gerekir. Bu da terörizm kültürünün değer yargılarının kendi vatandaşlarınca benimsenmesinin gerekliliğine ve önemine işaret eder.

Tarih, tahayyülü bile mümkün olmayan tedhiş cehennemlerinin çukuruna beşeriyetin nasıl kolayca kayabildiğinin örnekleriyle doludur. Almanya Hitler'in iş başına geldiği günlerde medeniyetin, bilimin ve kültürün zirvesindeydi. Hitler çok büyük bir hatip idi. Ülke dışında kazandığı ucuz zaferler sayesinde Almanya tarihinin en popüler siyasi simalarından biri haline gelmişti. Ülke içinde yürütülen "Hitler devrimi" kendisine duyulan güveni büyük ölçüde artırmıştı. Aile içi geleneksel değerleri restore edip güçlendirmiş, özveri örnekleri pek bol bir meziyet hüviyeti kazanmış, ekonomi güçlendirilmiş, bu sonucun alınmasında askeri harcamalarda yapılan artış önemli derecede etkili olmuştu. Milletin gururu okşanmış, tarihi bir misyonunun bulunduğuna inandırılmıştı. Hitler'in şahsen pek istekli olmasına karşın Alman halkı soykırım taraftarı değildi. Norman Cohn, 1938 senesinde Nazi Partisi mensuplarının %60'lık bölümünün Yahudilere reva görülen muamelelerden rahatsız olduğunu, ancak %5'lik kısmının yapılanları onayladığını, "teröre terörle cevap verilmesinin" gerekliliğini savunduğunu ifade etmektedir. 1942 senesi, soykırım faaliyetlerinin had safhaya ulaştığı yıldır. O sene yapılan bir araştırma, Nazi Partisi mensuplarının ancak %5'lik kısmının Yahudilerin "çalışma kampları"na gönderilmelerini onayladığını, %70'lik kısmının meseleye ilgisiz kaldığını, geri kalanların ise olaylardan üzüntü duyduğunu göstermektedir. Toplumun genelinde tedhiş yanlılarının oranının çok daha düşük olduğu hususu ise su götürmez bir gerçektir. Nazi liderleri, Nazi basınının "Yahudilerin dünya genelinde işleyegeldikleri cinayetlere karşı bir savunma hareketi" olarak nitelediği eylemlerini gerçekleştirebilmek için halkın desteğini arkalarına almak gibi bir gereksinimi duymuş değildirler, "insanlığın tamamını Yahudi zulmünden azade kılmak", "Bünyesinde yer etmiş bulunan Yahudi mikrobunu temizlemek için Alman milletini harekete geçirmek", "Yaşamazsına izin verilemeyecek mikrobu temizlemek" için Almanların onayını almak gerekmemiştir. Hitler'e yapacaklarını yapması için halkın pasif davranması, ilgisizliği, gerçekleri görme hususunda gösterdiği ilgisizliği, kişisel kazançlarını ön planda tutma bencilliği, en büyüğün kendileri olduğu yolundaki iddiaları peşinen kabul etme eğilimi kafi gelmiş, bir süre sonra kapıyı çalacak olan tehlikeyi kimse sezinleyememiştir. Naziler tarafından işlenen cinayetlerle bizim burada inceleyegeldiklerimizin kıyaslanabilmesi bile mümkün değildir. Hitler, bu sahanın tartışmasız en büyüğüdür, Yalnız... Hitler'in yaptıkları karşısında pasif kalmayı tercih edenlerden günümüzde işlenen cinayetlere seyirci kalan bizlerin farklı olduğunu düşünüyorsak, işte o zaman gafletteyiz demektir.

Bizim içinde bulunduğumuz ve Hitler dönemiyle kıyasladığımızda kendimizi şanslı addettiğimiz terör ortamında devlet, düne kıyasla vatandaşlarını güç kullanarak kontrol altında tutma işinde daha az özgürdür, bu nedenle daha ustaca hazırlanmış yöntemlerle hak bildiği hedefe doğru ilerlemek durumundadır. Bağrımızda yetiştirdiğimiz terörizm kültürü güçlü bir yapıya sahiptir. Arz ettiği tehlikelerin anlaşılmasına meydan vermeyecek silahlarla mücehhezdir. Sosyal yaşamın, ekonominin ve politik kurumların bünyesine nüfuz etmiş dudumdadır. Entellektüel kültürün, hatta sokaktaki vatandaşın düya görüşünün bir parçası haline gelmiştir. Eğitim görmüş, toplumun kaymak tabakasında bulunan insanlar arasında sağlam bir yer edinmiş olmasına, karşısında organize bir muhalefetin bulunmamasına rağmen toplumun şartlandırılması ve kontrolü işi tereyağından kıl çekme işi kadar kolaylaştırılabilmiş değildir. Herşeye muktedir değildir, karabasan gibi tüm düşmanlarının üzerine çökebilme gücünden yoksundur. Düşman bildiklerinin kendilerini savunma araçları, reaksiyon gösterebilmek için imkanları vardır. Vietnam Savaşı boyunca halkı olup bitenlere karşı ilgisiz kılabilmek, şimşeklerinden yönetimi ırak tutabilmek için çok çaba harcandı, fakat yeterince başarılı olunamadı. Devletin kendi vatandaşlarından aldığı tepkiler örtülü terörizmin gündeme gelmesine sebebiyet verdi. Su, samanın altından akıtılmaya çalışıldı. Bu tür davranışlar Kongre ve seçkinler tarafından hararetle desteklendi. Buna rağmen yönetimin başını ağrıtmasının önü bir türlü alınamadı.

İmtiyazlı seçkinlerin gerçek manada bağımsız entellektüellerin vücut bulmaya başladığını gösteren belirtiler karşısında dehşete düşmesi, kendilerinin cari doktriner sistem dahilinde keyfini sürdükleri değer yargılarının özüne sadık samimi bir takım kimselerin ortaya çıkması karşısında tedirginlik duyması normaldir. Altmışlı yıllarda öğrenciler arasında başgösteren hareketler karşısında takındıkları tavır, ikiyüzlülüklerini örtme, gerçekleri gözden kaçırma, istismar edegeldikleri değer yargılarının hayata gerçek manalarıyla geçirilmesine engel olma girişimlerinden başka bir şey değildir. Yazarak, çizerek, bağırıp çağırarak bu hareketleri bastırmışlardır. Kurbanlarımıza karşı duyulmaya başlanan sempati bastırılmış, sosyal düzenimizin temelinde var olan yığınla aksaklık tekrar karanlıkların içine itilmiştir. Kızılderililerin, kadınların, zencilerin, mal mülk sahibi olmayan kimselerin politik düzen içinde hak ettikleri yeri almalarına fırsat verilmemiştir. Bu insanlar "unutulmuşlar" arasında kalmaya devam etmiştir. Anayasamızın kaleme alınışının ikiyüzüncü yılını kutlama törenleri müsabetiyle yapılan değerlendirmelerde tarihçiler tarafından "unutulmuş insanlar" olarak nitelendirilen bu insanların "özel çıkarları" çağdaş politikacılar tarafından malzeme olarak kullanılmakta, hakim terör kültürü karşısında kendiliğinden oluşan "karşı kültürleri" kurumsal bir yapıya sahip bulunmamakla birlikte gelecek için umut vaat etmektedir.

Entellektüel bağımsızlığın kazanılmasından ve moral değerlerin bir bütünlüğe kavuşturulmasından daha büyük bir tehlike, bunların sosyal ve politik hayatı biçimlendiren birer araç olmasını mümkün kılacak olan istikrarlı organize bir çerçevenin oluşturulmasıdır. Bu tehlike, halka dayalı organizasyonların gelişmesine engel olma işini imtiyazlı grupların üstlenmesi sonucunu doğurmuştur, imtiyazlıların çıkarları doğrultusunda organize olmuş bir toplumda sosyal düzenin ciddi problemlerinin çözümünü kendine iş edinmiş işçi sendikalarının, özel sektörün ve devletin sultası altında olmayan kitle iletişim araçlarının, kendini toplumun çıkarlarını korumaya adamış grupların, geniş halk kitlelerinin aktif olarak yer aldığı siyasi kuruluşların ve özellikle de partilerin, propaganda perdesinin gerisinde oynanan oyunları görme tutkusuyla yanıp tutuşan bağımsız beyinlerin, milli çıkarlar ve güvenlik adına çevrilen dolapların kapılarını açıp içindeki kirli çamaşırları meydana dökmeyi kendine iş edinmiş maceraperestlerin yeri yoktur. Bu tür gelişmelere fırsat vermemiş bulunan Amerikan demokrasisi, ülke içerisindeki başarısını dışarıya da, özellikle Üçüncü Dünya olarak isimlendirilen kesime de taşımıştır. Bu ülkelerde kapitalizm devlet eliyle yeşertilip geliştirilmiştir. Bağımsız işçi birlikleri ortadan kaldırılmış, çalışan sınıflar baskı altına alınmıştır. Almanya ikiye bölünmüş, doğusu Sovyet blokunun, batısı Batı Avrupa sisteminin içinde eritilmeye çalışılmıştır. Böylece birleşik, merkeziyetçi, ulaşılması zor bir sosyal değişikliğe kendini adamış politize bir işçi hareketinin doğmasına fırsat tanınmamıştır.

Tüm çabalara rağmen A.B.D. vatandaşları yeterince uysallaştırılamamıştır. Oltaya takılmayan, cari düzene muhalif olan çok sayıda insan vardır. Bunların elde ettikleri başarılar sınırlı da olsa son derece anlamlıdır. Eğer bu insanların çabaları olmasaydı Orta Amerika'da yaşanan terör olayları akılalmaz boyutlara ulaşabilirdi, bugünkü seviyesinde kalmazdı. Halkın tamamı bu istikamette harekete geçirilebilseydi terör, peydahlayıcısının kanında boğulabilirdi. Devlet terörü üzerine konulan sınırlamalar, bu uğurda gayret sarfedenlerin bir zaferidir. Özgürlük, demokrasi, adalet için savaş verenlerin elde ettiği başarılar, önlerine çıkarılan engellerin büyüklüğü dikkate alınırsa hiç de küçümsenecek gibi değildir.

Organize olmuş, istikrarlı dayanışma grupları ve bunlara verilen destek sayesinde muhalefet, umutsuzluğun telaffuzu olmaktan çıkıp daha güzel olana çevrilmiş projektörler halini alır. Bağımsız düşünce güçlendirilir, cesaretlendirilir. Beyinler günlük olağan propagandaya karşı korunur, imtiyazlıların uygun gördüklerinin dışında yaşayış biçimleri araştırılır. İnsanlar kendileri için daha uygun olan amaçlar belirleyip bunlara ulaşmak için mücadele verir hale getirilebilirler. Bu tür grupların olmaması halinde bireyler kendilerinin toplumdan tecrit edilmiş olduğu duygusuna kapılıp yarınlarından umudunu yitirebilir. Gördükleri karşısında şaşkınlığa düşüp kendisini güçsüz hissedebilir. Genel çıkarları hemen bir yana bırakıp kendisinden gayrısını düşünmez hale gelebilir. Her gün yaşadıklarından ziyadesiyle memnun olmayanlar, işini pek fazlasıyla sevmeyenler, çevresinde olup bitenleri kontrolü altında bulunduramayanlar sistemin kendilerine verdiklerinden kolayca yüz çevirip imtiyazlı kesimler için bir tehdit unsuru haline gelebilirler. Bu potansiyel tehlikenin önünü alabilmek için bu insanların bize saldırmaya hazır düşmanların varlığına, devletin kendileri bu tehlikelerden koruduğuna, kendi vatanlarının cennet, karşı tarafın cehennem olduğuna inandırılmaları zarureti vardır. Keyfi yerinde olanlar, serveti ve gücü ellerinde bulunduranlar düzenin değişmesine rıza göstermezler, gerektiğinde gerektiği kadar kan dökmenten çekinmezler.

Bizim kendimiz için tayin ettiğimiz standartların nüfuz alanı kendi ülkemizle sınırlı kalmamakta, tüm dünyayı sarıp sarmalamaktadır. Mevcut gücümüz ve zenginliğimiz devam ettikçe bu durum değişmeyecektir de.

320 sayfalık kitabın genel ve hızlı bir özetini içeren bu bölümünü özellikle tercih etmemin asıl nedeni, üstadın bahsettiklerinin biraz fazla tanıdık gelmesiydi. Bu filmi izledik sanki ama...

Daha önce söz verdiğim gibi, bu günlük kaydına IPTables/Netfilter konusunda temel düzeyde bazı açıklayıcı bilgiler ekledim, umarım birilerinin işine yarar.

Bu arada, FrontSITE'da çalıştığım dönemde eğitim belgelerinde kullanılmak üzere hazırlanan örnek ağ şemalarından ve firewall script'lerinden birini kullanmama izin vererek bu belgeyi hazırlama süremi kısalttığı için Murat Koç'a teşekkürler.

İçindekiler:

Netfilter nedir?

Netfilter, en basit ifade biçimi ile 2.3 ve daha yeni Linux çekirdeği sürümleri içerisinde bulunan yetenekli ve yüksek performanslı NAT, filtering ve packet mangling sistemi olarak biliniyor.

Peki, IPTables nedir?

iptables, çekirdek içerisinde yer alan Netfilter sistemini userspace içerisinden denetlemek amacıyla kullandığımız araç ve yazılımın adı.

Bu ikisi sürekli birlikte anılıyor, farkları nedir?

Netfilter, Linux çekirdeği içerisinde sürekli olarak çalışır ve Linux sistem çağrıları (syscall) yoluyla yönetilir. IPTables ise, çekirdek içerisinde çalışan netfilter yapısını yönetmek amacıyla kullandığımız araç. Her ikisi de Netfilter projesi kapsamında, aynı kişiler ve gruplar tarafından geliştiriliyor. Buna karşın netfilter kodu resmi Linux çekirdeği ile birlikte gelirken, iptables adındaki araç ayrı bir yazılım ve kullanılan dağıtım tarafından sağlanıyor.

Temel kavramlar: IP paketinin yapısı

IP paketlerini mektup zarflarına kadar basitleştirecek olursak, temel anlamda bir IP paketi:


Şekil 1: Basit bir IP paketi

bu kadar basit algılanabilir (tabii gerçekte böyle değil, IP paketleri çok daha fazla bilgi içeriyor fakat şimdilik bu bölümlerle ilgilenmeyeceğiz). Bir IP paketini şimdilik yalnızca nereden geldiğini, nereye gitmek üzere gönderildiğini ve veriyi içeren bir mantıksal bir birim olarak düşünelim.

Nelerden bahsedeceğiz?

Bu belge içerisinde, yalnızca Netfilter'ın çok sık kullanılan NAT ve Filtering özelliklerinden bahsedeceğim; packet mangling ve bandwidth shaping gibi daha ileri düzey konulara şimdilik girmeyeceğim.

Ayrıca kullanıcı tanımlı kural zincirlerinin yönetimi, REJECT ve LOG target konularından ve paketlerin bağlantı durumlarına göre incelenmeleri gibi konulardan da detaylı olarak bahsetmeyeceğim.

Bu konulardan bahsetmeme nedenim, belgeyi olabildiğince basit ve giriş düzeyinde tutmak. Bahsetmediğim konular gelişkin bir güvenlik duvarı yapılandırması için değerli ve gerekli konular. Bu konularda vakit bulduğumda ayrıca geniş bir belge hazırlayacağım.

Netfilter nasıl çalışıyor?


Şekil 2: Netfilter, tablolar ve zincirler

Yalnızca NAT ve IP Filtering konularından bahsedecek olmanın verdiği rahatlıkla yukarıdaki şekli çizdim.

Netfilter temel anlamda iki farklı türden ve mantıksal olarak birbirine benzerlik gösteren işlemler gerçekleştiriyor. Bunlar:

  • NAT (Network Address Translation): IP paketlerinin kaynak veya hedef adreslerinin (IP adresi ve port numarası gibi bilgilerin) routing (ip paketinin bir arayüzden bir diğerine aktarılması işlemi) öncesinde veya sonrasında, çeşitli biçimlerde değiştirilmesi işlemine verilen genel ad. NAT işlemi, routing'den önce (PREROUTING) yapılırsa routing sürecinin davranışını etkiler. Routing'den sonra (POSTROUTING) yapılırsa, tahmin edebileceğiniz gibi, routing sürecinin davranışı bu durumdan etkilenmez.
  • Filtering: IP paketlerinin kaynak ve hedef adreslerinin tanımlanan çeşitli kriterlere göre geçişine/kabulüne izin verilmesi veya verilmemesi ile ilgili tüm işlemler filtreleme kapsamda anılır.

Haydi NAT yapalım

Bence ideal bir dünyada NAT olmamalıydı. Eğer herkese yetecek kadar çok IP adresimiz olsaydı ve her IP adresi için ek bedel ödemek gibi anlamsız koşullar olmasaydı, NAT gibi bir işleme gerek kalmazdı :) Her neyse, NAT var ve bunu kullanıyoruz. Bununla yaşamamız gerek.

NAT gibi süreçler, bir tek IP adresine sahip olduğunuz fakat bu IP adresini çeşitli hizmetler için ortak kullanmanız gerektiği durumlarda, belirli sınırlar çerçevesinde faydalı oluyor. En popüler senaryolardan bir tanesini açıklamak gerekirse, dial-up bir modem ile edindiğiniz bir IP adresiniz var ve aynı zamanda bu bilgisayara bağlı bir ethernet üzerinden yerel ağınızdaki diğer bilgisayarlarla iletişim kurabiliyorsunuz. Yerel ağınıza bakan ağ arayüzünün 192.168.1.1 olduğunu, modem bağlantınızdan edindiğiniz IP adresinin de 123.123.123.123 olduğunu varsayalım. IP dolaştırma (routing) etkin olsun (nasıl etkinleştirileceğinden bahsedeceğim).

Yalnızca IP dolaştırma yapılanmasının etkin olduğu durumda yerel ağdan (örneğin IP adresi 192.168.1.5 olan "Ahmet"'in bilgisayarından) gelen bir IP paketi; kaynak adresinde 192.168.1.5 bilgisi yer alacak biçimde Internet erişimimiz bulunan IP adresi üzerinden, değiştirilmeksizin iletilecek. Eğer bağlı bulunduğumuz ISP, IP dolaştırma sırasında özel bazı adresleri de yönlendirecek kadar dikkatsiz ise Ahmet'in Internet üzerinde bağlanmaya çalıştığı sunucuya kaynak adresi 192.168.1.5 olan bir IP paketi ulaşacak :) Ve karşıdaki sunucu da bu bağlantı isteğine vereceği tüm yanıtları 192.168.1.5 adresine göndermeye çalışacak, fakat başarısız olacak çünkü bildiğiniz gibi 192.168.0.0/24 gibi ayrılmış IP blokları Internet üzerinde kullanılmaz.

Bu durumda, Ahmet'in bağlandığı sunucunun yanıtları Ahmet'e gönderebilmesini sağlamak üzere, Ahmet'den gelen ve Internet yönüne doğru gidecek olan paketlerin hedef adreslerini, Internet'e bağlı bulunan sistemimizin Internet üzerindeki gerçek IP adresi ile değiştirmeliyiz ki Ahmet'in isteğine yanıt olarak gönderilecek IP paketleri Internet'e bağlı bulunan sistemimize kadar ulaşabilsin. Ayrıca, bu işlemi yapan sistemimiz hangi IP paketlerini nereden geldikleri ve nereye gittikleri gibi asıl bilgiler ile birlikte nasıl değiştirdiğini hatırlamalı ki yanıt niteliğinde gelen paketleri yerel ağımızdaki asıl hedeflerine (yani örneğimizde Ahmet'in bilgisayarına) tekrar, Internet üzerinden geliyormuş gibi gönderebilsin (stateful NAT). Bu işlem, basit bir NAT uygulamasıdır ve iptables kullanılarak tek satırlık ve birçok kişinin ne olup bittiğini anlamaksızın ezberlediği bir komut ile kolaylıkla gerçekleştirilebilir.

İlk bakışta görülebileceği gibi, NAT iki durumda yani iki farklı biçimde yapılabilir:

  • SNAT (Source NAT): IP paketlerinin kaynak (source) adreslerinin değiştirilmesidir. Yukarıdaki örnek basit bir SNAT uygulamasıydı. SNAT daima POSTROUTING (yani routing işleminden sonra) yapılır.
  • DNAT (Destination NAT): IP paketlerinin hedef (destination) adreslerinin değiştirilmesidir. DNAT daima PREROUTING (yani routing işleminden önce) yapılır.

Netfilter, daima stateful NAT yapar. Yani NAT yapılan her paketi ve TCP için paketlerin ilgili olduğu bağlantı oturumlarının durumlarını hatırlar.

Ayrıca, MASQUERADE adıyla bilinen özel bir SNAT türü var. Masquerading, sabit bir IP adresine veya sabit/güvenilir bir bağlantıya sahip olmayan sistemlerde kullanılması için tasarlanmış bir NAT türü. SNAT yerine MASQUERADE kullanıldığında, paketin hedef adresine, paketin sistemden ayrılacağı ağ arayüzünün IP adresi otomatik olarak yazılır (SNAT kullanıldığında paketin kaynak adresine yazılacak IP adresini belirtmek durumundasınız). Tek dezavantajı, SNAT'a kıyasla çok küçük performans kayıplarına neden olması. Ayrıca doğru kullanılmadığında ve küçük birkaç husus gözden kaçırıldığında MASQUERADE ile sisteminize küçük güvenlik açıkları oluşturmanız işten bile değil.

Şimdi örneğimizi tamamlayalım ve neler olup bittiğini açıklayalım:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

iptables aracını kullanarak çekirdek içerisindeki Netfilter modüllerinin yapılandırmasına bir kural ekleyerek değiştirmiş olduk ve belirttiğimiz kural, 192.168.1.0/24 ağından gelen ve ppp0 arayüzü yönüne gidecek olan (routing'den sonra NAT yaptığımız için bu bilgiye sahibiz) tüm IP paketlerinin kaynak adreslerine gönderilmeden önce otomatik olarak ppp0 arayüzünün IP adresinin yazılmasını sağladı. Bu sayede hedef sunucudan dönen yanıt paketleri bize ulaşacak ve Netfilter yanıt niteliğindeki paketleri tersi yönde otomatik olarak DNAT yapacak ve routing işleminden önce bu paketlerin hedef adreslerini değiştirerek yerel ağımızdaki kullanıcılara ulaşmasını sağlayacak (bu işlem için ayrıca bir kural eklememize gerek yok).

Aynı senaryoya bir özellik daha ekleyelim; Internet'e modem ile bağlı olan sistemimiz, Internet yönünden kendisine ulaşan HTTP (TCP port 80) isteklerini Ahmet'in 192.168.1.5 adresindeki bilgisayarına iletsin. Kuralımız:

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport http -j DNAT --to 192.168.1.5

Bu parametreler ne anlama geliyor? Nasıl kullanılıyor?

Netfilter, IP paketleri üzerinde yapılacak çeşitli işlem türlerini ve aşamalarını tablolar içerisinde gruplar. Bu belgede yalnızca nat ve filter tablolarından bahsedeceğiz. Bu tablolar içerisinde kural zincirleri bulunur (kural zincirleri sistem tarafından veya kullanıcılar tarafından gereksinimlere göre tanımlanır). Ayrıca her tablo, öntanımlı adı değiştirilemeyen ve silinemeyen belirli sayıda kural zinciri içerir, bunlar:

  • nat tablosu:
    • PREROUTING (DNAT için kullanılır).
    • POSTROUTING (SNAT için kullanılır).
    • OUTPUT (sistemin kendisi tarafından üretilen paketlere nat uygulanması için kullanılır).
  • filter tablosu ("iptables -t" ile ayrıca belirtilmezse öntanımlı tablodur)
    • INPUT (sistemin kendisine ulaşması için gönderilen paketlerin filtrelenmesi için kullanılır)
    • OUTPUT (sistemin kendisi tarafından üretilen paketlerin filtrelenmesi için kullanılır)
    • FORWARD (routing işlemi sırasında paketlerin filtrelenmesi için kullanılır)

Sık kullanılan parametrelerden bazıları:

Ad Kullanım biçimi Açıklama Örnek
Tablo seçimi -t <tablo_adi> iptables komutunun devamındaki parametrelerin hangi tablo üzerinde gerçekleştirileceğini belirtmek amacıyla kullanılır. -t nat
-t filter
Kuralları listele -L [<zincir_adi>] Bir tablodaki istenen veya tüm zincirlerde yer alan kuralları listeler. -L
-L POSTROUTING
Kuralları temizle -F [<zincir_adi>] Bir tablodaki istenen veya tüm zincirlerde yer alan kuralları temizler. -F
-F POSTROUTING
Öntanımlı davranış belirle -P <zincir_adi> <davranis> Bir tablodaki belirtilen zincirin öntanımlı davranış kuralını belirler. Zincirdeki diğer kurallarden herhangi biri tarafından işlenmeyen bir paket, öntanımlı davranış kuralında belirtilen işleme tabi tutulur. -P INPUT DROP
-P INPUT LOG
Kural ekle -A <zincir_adi> Bir tablodaki belirtilen zincir içerisine belirtilen parametrelere göre bir kural ekler. -A POSTROUTING
-A FORWARD
Kural sil -D <zincir_adi> Bir tablodaki belirtilen zincirde yer alan ve belirtilen parametrelerle bire bir aynı olan kuralı siler. -D POSTROUTING
-D FORWARD
Kullanıcı tanımlı zincir sil -X [<zincir_adi>] Bir tablodaki belirtilen veya tüm kullanıcı tanımlı zincirleri siler. -X benim_zincirim
-X

Paket seçimi için kullanılan parametreler:

Ad Kullanım biçimi Açıklama Örnek
Kaynak adresi -s [!] <adres> İncelenen paketin kaynak adresi, belirtilen adres ile örtüşüyor ise paket üzerinde belirtilen işlem gerçekleştirilir. -s 192.168.1.5
-s 192.168.1.0/24
Hedef adresi -d [!] <adres> İncelenen paketin hedef adresi, belirtilen adres ile örtüşüyor ise paket üzerinde belirtilen işlem gerçekleştirilir. -d 192.168.1.10
-d 192.168.2.0/24
Protokol -p [!] < tcp | udp | icmp | all > İncelenen paket belirtilen taşıyıcı protokol ile örtüşüyor ise paket üzerinde belirtilen işlem gerçekleştirilir. Öntanımlı değeri (belirtilmediğinde): "all" -p tcp
-p udp
-p icmp
-p all
Hedef port --dport [!] <port_no> İncelenen paketin hedef port adresi belirtilen port ile örtüşüyor ise paket üzerinde belirtilen işlem gerçekleştirilir. --dport 80
--dport ftp
Kaynak port --sport [!] <port_no> İncelenen paketin kaynak port adresi belirtilen port ile örtüşüyor ise paket üzerinde belirtilen işlem gerçekleştirilir. --sport ftp-data
--sport 53
Geliş arayüzü -i [!] <arayuz> İncelenen paketin geldiği ağ arayüzü belirtilen ağ arayüzü ile örtüşüyorsa paket üzerinde belirtilen işlem gerçekleştirilir. Bu bilgiye yalnızca routing işleminden önce veya routing işlemi sırasında yapılan denetimlerde erişilebilir. -i eth1
-i ppp0
Gidiş arayüzü -o [!] <arayuz> İncelenen paketin gitmek üzere olduğu ağ arayüzü belirtilen ağ arayüzü ile örtüşüyorsa paket üzerinde belirtilen işlem gerçekleştirilir. Bu bilgiye yalnızca routing işleminden sonra erişilebilir. -o ppp0
-o eth1

Ayrıca bu parametrelerin tümünde, belirtilecek değerden önce kullanılabilecek ünlem işareti (!), olumsuzluk belirtmek anlamında kullanılır. Örneğin, --dport ! 80 biçimindeki bir tanımın bulunduğu kural, hedef port adresi 80 olmayan tüm paketlere uygulanacaktır.

Çeşitli ifadelere göre seçilen paketlere nasıl bir işlem uygulanacağı -j parametresi ile belirtilir ve bahsi geçen kuralın bulunduğu tabloya göre değişiklik gösterir:

  • NAT tablosu için:
    Ad Kullanım biçimi Açıklama Örnek
    SNAT -j SNAT --to <adres[:port]> Sistemden ayrılmak üzere olan paketin kaynak adresini (ve belirtilmişse kaynak port numarasını) belirtilen adres (ve belirtilmişse port numarası) bilgisi ile değiştirir. Bu işlem yalnızca routing işleminden sonra gerçekleştirilebilir. -j SNAT --to 212.156.4.1
    -j SNAT --to 212.156.4.20:53
    -j SNAT --to 192.168.1.35:http
    DNAT -j DNAT --to <adres[:port]> Sisteme henüz gelmiş bir paketin hedef adresini (ve belirtilmişse hedef port numarasını) belirtilen adres (ve belirtilmişse port numarası) bilgisi ile değiştirir. Bu işlem yalnızca routing işleminden önce gerçekleştirilebilir. -j DNAT --to 192.168.1.5
    -j DNAT --to 212.156.123.123:10000
    MASQUERADE -j MASQUERADE Sistemden ayrılmak üzere olan paketin kaynak adresini, paketin sistemden ayrılacağı ağ arayüzünün adresi ile değiştirir. Bu işlem yalnızca routing işleminden sonra gerçekleştirilebilir. -j MASQUERADE
    REDIRECT -j REDIRECT --to <port> Sisteme henüz gelmiş bir paketin, iptables kurallarının çalıştığı sistem üzerindeki belirtilen port adresine yönlendirilmesini sağlar. -j REDIRECT --to 3128
  • Filter tablosu için:
    Ad Kullanım biçimi Açıklama Örnek
    ACCEPT -j ACCEPT Belirtilen paket seçimi parametrelerine uyan paketin geçişine izin verilir. -j ACCEPT
    DROP -j DROP Belirtilen paket seçimi parametrelerine uyan paket gözardı edilir, hiç alınmamış gibi davranılır. -j DROP
    REJECT -j REJECT Belirtilen paket seçimi parametrelerine uyan paket uygun bir ICMP hata paketi ile yanıtlanarak, reddedilir. Bu konuda daha detaylı bilgi için man iptables komutu verin. -j REJECT
    LOG -j LOG Belirtilen paket seçimi parametrelerine uyan paket sistem kayıtları içerisine kaydedilir. Bu konuda daha detaylı bilgi için man iptables komutu verin. -j LOG

Filtreleyelim!

Kısa bir senaryo, sistemimize SSH (tcp port 22) ile gelebilecek tüm bağlantıları kapatmak istiyoruz:

iptables -t filter -A INPUT -p tcp --dport ssh -j DROP

komutunu verdiğimizde, sistemimize herhangi bir ağ üzerinden SSH ile erişmek mümkün olmayacak, çünkü Netfilter paketlerin işletim sisteminin IP yığıtı içerisinde değerlendirmeye alınmasını engelleyecek ve gözardı edecektir.

Yeri gelmişken, daha önce bahsettiğim bir ipucunu kullanmak istiyorum. Son örneğimizde -t filter ile filter tablosunu ayrıca belirtmiştik, fakat -t parametresi belirtilmediğinde öntanımlı olarak zaten filter tablosu kullanılır, dolayısıyla bu ifade çok da gerekli değil.

Örneğimizi biraz geliştirelim; 192.168.1.5 dışında hiçbir yerden ssh kabul etmeyelim:

iptables -A INPUT -s ! 192.168.1.5 -p tcp --dport ssh -j DROP

Bir başka örnek, yerel ağdan gelmeyen tüm SSH isteklerini boşverelim:

iptables -A INPUT -i ! eth0 -p tcp --dport ssh -j DROP

Sanırım artık FORWARD zinciri ile de oynayabiliriz, yerel ağdan internet yönüne giden tüm SMTP iletişimini boşverelim örneğin (IP Forwarding'in açık olduğunu varsayıyorum):

iptables -A FORWARD -i eth0 -p tcp --dport smtp -j DROP

IP Forwarding nedir, nasıl çalıştırılır?

IP Forwarding, daha önce de belirttiğim gibi IP paketlerinin bir ağ arayüzünden bir diğerine aktarılması; yani IP paketlerinin bir fiziksel ağdan bir diğerine aktarılması işlemidir. Linux çekirdeği, bu işlemi gerçekleştirmek için gerekli tüm yapıyı barındırır ve aktif hale getirmek kolaydır:

echo 1 > /proc/sys/net/ipv4/ip_forward

IP Forwarding işleminin düzgün çalışabilmesi için, en az bir ağ arayüzüne (Linux çekirdeği sanal arayüzler arasında da IP Forwarding yapabilir) ve en az iki IP subnet'in routing tablosunda tanımlı olmasına gereksinim duyulur:

roadrunner:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.199.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.199.3   0.0.0.0         UG    0      0        0 eth1

Örnekteki routing tablosuna göre, 192.168.1.0/24 ve 192.168.199.0/24 ağları arasında IP Forwarding işlemi gerçekleştirilebilir. Ayrıca bir default gateway (0.0.0.0: bilinmeyen ağlara 192.168.199.3 yoluyla eth1 üzerinden ulaşılacağı anlamına gelir) tanımlı olduğundan, diğer tüm ağlara erişim buradan sağlanır. IP paketlerinin hangi ağlara yönlendirileceği, routing tablosu içerisindeki kayıtlara göre belirlenir.

Öntanımlı zincir kuralları

IPTables, tüm zincirler için öntanımlı bir davranış kuralı tanımlanmasına izin verir. Eğer bir IP paketi, ilgili zincir içerisindeki kurallardan herhangi biri tarafından ACCEPT yada DROP/REJECT biçiminde işaretlenmemişse, zincirin öntanımlı kuralı tarafından yakalanır.

Örneğin, filter tablosundaki FORWARD zincirinin öntanımlı kuralını DROP olarak değiştirecek olursak:

iptables -P FORWARD DROP

IP forwarding/routing sırasında, FORWARD zinciri içerisindeki kurallardan herhangi biri tarafından ACCEPT edilmeyen paketler, gözardı edilir. Özetle öntanımlı olarak tüm paketlerin forward edilmesini kapatmış oluruz, daha sonra FORWARD zincirine ekleyeceğimiz kurallarla da istisnalar tanımlayabiliriz:

iptables -P FORWARD DROP
iptables -A FORWARD -s 192.168.1.0/24 -o ppp0 -p tcp --dport ssh -j ACCEPT

Bu tanım sayesinde 192.168.1.0/24 ağı, ppp0 (Internet) yönüne yalnızca SSH protokolünü kullanarak erişebilir. Tabii NAT yapmazsak erişemeyecekler :)

Öneriler

Bu bölüme, iptables'i öğrenmeye başladığım günden bu yana edindiğim naçizane tecrübelerimi ve önerilerimi eklemek istedim.

  • Birşeyler yapmaya başlamadan önce, tüm ağınızın bir detaylı ve bir de basit haritasını çıkarın. Ağ bileşenlerini birbirine bağladığınız çizgilerin her iki ucunda birer ok olduğunu, verinin ve bağlantıların iki yönü olabileceğini unutmayın.
  • Önce herşeyi kapatın (öntanımlı zincir kurallarını kullanarak), daha sonra yalnızca ihtiyaç duyduğunuz portlara izin verin.
  • Zincirlere eklediğiniz kuralların mümkün olduğunca detaylı olmasına dikkat edin. Kaynak ve hedef adres/ağ, port, ağ arayüzü gibi çeşitli parametreleri birlikte kullanarak paket seçimini olabildiğince kesin biçimde belirtin.
  • Güvenliğin firewall'dan ibaret olmadığını aklınızda tutun. Kontrolünüzdeki Internet bağlantısı üzerinden yerel ağınıza erişimi engelleyebilirsiniz, ama kullanıcılarınızın kendi bilgisayarlarına modem bağlayıp Internet'e kendileri bağlanabileceklerini de hatırlayın. Güvenlik duvarınıza delik açmak veya arkasından dolaşmak için onlarca yol bulunduğunu bilin.

Kapsamlı bir firewall yapılandırması örneği

Önce örnek ağımızın neye benzediğine bir bakalım:


Şekil 3: Örnek ağ şeması

ve gereksinimlerimizi belirleyelim:

  • Yerel ağımızdaki (LAN: 192.168.1.0/24) kullanıcıların 192.168.1.1 adresindeki güvenlik duvarı üzerinden yalnızca HTTP (port 80) ile web sayfalarına ulaşabilmelerini istiyoruz.
  • Yerel ağımızdaki kullanıcıların DMZ (de-militarized zone, silahsızlandırılmış bölge: 10.0.0.0/8) içerisindeki dosya ve e-posta sunucularına yalnızca belirli portlardan ulaşabilmelerini istiyoruz.
  • Internet üzerindeki kullanıcıların, DMZ içerisindeki e-posta sunucusuna POP3 ve SMTP portları ile, ayrıca webmail için HTTP ile erişebilmelerini istiyoruz.
  • DMZ içerisindeki e-posta sunucusunun yalnızca SMTP portu ile Internet üzerindeki herhangi bir sunucuya ulaşabilmesini istiyoruz.
  • DMZ içerisindeki sunucuların LAN erişimi olmamasını istiyoruz.
  • Gayet tabii, Internet üzerinden LAN erişimi mümkün olmasın ve belirttiğimiz istisna dışında Internet üzerinden DMZ erişimi de mümkün olmasın istiyoruz.

Aşağıdaki shell script, gereksinimlerimizi karşılıyor olmalı:

01: #!/bin/sh
02: # Temizle
03: iptables -t nat -F
04: iptables -t nat -X
05:
06: iptables -F
07: iptables -X
08:
09: # NAT Kuralları
10: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 212.156.45.35
11: iptables -t nat -A POSTROUTING -s 10.0.0.0/8     -o eth1 -j SNAT --to 212.156.45.35
12: iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dports 25,80,110 -j DNAT --to 10.0.0.2
13:
14: # Filtering kuralları
15: iptables -P FORWARD DROP
16: # Internet üzerinden mail server erişimi izni
17: iptables -A FORWARD -i eth1 -p tcp -m multiport --dports 25,80,110 -d 10.0.0.2 -j ACCEPT
18: # Mail server'in Internet'e erişim izni
29: iptables -A FORWARD -i eth2 -s 10.0.0.2 -p tcp --dport 25 -o eth1 -j ACCEPT
20: # LAN -> Internet erisim izinleri
21: iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
22:
23: # LAN -> DMZ erişim izinleri
24: # Mail server
25: iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.2 -p tcp -m multiport --dports 25,110 -o eth2 -j ACCEPT
26: # File server
27: iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.3 -p tcp -m multiport --dports 139 -o eth2 -j ACCEPT
28: iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.3 -p udp -m multiport --dports 137,138 -o eth2 -j ACCEPT
29:
30: # Tüm gelen bağlantıları yasakla
31: iptables -P INPUT DROP
32:
33: # Loopback'den gelen bağlantıları kabul et
34: iptables -A INPUT -i lo -j ACCEPT
35: # SSH bağlantılarını yerel ağdan kabul et
36: iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
37: # Internet yönünden gelen SSH bağlantılarını kabul et
38: iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT

1. satır, bu dosyanın bir shell script olduğunu belirtmek için kullanılıyor. 3. ve 4. satırlar, NAT tablosu içerisindeki tüm kuralları ve kullanıcı tanımlı zincirleri silecek. 6. ve 7. satırlar bu işi Filter tablosu için yapacak. 10. satır, LAN -> Internet yönünde gidecek olan paketlere SNAT uygulayarak yerel ağdaki kullanıcıların Internet'e bağlanmasını sağlayacak. 11. satır, DMZ -> Internet yönünde erişimi SNAT ile sağlayacak. 12. satır, Internet üzerinden TCP port 25 (smtp), 80 (http) veya 110 (pop3) ile gelen kullanıcıların DMZ içerisindeki e-posta sunucusuna yönlendirilmelerini sağlayacak. 15. satır, filter tablosundaki FORWARD zincirinin öntanımlı kuralını DROP olarak değiştirecek, böylece öntanımlı olarak tüm routing işlemlerini kapatmış olacağız. Diğer satırlarda tanımlanan istisnalarla gerektiği kadarını açacağız. Diğer satırlar sanırım yerince açıklama içeriyor :)

Bu belgeyi hazırlamak biraz zamanımı aldı ve örneği istediğim kıvama getirmek için yeterince zaman bulamadım, önerilerinize açığım. Umarım birilerinin işine yarar.

İyi eğlenceler,

Wed, 10 Nov 2004

Chris Brunner has set up a Planet to aggregate blogs from Iraqi and related people.

Tue, 09 Nov 2004

As some of you may already know, Firefox reached 1.0 today. I think I have some words to spend on this. I'll try to spell less about Microsoft.

Firefox, which started as a split of Mozilla Browser is based on the decade-old Netscape browser code which Mozilla Foundation inherited from AOL.

If you're old enough to remember Microsoft's inclusion of Internet Explorer to Windows 98 followed by the reaction of Netscape; you'd remember how Microsoft killed it on Windows. Though it was able to survive on Unix-like deployments, Netscape lost the market. That's what happened.

To be able to fully replace Netscape Communicator Suite (browser, mailer, newsgroups-reader, full-featured HTML composer and such), Microsoft had to invent Outlook Express and Frontpage Express. You're right, they were stripped-down versions of the same names. And yes, you were getting them for free with your copy of Windows. (I didn't say they were good or bad or anything, I just tell you they were there even if you have installed nothing along with your Windows.)

Now that you know about the story a little bit more, it seems like Netscape returns with a new face. Now a lot stronger, Firefox is in the battlefield.

By the way, I never liked Opera at all. Not that it's based on the legendary Qt widget set, it merely sucks in the usability area. Here is the rule: showing-off every single feature the software has doesn't make it any better. It goes very well along with KDE and Gentoo, if you like espresso with sugar and cream. (No flames, I'm just being honest.)

Sun, 07 Nov 2004

Natasha Bedingfield's new album, Unwritten is out. Although I like ethnic music better, this is worth ordering.

If you GNOME guys are getting addicted to the Firefox' smooth-scrolling feature (which is more of a GRE thing than Firefox) and would love to have it in Galeon or Epiphany, here is your trick. You owe me a good coffee (but not one of these):

  • Fire-up your favorite GRE-based browser.
  • Go to about:config (no typos here, that's exact URL)
  • Find general.smoothScroll set it to true
  • You're done.

Enjoy!

PS: I'm serious about the coffee.

Thu, 04 Nov 2004

Michael D. Alder'in "An Introduction to Complex Analysis for Engineers" adlı kitabını okumaya başladım, 1 yıldan fazla bir süredir bir türlü bitiremediğim Noam Chomsky'nin "Terörizm Kültürü" adlı kitabının yanında.

İlk birkaç sayfadan eğlencelikler aktarmak istiyorum. Matematik ağırlıklı kitaplar arasında bu kadar keyifli bir başlangıca sahip bir kitap daha görmediğimi itiraf etmeliyim:

Chapter 1: Fundamentals

1.1: A Little History

If complex numbers had been invented thirty years ago instead of over three hundred, they wouldn't have been called 'Complex Numbers' at all. They'd have been cavlled 'Planar Numbers', or 'Two-dimensional Numbers' or something similar, and there would have been none of this nonsense about 'imaginary' numbers. The square root of negative one is no more and no less imaginary than the square root of two. Or two itself, for that matter. All of them are just bits of language used for various purposes.

'Two' was invented for counting sheep. All the positive integers (whole numbers) were invented so we could count things, and that's all they were invented for. The negative integers were introduced so it would be easy to count money when you owed more than you had.

The rational numbers were invented for measuring lengths. Since we can trnasduce things like voltages and times to lengths, we can measure other things using the rational numbers, too.

The real numbers were invented for wholly mathematical reasons: it was found that there were lengths such as the diagonal of the unit square which, in principle, couldn't be measured by the rational numbers. This is of not the slightest practical importance, because in real life you can measure only to some limited precision, but some people like their ideas to be clean and cool, so they went off and invented the real numbers, which included the rationals but also filled in the holes. So practical people just went on doing what they'd always done, but Pure Mathematicians felt better about them doing it. Daft, you might say, but let us be tolerant.

This has been put in the form of a story:

A (male) Mathematician and a (male) Engineer who knew each other, had both been invited to the same party. They were standing at one corner of the room eyeing a particularly attractive girl in the opposite corner. 'Wow, she looks pretty good,' said the Engineer. 'I think I'll go over there and try my luck.'

'Impossible, and out of the question!' said the Mathematician, who was thinking much the same but wasn't as forthright.

'And why is it impossible?' asked the Engineer belligerently.

'Because,' said the Mathematician, thinking quickly, 'In order to get half of the rest of the distance, and then half of that. Ans so on; in short, you can never get there in a finite number of moves.'

The Engineer gave a cheerful grin.

'Maybe so,' he replied, 'But in a finite number of moves, I can get as close as I need to be for all practical purposes.'

And he made his moves.

* * *

The Complex Numbers were invented for purely mathematical reasons, just like the Reals, and were intended to make things neat and tidy in solving equations. They were regarded with deep suspicion by the more conservative folk for a century or so.

It turns out that they are very cool things to have for 'measuring' such things as periodic waveforms. Also, the functions which arise between them are very useful for talking about solutions of some Partial Differential Equations. So don't look down on Pure Mathematicians for wanting to have things clean and cool. It pays off in very unexpected ways. The Universe also seems to like things clean and cool. And most supersmart people, such as Gauss, like finding about Electricity and Magnetism, working out how to handle calculations of orbits of asteroids and doing Pure Mathematics.

In these notes, I am going to rewrite history and give you the story about Complex Numbers and Functions as if they had been developed for the appli- cations we now know they have. This will short-circuit some of the mystery, but will be regarded as shocking by the more conservative. The same sort of person who three hundred years ago wanted to ban them, is now trying to keep the confusion. It's a funny old world, and no mistake.

Devamı da hayli keyifli gidiyor, ama özellikle bu bölümü paylaşmak istedim.

İyi eğlenceler!

Wed, 03 Nov 2004

I am a potential killer. It is very easy to drive me nuts and I can kill with no hesitation at a decent anger level.

Not a quiz result nor a joke. I'm serious.

Mon, 01 Nov 2004

“Çalışmadan, yorulmadan, öğrenmeden, rahat yaşama yollarını aramayı itiyat haline getirmiş milletler, evvela haysiyetlerini, sonra hürriyetlerini ve daha sonra istiklallerini kaybetmeye mahkumdurlar.”

M. Kemal ATATÜRK

Bu cümleyi Marmara Üniversitesi Fen Bilimleri Enstitüsü'nün sayfasında gördüm. Üzerinde biraz düşündüm. Herkes düşünsün istedim, buraya da yazdım. Benden 100 yıl önce doğmuş, 10 Kasım'da ölümünün üzerinden 66 yıl geçmiş değerli asker, düşünür, devlet adamı ve tarihçiye tekrar tekrar saygı duydum.

About me

I'm Enver ALTIN. I'm from the other side of the river.

Calendar

November 2004
SuMoTuWeThFrSa
  1 2 3 4 5 6
7 8 910111213
14151617181920
21222324252627
282930    

Categories

/ (398)
  articles/ (1)
  books/ (8)
  coffee/ (1)
  construia/ (2)
  debian/ (1)
  events/ (13)
  factsoflife/ (15)
  general/ (9)
  gnome/ (16)
  humor/ (21)
  lkd/ (9)
  management/ (1)
  mobile/ (6)
  mono/ (4)
  music/ (8)
  personal/ (47)
  politics/ (31)
  postgresql/ (4)
  programming/ (12)
  projects/ (2)
  quotes/ (3)
  technology/ (10)
  tips/ (7)
  travel/ (2)
  work/ (13)

Archives

Links

Popular

Talk slides

Other stuff

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

Miscellaneous

This site is built on the wonders of Pyblosxom, supposed to be W3C XHTML 1.0 and CSS 1.0 compliant, always handcoded using Vim. The server that hosts this site is powered by Debian GNU/Linux.
.O.
..O
OOO