Tokens — Page 70

Debsums

Debsums ile Debian sisteminizde kurulu olan programların gerçekten istenilen programlar olup olmadığına bakabiliyorsunuz. Bu bir seviye güvenlik sağlıyor size, mesela bir sorun sonrası dosyaların bozuk olup olmadığını kontrol edebilirsiniz ve bazı düşük profilli saldırılarda, sisteminize sızmalarda yardımcı olabilir. Dosyaların doğru olup olmadığını anlamak için MD5 toplamlarını dpkg veritabanındaki (/var/lib/dpkg/info/*.md5sums dosyaları) listelerle karşılaştırıyor. Dolayısıyla eğer sisteminize sızan kişi bu listeyi değiştirirse sızmaları farketmenizin pek imkanı yok.

# aptitude install debsums
# debsums -s


Buna benzer başka bir program da tripwire. O da başka bir yazımıza artık. Herkese güvenli günler :)

Pirüs Zaferi

Geçenlerde gazete okurken Pirüs Zaferi’ne gönderme ile karşılaştım. Ne olduğunu bilmiyordum, internette nasıl arama yapmam gerektiğini de (orijinal yazılışını bilmediğimden). Neyse ki Vikipedi’de Pirüs Zaferi ile ilgili bilgi varmış. Pirüs zaferi deyimi kazanana çok büyük zarar veren zaferler için kullanılıyormuş. Tarihte Yunan kralı Pirüs Romalılara karşı M.Ö. 280 yıllarında bir savaş yapmış, savaşı kazanmasına rağmen çok büyük kayıplar vermiş. Söylendiğine göre savaştan sonra onu tebrik eden askerlerinden birine
<blockquote>Bu şekilde bir zafer daha ve işim biter.</blockquote>
anlamına gelen o ünlü cümlesini söylemiş.

Tarih ve kültür gerçekten çok ilginçler :)

Değişim

Dünyada son 10-20 yıldır çok büyük bir değişim yaşanıyor. Bu öyle bir değişim ki herkesi bir şekilde etkiliyor. Öyle görünüyor ki bu değişim çok daha hızlanarak sürecek. Eğer geleceğe hazırlıklı olmak istiyorsak, geleceğin neler getireceğini tahmin etmek ve ona uygun davranmak gerekiyor.

İnternette bulduğum, “değişim” ile ilgili güzel bir sunu:

Sistem Yöneticiliği ve Özgür Yazılım

Sistem Yöneticiliği ve Özgür Yazılım


Tayfun Şen


Anahtar kelimeler: esnek, güvenli, güçlü, ücretsiz, geliştirmeye açık. port knocking, ossec, snort, iptables. nagios, ganglia, mrtg. genel web uygulamaları için apache, mysql (LAMP mimarisi icinde), postgreSQL. yedekleme için amanda, tar, gzip. mail icin sendmail, clamav, bogofilter, spamassassin. yuk dengeleme için heartbeat.


Sistem yöneticisi farklı bilgisayar sistemlerini ve çeşitli ağ donanımlarını ve bunların üzerinde çalışan programları kurmak, en iyi çalışacak şekilde ayarlarını yapmak, güncellemeler dahil bakımlarını yapmak, yedek almak ve sorunlarda hızlıca çözüme ulaşmakla, kısacası bu sistemlerin amaçları doğrultusunda en iyi hizmeti vermelerini sağlamakla görevlidir. Sistem yöneticisi farklı sistemlerde çalışan oldukça geniş yelpazedeki programların en iyi hizmet vermelerini sağlamaya çalışır. Bu durumda doğal olarak en hızlı ve etkin çözüme ulaşmak onun için büyük önem taşır. Özgür yazılım dünyası sistem yöneticisine herhangi bir sistemi en iyi şekilde yönetmek için gerekli olan gücü ve esnekliği verebilmektedir. Bu, bin kullanıcılı görece daha az önemli sunucular için de geçerlidir, on binlerce kullanıcıya hizmet vermekle sorumlu olan ve binlerce çekirdeğe sahip bir süper bilgisayar için de.


Özgür yazılım dünyası, kaynak kodunun açık olması ve isteyen herkesin geliştirebilme şansına sahip olması nedeniyle çok büyük bir esnekliğe sahiptir, yapmak istediğiniz bir iş için büyük bir olasılıkla birden fazla iyi ve gelişmiş yol vardır. Bu yazıda özgür yazılım dünyasının sistem yöneticisine ne gibi kolaylıklar sağladığından bahsedecek, onun elinin altında bulunan çeşitli yazılımları anlatacağım.


Yazımın ana kısmına geçmeden önce söylemem gerekiyor, hemen hemen benzer işleri yapan bu programların hangilerini seçeceğiniz size bağlı. Anlatılan yazılımların size ne kadar uygun olduğunu en iyi belirleyecek olan kişi, kaynaklarınızı ve ihtiyaçlarınızı en iyi bilen kişi olarak sizsiniz. Kaynak olarak öncelikle önemli olanlar donanımlarınız, insan kaynağınız (çalışan sayınız ve ayırabilecekleri zamanın bileşimi [1]) ve elinizdeki bütçeniz. Hangi yazılımı seçmeliyim konusuna geldiğinizde yazılımların artı ve eksilerini değerlendirin ve ihtiyaçlarınıza en uygun yazılımı seçin. İleride daha deneyimli olduğunuzda geri dönüp bir diğer programa geçebileceğinizi de aklınızdan çıkarmayın.


İşletim Sistemleri:

Özgür yazılım dünyasında işletim sistemi seçenekleri daha çok BSD serisi işletim sistemleri ile çeşitli Linux dağıtımları arasında. Bu işletim sistemleri temel olarak aynı işleri yapmalarına rağmen bazı konularda farklı dünya görüşlerine (veya önceliklere) sahipler. BSD serisinden OpenBSD güvenlik konusuna fazladan önem verirken FreeBSD ise performans ve kararlılık üzerine kendilerine güveniyorlar. Örneğin OpenBSD 10 yıldan fazla bir süredir varsayılan kurulumda sadece iki açık çıktığı ile övünürken [2] FreeBSD ise en fazla süredir ayakta kalan sunucuları ile övünüyor [3].


Peki Linux bunun neresinde yer alıyor? En fazla kullanılan “özgür” işletim sistemleri Linux sistemler. Hem BSD hem de Linux sistemler UNIX türevi oldukları için yaptıkları iş de büyük ölçüde benziyor. Linux’un kendi içinde yüzlerce dağıtımı var. Bunlardan en çok bilinenler arasında Debian, Ubuntu, Red Hat ve son zamanlarda özellikle aktif olarak TÜBİTAK-UEKAE tarafından geliştirilen Pardus dağıtımı var. İşletim sistemi çekirdeği aynı olsa da sistemin bazı noktaları farklı, örneğin işletim sistemi ön-yükleme programı veya paket yönetimi gibi. Her dağıtımın kendine has özellikleri var. Örneğin ev kullanıcıları daha çok Ubuntu’yu tercih ederken, sunucu sistemlerde Debian, çok çekirdekli devasa küme bilgisayarlarda ise Red Hat tabanlı bir dağıtım daha çok tercih edilebiliniyor. Bu konuda hangi dağıtımı seçeceğiniz konusuna siz karar vereceksiniz, çok bilinen ve desteklenen bir dağıtımı seçmeniz sorunlarınızı daha hızlı çözmeniz açısından yararlı olacaktır.


Güvenlik uygulamaları:

Özgür yazılım dünyasında güvenlik en önem verilen konular arasında. Herhangi bir programdaki açık en hızlı bir şekilde kapatılıyor ve bu bazı ticari firmaların güvenlik duyurularından daha hızlı oluyor. İşletim sistemi ve programlar bazında da pek çok güvenlik mekanizması bulunuyor. iptables gibi durum bilgisi tutabilen bir güvenlik duvarını yalın bir halde kullanabileceğiniz, üzerine kuralları kendiniz yazabileceğiniz gibi iptables üzerine yazılmış arayüzleri (örneğin Shorewall [4]) de kullanabilirsiniz. Bunlar dışında, saldırı tespitinde uzmanlaşmış snort [5] veya ossec [6] gibi programları da kullanarak çok önem verdiğiniz güvenliğinizi sağlama alabilirsiniz.


Özgür yazılım dünyası çok esnek ve güçlü, bunu güvenlik uygulamalarında da görebiliyoruz. Örnek olarak iptables kullanarak güvenlik mekanizmanızı bir kat daha arttırabilirsiniz. iptables ile belirli portları açıp kapatabilmenizin yanında port knocking [7] yöntemini kullanarak ek bir güvenlik katmanı daha ekleyebilirsiniz. Aslında yapabilecekleriniz biraz da sizin hayal gücünüze kalmış.


Posta sunucusu:

Klasik bir e-posta sunucusu kurmak da özgür yazılım dünyasında çok rahat. Bilgisayarınıza sendmail, postfix veya exim gibi posta sunucusunu, clamav gibi bir antivirüs çözümünü ve istenmeyen postalar ile savaşmak için öğrenebilen bogofilter veya modüllerle ek özellikler ekleyebileceğiniz spamassassin gibi programlar kurarak tam bir sunucu sahibi olabilirsiniz.


LAMP Mimarisi:

Bir genel ağ uygulaması sunacaksanız uzun zamandır en önemli yardımcınız Linux-Apache-MySQL-PHP takımı idi. Son yıllarda özellikle Web2.0 ile birlikte Ruby on Rails ve Phyton gibi nesneye yönelik ve hızlı uygulama geliştirme ortamları ortaya çıksa da PHP halen en çok kullanılan ağ uygulaması geliştirme dili. Son katmanda hangi dil kullanılırsa kullanılsın LAMP mimarisinin diğer elemanları, Linux, Apache ve MySQL ise halen çok kullanılıyorlar. En güçlü olması beklenen uygulamalarda bile Linux işletim sistemi, Apache web sunucusu ve MySQL veri tabanı size iyi bir performans sunacaklardır. Apache halen dünyanın en çok kullanılan web sunucusu durumunda [8], %58’lik pazar payı ile en yakın rakibi Microsoft IIS’i neredeyse ikiye katlamış (MS sunucuları %31 pazar payına sahip). Apache oldukça kararlı ve performansı yüksek bir web sunucusu, ayrıca eklenebilen onlarca modülü de Apache sunucusuna başka sunucularda olmayan özellikler ekleyebiliyor. MySQL kolay kullanımı ve yaygın desteği sayesinde açık kaynak kodlu veritabanları arasında özel bir yere sahip. Yine veritabanı yazılımları arasında, özellikle ileri seviye kullanıcı kitlesini kendisine çeken, daha uzman ayarları olan postgreSQL de mySQL’i yakından izliyor.


Nagios/Ganglia/Cacti gibi sunucu izleme yazılımları:

Sunucularınızı kontrol etme işini sunuculara tek tek bağlanıp işlemci yük durumlarını, disk doluluklarını, üzerindeki işlemlerin devam edip etmediğini kontrol ederek yapabilirsiniz. Veya tüm bu işleri otomatikleştiren açık kaynak kodlu onlarca yazılımdan birini kurabilirsiniz. Bu yazılımlar sizin için sunucuya bağlanıp yük, disk durumunu sorabilir veya bir hizmete bağlanıp hizmetin çalışıp çalışmadığına bakabilir. Bu alanda da seçenekler oldukça fazla. Bu tür yazılımlar çoğunlukla bir web sayfası aracılığıyla size özet bilgiler sunabilirler veya bir sorun durumunda size posta ile veya başka bir yolla haber verebilirler. Geçtiğimiz günlerde internette rastgeldiğim Pingdom [9] adlı bir site bu ücretsiz ve özgür yazılımların yaptığı işi aylık bir ücret karşılığı yapıyor. Bu da pek çok özgür yazılımda karşılaşılan ilginç bir durum.


Yedekleme programları:

Sisteminizi ne kadar kararlı yaparsanız yapın bir gün önceden tahmin etmediğiniz bir sorunla karşılaşabilirsiniz. İşte bu zamanlarda günü kurtarmak için yedekler imdadınıza koşacak. Bir diskinizdeki birkaç dosyayı tar [10] ve gzip programları yardımıyla başka bir diskte yedeklemekten tutun amanda [11] programı yardımıyla tüm senenin her gününde birden fazla sunucunuzdaki disklerinizi LTO teyplere yedeklemeye varıncaya kadar her zorluktaki işleriniz için özgür yazılım dünyasında seçenekleriniz bol.


Güçlü bir kabuk, çeşitli yardımcı programlar ve esnek yönetim:

Kabuk betikleri, perl betikleri ve açık kaynak kodlu binlerce program özgür yazılım dünyasında size başka hiç bir yerde bulamayacağınız esnekliği ve gücü veriyor. İşletim sisteminde yaptığınız herhangi bir işi otomatize etmenize yardımcı olan bu programlar onlara alıştıktan sonra büyük bir iş yükünü üzerinizden alıyorlar.


Lisanslar, destekler:

Pek çok özgür yazılım isteğe bağlı olarak ticari desteklerle de gelebiliyor. Bu sayede kullanacağınız insan gücünü daha düşük bir seviyeye indirebilirsiniz. Ticari desteklerle ilgili daha fazla bilgiyi destek almak istediğiniz yazılımların internet sayfalarında bulabilirsiniz. Tabii ticari destek almayıp kullanıcı topluluğu yardımıyla işlerinizi götürmeniz de her zaman mümkün. Özgür yazılım dünyasında size yardım etmek isteyen birilerini her zaman olacaktır.


1 Bkz. ay adam ölçeği.

2 Kaynak OpenBSD web sayfası: http://www.openbsd.org/

3 Ortalama ayakta kalma süreleri bilgisi Netcraft firmasının http://uptime.netcraft.com/up/today/top.avg.html adresinden edinilebilinir.

4 Shorewall anasayfası için: http://www.shorewall.net/

5 http://www.snort.org/

6 http://www.ossec.net/

7 Daha fazla bilgi için, Vikipedi sayfası: http://tr.wikipedia.org/wiki/Port_knocking

8 Web sunucu istatistikleri Mayıs ayı Netcraft raporundan alınmıştır: http://news.netcraft.com/archives/2007/05/01/may_2007_web_server_survey.html

9 Sitenin anasayfası için: http://www.pingdom.com/

10 http://en.wikipedia.org/wiki/Tar_%28file_format%29

11 http://www.amanda.org/



Tayfun Şen, lisans diplomasını ODTÜ Bilgisayar Mühendisiğinden aldıktan sonra aynı bölümde Yüksek Lisans’a başladı. Aynı zamanda ODTÜ Bilgi İşlem Daire Başkanlığı’nda Sistem Yöneticisi olarak çalışmaktadır. e-posta: tayfun.sen {at} ceng.metu.edu.tr
Bu yazı EMO Özgür Yazılım Dosyası için yazılmıştır.

Fisher - Breakable

Eski bir şarkı. Charles Dickens’in aynı adlı kitabından uyarlanan Büyük Umutlar film müziği içinde. Kitap da film de harikaydı bence. Fazla uzatmadan sözleri de ekleyip size şarkıyı dinlemeyi bırakıyorum.


</embed>


Fisher - Breakable

Do you always have to tell him everything
On your mind?
You know that too much honesty can be
So unkind
And every time you throw him to the floor
Why are you surprised to see he's breakable?
You always try to find what's holding him
Away from you
But do you ever see your anger standing there
Right between you?
And every time you throw him to the wall
Why are you surprised to see he's breakable?
Tell the world that he's breaking your heart
Go tell the world nothing's ever your fault
Go tell them all
And every time you throw him to the floor
Why are you surprised to see he's breakable?
And every time you push him to the wall
Why are you surprised to see he's breakable?