Merhaba sevgili ebergi okuyucuları,
Yeni bir yıla girdiğimiz şu günlerde hepinizin yeni yılını kutluyorum. 2009'un hepimiz için başarılarla, mutluluklarla dolu bir yıl olmasını temenni ediyorum.
Bu ay sizlere openvpn uygulaması hakkında bilgi vermeye çalışacağım. Bu yazının sonunda ağ güvenliği konusunda sıklıkla kullanılan programlardan birisi olan openvpn ile çalışabilecek seviyeye gelmiş olacaksınız.
Openvpn adından da anlaşılabileceği üzere vpn teknolojisini kullanan özgür bir uygulamadır. Openvpn’i edinebilmek için http://www.openvpn.net/index.php/downloads.html adresini ziyaret edebilirsiniz. Openvpn'e geçmeden önce vpn teknolojisini anlatacağım. Vpn’i öğrenmeden, openvpn kullanmak hakkında bir fikriniz olmayacaktır. O yüzden şimdi vpn’e geçiyorum. Vpn nedir? Vpn (Virtual Private Network), Sanal Özel Ağ'ın kısaltmasıdır. Bu tanımı biraz açalım.
Sanal ağ ile kastedilen nedir ?
İki veya daha fazla bilgisayar arasında bir ağ kurmak istediğimiz zaman bu bilgisayarları ethernet arayuzleri aracılığı ile kablolarla bağlarız. Böylelikle ağımıza bağlı olabilecek bilgisayar sayısı elimizdeki bilgisayarların adedi ile sınırlıdır. Peki şöyle bir senaryo düşünelim: Şirketimizin sadece kendi bünyesinde bulunan bilgisayarlara sağladığı bir ağ olsun fakat biz o anda şirkette bulunamadığımız için bu ağa bağlanamıyoruz. Şirketteki ağa bağlanmamızı gerektirecek çok acil bir iş çıkıyor. Şirket dışında iken sadece şirkete özel bir ağa bağlanmanın yollarını düşünüyoruz. Ve karşımıza vpn teknolojisi çıkıyor. Vpn sayesinde şirketin ağına tünelleme yaparak giriş yapıyoruz ve şirketin ağına sanki uzaktan bir konuk kullanıcı gibi değil de şirketin ağına ethernet ve kablo ikilisi kullanılarak yeni bir bilgisayar eklemişiz gibi giriş yapabiliyoruz. Bu noktada vpn’in ssh ve benzerlerinden farkını görmüş oluyoruz. Ssh için bağlandığımız bilgisayarda konuk durumunda işlem yürütürken diğer bir yanda vpn bağlanılan ağa bizi sanki o ağın bir parçasıymışız gibi tanıtıyor. Vpn’in bu özelliğine (remote access) uzaktan erişim deniyor. Peki vpn’in bu özelliği nerelerde kullanılabilir. Yukarıda verdiğim örnek gibi, sık seyahat eden biriyseniz ve aynı zamanda kendi içinde özel bir ağa sahip bir şirketin bünyesindeyseniz, internete ulaştığınız her an vpn kullanarak şirketin ağının bir parçasıymışsınız gibi işlerinizi yürütebilirsiniz. Peki başka bir senaryo düşünelim: Mesela iki şirket aynı proje üzerinde çalışıyor olsunlar ve birbirlerinin projenin o an hangi kısmında olduklarını bilebilmeleri için sürekli bilgi akışı yapmaları gereksin. Bir önceki örnekte bir kişi bir ağa bağlanıyordu. Peki bir ağı başka bir ağa bağlamak vpn ile mümkün mü? Bu sorunun cevabı evet mümkün. İki şirketin de vpn sunucularının (vpn sunucusu bir önceki örnekteki gibi uzaktan bağlanacak kişilerin şirketin ağına giriş yaparken kullanacakları sunucudur) vpn kullanılarak birbirlerine bağlanması sonucu bu iki şirketin çalışanları aynı ağdalarmış gibi çalışabilirler. Vpn’in bu özelliğinin adı ise (site to site) mekandan mekana bağlantıdır. Uzaktan erişimden farkı bu bağlantı türünde 2 veya daha fazla vpn sunucusunun kullanılıyor olmasıdır.
Özel ağ ile kastedilen nedir ?
Vpn ile birçok bağlantının farklı şekillerde yapılabileceğinden bahsettik. Bu bağlantılar güvenli bir şekilde yapılmalıdır. Özel ağ ile kastedilen budur. Vpn teknolojisinde güvenlik olarak şifreleme ve tünelleme kullanılmaktadır. Böylelikle üçüncü kişilerin internet üzerinde hareket etmekte olan veriye ulaşımı mümkün olsa dahi bu verileri kullanmaları olanaksız olmaktadır. Çünkü bu veriler sadece kaynak ve hedef bilgisayarlar tarafından okunabilmektedir.
Vpn ayrıca farklı kullanıcılara farklı yetkiler atanmasına da izin vermektedir. Bu sayede bir ağ içerisindeki kullanıcıları gruplara ayırabilir ve her grubu birbirinden bağımsız bir şekilde farklı yetkiler atayarak yönetebiliriz. Bu da kullanıcı sayısı yüksek olan ağların kontrolünü, yetkilendirilmesini ve güvenliğini kısa zamanda daha verimli yapmamızı sağlıyor.
Vpn’i tanımış olduk. Şimdi openvpn’e geri dönebiliriz. Openvpn’in ağ güvenliği konusunda kullanılan popüler programlardan olmasının sebebi kullanımının kolay ve altyapısının güvenli olmasıdır. Openvpn, (encryption) şifreleme, (authentication)doğrulama ve (certification) sertifikalama özelliklerini bünyesinde bulundurduğu OpenSSL kütüphaneleri sayesinde yapabilir. Peki openvpn kullanarak bir ağa bağlanmak istiyoruz, nelere sahip olmalıyız? Biz istemci tarafı olduğumuz için sunucu tarafında bulunması gereken zorunlu dosyalara sahip olmak zorunda değiliz. Fakat hem sunucu hem istemci tarafında bulunması zorunlu olan dosyalar da var tabii ki. Bir bağlantı gerçekleştirebilmek için “ca.crt”, “istemci.crt”, “istemci.key”, “istemci.conf” dosyalarına sahip olmamız gerekmektedir. “ca.crt” dosyası hem sunucu hem de istemci tarafında bulunması zorunlu bir dosya olmakla beraber sertifikalar için onay veren bir dosya gibi düşünülebilir. “istemci.crt” ve “istemci.key”dosyaları gelen giden verinin şifrelenmesinden sorumludur. “istemci.conf” ise bağlantımız ile ilgili ayar dosyalarını tutan bir belge gibi düşünülebilir. Bu ayarlar neler olabilir, mesela bağlanacağımız vpn sunucusunun adresi, gerçekleştirmek istediğimiz bağlantının türü, sunucunun gerekli güvenlik protokollerini uygulayabilmesi için “istemci.crt”, “istemci.key”, “ca.crt” dosyalarının nerede bulunduğunun gösterilmesi gibi. Bu dosyalara sahip oldukça ve o an aktif bir internet bağlantımız olduğu sürece ayar dosyamızda belirtilen vpn sunucusuna bağlanmak openvpn ile gerçekten çok kolay.
Vpn’i ve openvpn’i tanıtmaya çalıştım. Umarım size birşeyler katabilmişimdir. Yazımı sonlandırırken birkez daha yeni yılınızı kutluyorum. Önümüzdeki aylarda görüşmek dileğiyle..