Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi

advertisement
Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?
Feyza Eryol, Altay Ş. Özaygen
ODTÜ Bilgi İşlem Dairesi Başkanlığı
Teknik Destek Grubu
Özet
Bu makalede ODTÜ Bilgi İşlem Dairesi Başkalığı'nda sistem yönetiminde ve etkileşimli servislerde kullanılan Özgür ve Açık Kaynak Kodlu yazılımlar tanıtılacaktır. Ele alınacak başlıklar, e­posta, web,alan adı, ftp, yazıcı sistemleri, PC yığını (cluster), yedekleme sistemi, sistem yönetim uygulamaları ve son kullanıcı yönetiminde kullanılan uygulamalardır.
Giriş
ODTÜ Bilgi İşlem Dairesi Başkalığı yaklaşık olarak 35.000 kişilik kullanıcı kitlesine hizmet vermektedir. Bu orta yoğunluktaki yük için sistem yönetiminin birçok alanında özgür ve açık kaynak kodlu yazılımlar kullanmaktadır. Bu yazılımların birçok avantajı çeşitli makalelerde dile getirilmiştir. Ancak özetlenirse bu yazılımların sistem yönetiminde en başta seçim özgürlüğü ve şirket bağımsızlığı getirmesinin yanısıra hızlı geliştirme ve hata ayıklama süreçlerine sahip olması genelde dile getirilen ücretsiz olmalarını geride bırakmaktadır. Ayrıca bütün bu avantajlar kamu birimlerinde kısıtlı kaynaklarının da daha verimli kullanımına olanak sağlamaktadır.
E­posta Altyapısı
Geçmişinin diğer yazılımlara göre daha köklü olmasından dolayı en popüler e­posta taşıma araçlarında biri SENDMAIL'dir. Bu yazılım yanısıra uluslararası kullanıma bakıldığı zaman POSTFIX uygulaması da sık kullanılan e­posta sunucuları arasında yer almaktadır. POSTFIX ile SENDMAIL arasındaki temel fark, POSTFIX uygulamasının yapılandırılmasının daha rahat biçimde düzenlenebilmesi ve mesaj kutusu yapısının yanı sıra dizin yapısı kullanılarak da çalıştırılabilmesidir.
Her iki uygulama da açık doğrudan merkezi spam ve virüs filtreleri ile birlikte çalışabilmektedir. Bu da kullanıcılarına açık kaynak kodlu uygulamaları kullanarak e­
posta sunucusu tarafında doğrudan virüs ve spam filtrelemesi yapılmasına olanak sağlamaktadır. 1
E­posta altyapısı e­posta okuma araçları tarafından bakılmak istenirse, bir çok POP/IMAP istemcisinin yanısıra POP/IMAP sunucuları da mevcuttur. Bu sunucular günümüz şartlarında SSL desteği ile birlikte çalıştırılabilmektedir. Bu uygulamaların bir kısmı kendi bünyesinde doğrudan SSL desteği bulundurabilirken, bir kısmı da STUNNEL uygulaması yardımı ile SSL biçimde çalıştırılabilmektedir. ODTÜ BİDB e­
posta sunucusu olarak SENDMAIL, POP/IMAP sunucusu için de Washington Üniversitesi'nin geliştirdiği uygulamayı kullanmaktadır. POP/IMAP servisinin SSL destekli çalıştırılabilmesi için OpenSSL kütüphanelerinden yardım alarak STUNNEL yapılandırması mevcuttur. Ayrıca e­posta kullanıcıları arasında çok yaygın birşekilde kullanılan Web tabanlı e­posta istemcileri olarak da ROXEN web sunucusu üstünde çalışan IMHO ve 2005 Kasım ayında devreye giren ve Türkçeleştirilmesinde ODTÜ BİDB tarafından katkıda bulunulan, APACHE web sunucusu üstünde çalışan HORDE uygulama grubu kullanılmaktadır. Virüs temizleme işlemleri için ClamAV ve istenmeyen postaların (SPAM) ayıklanması için de Bogofilter kullanılmaktadır. E­posta listeleri ise Mailman'e geçirilmektedir. Bu yapıda, ODTÜ BİDB olarak günlük yaklaşık 72,000 adet e­posta kabul edilmekte, bu e­posta iletişiminde toplam 3.6GB veri alımı yapılmaktadır. Bu 72.000 adet e­postanın %37'si SPAM olarak işaretlenmektedir. Doğrudan bu istatistiklere dahil olmayan, günlük ortalama 42,500 virüslü e­posta geri çevrilmektedir.
Web tabanlı e­posta istemcilerimizi günlük 7300 ayrı kullanıcımız kullanmakla birlikte, günlük ortalama 15,402 IMAP isteği ve 49,000 POP isteği gelmektedir. Bu isteklerin %10'luk kısmını IMAPS/POPS kullanan kullanıcılar oluşturmaktadır.
Web Sunucuları
Web sunucularda en yaygın olarak kullanılan GKL lisanslı APACHE'dir. APACHE2 sürümü ile birlikte multi­thread özelliği APACHE sunucusunun daha verimli kullanımını sağlamaktadır. Bunun yanı sıra, ODTÜ BİDB bünyesinde IMHO web tabanlı posta istemcisi için çalıştırılan ROXEN sunucusu ve diğer web hizmetlerinde APACHE suncusu kullanılmaktadır. Özellikle APACHE web sunucusunda, gerekli yapılandırma parametreleri düzgün ayarlandığı durumda günlük ortalama 4 milyon istek geldiğinde tek işelmcili 2GB bellekli bir sunucuda, sunucunun yükünü artırmadan isteklere hızla yanıt verebilmektedir. Web sunucularının istatistiklerinin geçmişe yönelik tutulabilmesi için de Webalizer uygulaması kullanılabilir. Webalizer sayesinde web sunucusunun günlük, aylık, yıllık istatistiklerine web aracılığı ile sahip olunabilmektedir. Özellikle Web kullanıcılarına da hizmet veren bir altyapıya sahip bir Bilgi İşlem'de web kullanım grafikleri tanımlanan sanal sunucular için önem kazanmaktadır.
2
İşletim Sistemleri
Birçok Linux ve BSD türevi etkileşimli kullanıcı servisi verilen sunucularda kullanılabilmektedir. ODTÜ olarak, ağ yöneticilerimizin kullandığı BSD türevlerinin dışında sistem yönetimi için kullanılan özgür ve açık kaynak kodlu işletim sistemi Linux'tur. Genelde tercih edilen dağıtım ise Debian GNU/Linux'tur. Bilimsel hesaplamalar ve paralel programlama için kullanılan PC yığını için de Debian GNU/Linux dağıtımı üstüne Open/Mosix yamaları yapılmıştır. Sistem servislerinde kesinlikle güvenliğine hakim olunan bir Linux dağıtımı tercih edilmelidir.
Yedekleme Sistemi
Yedekleme Sistemleri denildiği zaman ilk akla gelen bir çok firma tarafından üretilmiş olan yedekleme üniteleridir. ODTÜ BİDB olarak bu şekilde bir sistemin donanımı ve berabrinde uygulamasını satın almak yerine Maryland Universitei'nde geliştirilen Amanda uygulamasını kullanılmaktayız. Amanda yazılımı, bir yedekleme sunucusu üstünden yerel ağda bulunan birden fazla sunucunun yedeklerini artan biçimde alabilmektedir. Amanda yazılımı ile UNIX türevi sunucuların hepsinin yedeğini almakla birlikte, artan ölçüde yedek alınabilmesi kullanılan teyp kartuşu donanımlarından da kar sağlamaktadır. Sistem Yönetim Birimleri
Bütün sunucuların üzerlerinde çalışan servisleri, yük dağılımlarını, bellek kullanımlarını ve benzeri bir çok özelliğini kontrol edebilmek ve sürekli gözlem altında tutabilmek için web arayüzü ile çalışabilen GANGLIA ve NAGIOS yazılımları kullanılabilir. Bu uygulamalar, istemci sunucu mimarisinde çalışarak istenilen bilgileri tüm sunuculardan toplayarak anlık ve geriye dönük bilgileri elde etmek için kolaylıkla yapılandırılabilmektedirler. Ganglia yazılımı Linux üstünde çalışması için tasarlanmasına rağmen diğer (ticari de olabilir) Unix işletim sistemlerinde de çalışabilmektedir. Sunucular üzerinde yapılandırmasında yer alan verileri toplayarak, bunların saatlik, günlük, aylık ve yıllık grafiklerini oluşturabilmektedir. Özellikle sunucu parkı geniş olan bir sistem odasında bulunan donanımların iyileştirilmesi düşünüldüğü noktada, donanımda dar boğaz yaratan özelliklerin görülebilmesinde yardımcı olur.
Nagios uygulamasında ise sunucuların üzerinde çalışan servislerin belirli aralıklar ile kontrol ederek web arayüzünden durumlarının sürekli olarak sistem yöneticilerine sunulmasına olanak sağlamaktadır. Bu uygulama, geniş sunucu parkındaki donanımlar üzerinde çalışan servislerin sürekliliğinin sağlanması açısından oldukça faydalıdır. Ayrıca kritik duruma ulaşmış sunucular hakkındaki bilgileri de Nagios sunucusuna bağlanmış bir cep telefonu ile de kısa mesaj olarak sistem yöneticilerine duyurabilmektedir. Nagios uygulamasında geriye dönük bilgiler değil anlık bilgiler tutulmaktadır.
3
Merkezi Yetkilendirme
Birden fazla sunucu üzerinde yetkilendirme yapabilmek ve bu yetkilendirmelerde aynı kullanıcı kodu ve şifre ikilisinin kullanılabilmesi için Bilgi İşlem Merkezleri merkezi yetkilendirme metodlarına ihtiyaç duymaktadırlar. Kurumumuzda, etkileşimli kullanıcı sunucuları, e­posta istemci uygulamaları, samba, ftp, web ugulamalarının tamamında merkezi kullanıcı kodu ve şifre ile yetkilendirme yapılmaktadır. Birden fazla alanda şifre değişikliği yapılabilmesine olanak sağlayabilmek ve kullanıcılarımızın güvenli şifre seçmesini sağlayabilmek için için ODTÜ BİDB olarak şifre değiştirme uygulaması özel olarak geliştirilmiştir. Bu uygulama ile tüm şifreler tek bir noktada toplanmaktadır. Bu noktadan LDAP sunucuları beslenmekte ve bu LDAP sunucular kendilerine bağlı istemcileri besleyebilmektedirler.
ODTÜ bünyesine bulunan bölüm ve birimlerin merkezi kullanıcı kodları ile yetkilendirme yapabilmeleri Web Yetkilendirme Sistemi bulunmaktadır. Bu uygulama yine ODTÜ BİDB tarafından geliştirilmiş olup, geliştirme dili, veri tabanı, uygulamanın sunulduğu web sunucu uygulaması açık kaynak kodlu yazılımlardan seçilmiştir. Web uygulamaları haricinde bu servisi, başka servisler ile birlikte kullanmak isteyen birimler için uygulamalarına LDAP deteği verdikleri durumda güvenli ağ iletişimi ile yetkilendirme servislerini kullanmalarına izin verilmektedir.
Özellikle PC Salonlarında bulunan Microsoft Windows işletimine sahip olan istemcilerde kullanıcı yetkilendirme yapılmasında LDAP destekli pGina uygulaması başarı ile kullanılmaktadır. Bu uygulama ile Windows ortamında kullanıcı doğrulamasını yapan kullanıcılarımız merkezi yazıcı servisinden de yararlanabilmektedir.
Yazılım Geliştirme
Sistem yönetimine yönelik birçok özgür yazılım kullanılmaktadır, bu işlemler sırasında koda sahip olmak onu gerekli şekilde kullanılan birimin isteklerine göre de değiştirme olanağı sağlamaktadır. Bununla birlikte bağımsız yazılımlar geliştirilirken de özgür/açık kaynak kodlu yazılımlar kullanılmaktadır. ODTÜ BİDB içinde en çok kullanılan diller, web arayüzü gerektiren işlemler için PHP, betikler için ise Perl, Kabuk Betiği (Shell Script) ve Python kullanılmaktadır.
Merkezi Yazıcı Servisi
Bir üniversitede merkezi yazıcıların, özellikle yurtta kalan, öğrencilere hizmet verebilmesi önemli bir servistir. Bu servisin adil bir biçimde verilebilmesi için bir çok noktada merkezden yetkilendirilebilen yazıcı kota sistemine ihtiyaç duyulmaktadır. Üniversitemizde bu sistem için LprNG ile birlikte kendimizin geliştirdiği yazıcı kota sistemi kullanılmaktadır. Bu yapıda, kotaya sahip olan kullanıcılar, yetkileri olan yazıcılar üzerinde çıktılarını alabilmekte ve aldıkları çıktı sayısı kotalarından düşürülebilmektedir. İsteyen kullanıcı yine kendi geliştirmiş olduğumuz bir web arayüzünden, almış olduğu çıktıların zamanlarına ve sayılarına ulaşabilmektedir. 4
Her iki uygulama da açık kaynak kodlu betik dilleri ile geliştirilmiş ve arka planda PostgreSQL veri tabanını kullanmaktadır. Diğer Sunucular
Bir Bilgi İşlem'de yukarıda belirtilenler dışında ihtiyaç duyulabilecek bir çok farklı servis bulunmaktadır. Bunlar; birden fazla işletim desteğine dosya paylaşımı servisi, alan adı servisi, güvenli bağlantı ve ftp servisi olarak toplanabilir. Bunlar için sıra ile SAMBA, BIND, OpenSSH ve ProFTP uygulamaları kullanılabilir.
Özgür Yazılıma Destek
ODTÜ Bilgi İşlem Daire Başkalığı Teknik Destek Grubu'nda yer alan Ahmet Öztürk'ün baş geliştirici olarak yer aldığı ve ODTÜ BİDB içinde kullanılan printquota yazılımı sourceforge'dan Genel Kamu Lisansı altında elde edilebilir. Sonuç
Bu makalede orta büyüklükteki ancak beklentileri yüksek olan kullanıcı kitlesinin bulunduğu bir kamu kuruluşunun bilgi işlem alt yapısının verimli, güvenli ve özgür yazılımlarla yönetildiği gösterilmiştir. Ayrıca sadece özgür yazılım kullanmayıp, özgür yazılımlara bir yenisini de eklemiş ve kullanmış olduğu uygulamalar ile ilgili hataları ilgililere bildirmiş, uygulamalardaki hatalara çözüm üretip, bunu geliştiricilerle paylaşmıştır. Bütün bunlar ile amacımız hem üniversitemiz de bulunan merkezi servisleri en iyi şekilde verip yenilikleri takip edebilmeyi, hem de özgür yazılım dünyasına bir parça da olsa katkıda bulunabilmeyi amaçlamaktayız.
Bağlantılar
1. Sendmail http://www.sendmail.org/
2. POP/IMAP http://www.washington.edu/imap/ 3. IMHO http://www.lysator.liu.se/~stewa/IMHO/ 4. ClamAV http://www.clamav.net/ 5. Bogofilter http://bogofilter.sourceforge.net/ 6. Mailman http://www.gnu.org/software/mailman/ 7. Horde http://www.horde.org/ 8. Roxen http://www.roxen.com/products/webserver/ 9. Webalizer http://www.mrunix.net/webalizer/ 10. Apache http://www.apache.org/ 11. Debian GNU/Linux http://www.debian.org/ 12. Open/Mosix http://openmosix.sourceforge.net/ 13. Amanda http://www.amanda.org/ 14. Ganglia http://ganglia.sourceforge.net/ 15. Nagios http://www.nagios.org/ 5
16. SNIPS http://www.navya.com/software/snips/ 17. OpenLDAP http://www.openldap.org/ 18. Postgresql http://www.postgresql.org/ 19. OpenSSH http://www.openssh.com/ 20. SAMBA http://us1.samba.org/samba/ 21. BIND http://www.isc.org/index.pl?/sw/bind/ 22. ProFTP http://www.proftpd.org/ 23. printquota http://printquota.sourceforge.net/
24. PHP http://www.php.net/ 25. Perl http://www.perl.org/ 26. Shell Script http://www.gnu.org/software/bash/ 27. Python http://www.python.org/ 6
Download