Giriş
ODTÜ Kütüphanesi, yurt içinde ve yurt dışında birçok veritabanına yerleşke içinden bağlanma ve araştırma yapma imkânı sağlamaktadır. Bu veritabanı bağlantıları ODTÜ IP adresi bloğuna (144.122.0.0/16) açılmakta, ODTÜ içindeki bir bilgisayarı kullanan kullanıcımız otomatik olarak bu veritabanlarına ulaşma hakkı kazanmaktadır. Birçok kullanıcımız, araştırma işlerini ODTÜ dışında kullandıkları bilgisayarlardan da yapabilmeyi istemekte, bu durum beraberinde kullanıcı yetkilendirme ve şifre güvenliği problemlerini getirmektedir.
Mevcut teknolojiler düşünüldüğünde kullanıcıların belli bir yetkilendirme mekanizmasıyla sınırlandırılmış web sayfalarına ulaşımlarının sağlanması için bir web önbellekleme servisi kullanmak en uygun çözüm görünmektedir. Dünya çapında birçok sunucuda bulunan ve ODTÜ'de de uzun yıllardır başarıyla yerleşke içi bağlantılarda servis veren squid web önbellekleme programı bu iş için seçilmiştir.
Web önbellekleme, İnternet üzerinden istenilen objelerin (HTTP, FTP, Gopher gibi protokoller üzerinden ulaşılabilen verilerin), yerel alan ağı içerisinde bir sunucuda saklanması ve aynı objenin aynı veya farklı bir istemci tarafından istenilmesi halinde, bu sunucu tarafından isteğin karşılanmasıdır. Aynı web önbellekleme sunucusunu kullanan tarayıcı programların, ortalamada isteklerinin karşılanması süresi düşer, ayrıca bant genişliği tasarrufu sağlanmış olur. Web önbellekleme servisinden faydalanılabilmesi için, tarayıcı programına servisin tanıtılması gerekmektedir. ODTÜ içi bağlantılara hizmet veren web önbellekleme servisi 1999 yılından beri kullanılmaktadır. Bu servis aracılığıyla kullanıcılar gerekli ayar dosyasını bilgisayarlarına tanıtarak çok kullanılan web sayfalarına ODTÜ içinden hızlı erişim sağlayabilmekteler.
İhtiyaçlar
Kampus dışından ODTÜ kullanıcılarının kütüphane kaynaklarına erişimlerini sağlamak için kurulacak sistem birtakım gereklilikleri sağlamalıdır. Sistemi kurarken bu gereklilikleri göz önünde bulundurarak tasarım yapmak gereklidir. Özetle bunlardan bahsedersek:
- Hem ODTÜ öğrencisi hem de ODTÜ personeli için bir yetkilendirme mekanizması olmalıdır.
- Kullanıcıların girecekleri kullanıcı kodu ve şifreler güvenli olmalıdır.
- Tüm tarayıcı programlar (browserlar) tarafından desteklenmelidir
- Kullanıcılar tarafında uygulama kolaylığı olmalıdır
- Servisin kurulum ve işletim kolaylığı olmalıdır.
- Kullanıcıların aynı anda tek bir bilgisayardan bağlanabilmesini sağlayacak önlem bulunmalıdır.
- Kullanıcıların sadece yetkilendirilmiş web sayfalarına bağlanabilme izni olmalıdır.
- Amaç dışı kullanımda, kullanıcı ve IP engellemesi olmalıdır.
- Kullanıcıların kullanıcı kodları ve şifrelerini başkalarıyla paylaşmasını sınırlandıracak yapıda olmalıdır.
- Hata uyarma sayfaları yeterince açık olmalıdır.
- Kullanıcıların en fazla yapabilecekleri bağlantı sayısı sınırlı olmalıdır.
- Kullanılacak servis makinesi yeterince güvenli olmalıdır.
- Servis makinesinin işletimi ve ayarları belgelenmiş olmalıdır.
Yukarıda maddelenen bütün bu gerekliliklerin sağlanması için kurulacak yapı düşünüldüğünde sistemi oluşturan parçalar şöyle şekillenmektedir:
Şekil 1. Servis Birleşenleri
Sistemin Genel Yapısı
Web önbellekleme programı squid'in yaptığı iş, kendisine yönlendirilen web sayfası isteklerini kullanıcı adına alıp, kendisi adına bunu karşı tarafa gönderip, gelen sonucu istekte bulunan kullanıcıya geri döndürmek şeklindedir. Kullanıcı tarafında hangi web sayfalarına ulaşmada squid önbellekleme servisinin kullanılacağını belirtmek için bir ayar dosyası kullanılır. (proxy.pac) Bunu tarayıcı programlarına tanıtan kullanıcılar, bu ayar dosyasında yazılı web sayfalarına gitmek istediklerinde isteklerini squid servis makinesine yönlendirirler. Bu aşamadan sonra squid servis makinesinde yapılacak olan ayarlar gereği kullanıcıya kullanıcı kodu / şifre sorulacaktır. Kullanıcının yazdığı kullanıcı kodu ve şifreler açık metin (clear text) olarak iletileceği için güvenlik sorunları doğurmaktadır. Bu güvenlik kaygılarını en aza indirebilmek için kullanıcılara mektuplarını okumak, ODTÜ'ye özel servisleri kullanmak için verilen kullanıcı kodu / şifre ikilileri yerine her bir kullanıcıya verilecek bir "Tek Kullanımlık Şifre" ile bağlantılarını yapmaları sağlanmalıdır. ODTÜ'de kurulan sistemde kullanıcılardan https protokolü ile belirli bir web sayfasına merkezi sistem kullanıcı kodu ve şifrelerle bağlanmaları istenmektedir. Burada yapılan yetkilendirme işlemleri sonrası kullanıcıya bir işlem yardımıyla rastgele seçilmiş harf ve rakamlardan oluşan bir şifre verilir. Bu şifreyi alan kullanıcı, web önbellekleme servisini kullanarak bir veritabanına bağlanırken sorulan kullanıcı kodu / şifre ekranında bu bilgileri girer.
Şekil 2. Web Önbellekleme Yönlendirmesi
Tek Kullanımlık şifreler ile kullanıcı yetkilendirme işlemi iki ana başlık altında toplanabilir. Birinci bölümde kullanıcının bilgisayarında girmesi gereken ayarlar, ikinci bölümde squid servis makinesinin ayarları ve tek kullanımlık şifrelerin oluşturulup veri tabanına kaydedilmesi. Kullanıcının kendi bilgisayarında girmesi gereken tek ayar, web önbellekleme ayarıdır. Bunun için temelde üç yöntem bulunsa da (otomatik bul, bir ayar dosyası kullan ve el ile ayar yap) bunlardan ayar dosyası kullanmayı tavsiye ediyoruz. Kullanıcılarımızdan kullandıkları tarayıcı programın web önbellekleme ayarları ile ilgili bölümüne girip burada ayar dosyası olarak http://www.metu.edu.tr/proxy.pac yazmaları yeterlidir. İlgili tarayıcı program bu dosyadaki bilgilere bakarak yetkilendirmeli web sayfaları için squid servis makinesini, normal İnternet sayfaları için kullanıcının İnternet hizmeti aldığı servis sağlayıcıyı kullanır. Diğer taraftan, ikinci bölümde yapılan işlemlere gelirsek, kullanıcıdan bir servis sağlayıcı üzerinden http://netregister.cc.metu.edu.tr adresine bağlanması istenir. Bu adres, kendisine gelen bağlantı isteğini https://webauth.metu.edu.tr adresine yönlendirir. Burada kullanıcıya merkezi sistemde kullandığı kullanıcı kodu ve şifresi sorulur. Kullanıcının girdiği bilgiler LDAP sunucusunda sorgulanır ve gelen cevaba göre kullanıcıya yetkilendirilmiş bir web sayfası ekranı çıkar veya hata mesajı döner. Yetkilendirilmiş ekranda kullanıcının tıklayarak tek kullanımlık şifre elde etmesini sağlayacak bir düğme bulunur. Buraya tıklayarak tek kullanımlık şifresini elde eder. Bu şifre aynı zamanda bir veritabanı sunucusuna, kullanıcı kodu ile beraber kaydedilir. Kayıtlar belli aralıklarla kontrol edilerek 2 saatlik süreden daha eski girilmiş kayıtlar silinmektedir. Kullanıcılar squid servis makinesi üzerinden ilgili web sayfalarına giderken sorulan kullanıcı kodu ve şifre bilgilerinde daha önce aldığı tek kullanımlık şifre ve kullanıcı kodu bilgisini girer. Bu bilgiler squid servisi tarafından veritabanına sorgulanır. Veritabanında girilen bilgilerle eşleşen bir kayıt bulunursa kullanıcının girişi onaylanır ve açtığı tarayıcı penceresinden girdiği web adresleri squid servis makinesinden geçerek karşı tarafa ulaşır. 2 saatlik kullanım süresi sonrasında kullanıcı kodu ve tek kullanımlık şifre kaydı veritabanından silinince kullanıcının tarayıcı penceresi kullanıcıya tekrar şifre sormaya başlar.
Şekil 3. Sistemin Genel İşleyişi
Bir sonraki sayımızda Squid ayarları ve tek kullanımlık şifre aşamalarından bahsedilecektir.
Akademik Bilişim 2007 Konferansında sunulmuştur.
Ferdi Ayaydın - Gökhan Eryol
|