Live Chat Software by Kayako |
Eğitim-SSLVPN
Posted by Murat BÜLBÜL on 26 January 2015 10:12 AM
|
||||
LABRIS SSLVPN Labris SSLVPN, internet üzerinde güvenli ve şifreli iletişimi sağlamaktadır. Temelde iki tür kullanım amacı taşır. Client Vpn (Remote Access Vpn) ve Site-to-Site vpn olarak kullanılmaktadır. Labris SSLVPN’nin tercih edilmesinin en büyük özelliği kullanım kolaylığıdır. Diğer bir özelliği, çift taraflı onaylama sistemidir. Yani hem istemci sunucuyu, hem de sunucu istemciyi denetler. Client VPN olarak tanımlamış olduğumuz vpn türü, firmaların gezgin çalışanların veya firma personelinin, firma ağına her yerden güvenli bir şekilde bağlanmasını sağlar. Labris SSLVPN Client programı ile birçok platform üzerinden bağlantı kurabilirsiniz. Site-to-Site vpn türü, genellikle firmaların şubeleri ile veya farklı firmaların birbirleri ile güvenli iletişim kurması amacı ile kullanılır. Ayrıca şubeleri, merkez üzerinden internete çıkarmak içinde kullanılabilir. Site-to-Site VPN Genel YapılandırılmasıSSL vpn yapılandırma dosyaları “/etc/openvpn” dizininde bulunmaktadır. Bu dizin mevcut değilse aşağıdaki olduğu gibi, ssl vpn paketini kurabilirsiniz. # yum install openvpn Yapılandırma için aşağıdaki adımları takip ediniz. CA(Certificate Authority) Kurulumu CA bir yetki merkezidir. Sertifika ile güvenliği sağlanmaya çalışılan taraflar için güven onayı veren bir merkezdir. Güvenilir bir CA tarafından imzalanmış sertifika ile yapılan şifreleme işlemlerinin güvenliği sağlanmış olur. SSL VPN ile kullanılacak sertifikalar için bir CA ihtiyacı vardır. CA oluşturmak için: # cd /etc/openvpn/easy-rsa/ # source ./vars # ./clean-all (Daha önceki sertifikaları temizler) # ./build-ca Sunucu Sertifikası Oluşturma #./build-key-server server İstemci Sertikikası Oluşturma # ./build-key istemci Diffie Hellman parametrelerini olusturma Diffie Hellman Anahtar Değişimi: İki sistem arasında şifreli haberleşme yapılması için önceden bu sistemler arasında şifrelemeyi sağlayacak bir anahtarın güvenli bir şekilde paylaşılmasını sağlamak üzere geliştirilmiş algoritmadır. # ./build-dh Bu işlemlerden sonra “keys” dizininde oluşturmuş olduğunuz sertifikaları göreceksiniz. Bunlardan; ca.crt sunucu ve tüm istemcilerde, ca.key sadece CA makinede, istemci.crt sadece istemci makinede, istemci.key sadece istemci makinede, server.crt sadece sunucu makinede, server.key sadece sunucu makinede olmalıdır. Oluşturulan bu dosyalar gerekli makinelere güvenli yoldan aktarılmalıdır. Buraya kadar ki olan süreçte kurulum sürecini tamamlamış olduk. Bu süreçten sonra yapılandırma sürecine geçilebilir. Sunucu Tarafı Yapılandırması( sslsitetosite.conf ) Yapılandırmaya ilk olarak sunucu üzerinde bulundurulması gereken sertifikaları “/etc/openvpn/sslsitetosite/” dizinine taşıyarak başlayacağız. Bu işlemden sonra sslsitetosite.conf dosyası düzenlenir. İstemci Tarafı Yapılandırması( sslsitetosite.conf ) İstemci üzerine taşınan yapılandırma dosyaları, “/etc/openvpn/sslsitetosite/” dizinine taşınır. Bu işlemden sonra istemci tarafında bulunan sslsitetosite.conf dosyası düzenlenir. Örnek Sunucu Yapılandırması: dev eth99 dev-type tap lport 1196 proto tcp-server #proto udp tls-server ca /etc/openvpn/sslsitetosite/ca.crt cert /etc/openvpn/sslsitetosite/server.crt key /etc/openvpn/sslsitetosite/server.key # This file should be kept secret dh /etc/openvpn/sslsitetosite/dh1024.pem server 10.9.0.0 255.255.255.0 #push "route 172.16.0.0 255.255.0.0" route 10.0.0.0 255.255.255.0 10.9.0.2 ifconfig-pool-persist sslsitetosite/ipp.txt keepalive 10 60 ping-timer-rem cipher AES-128-CBC auth md5 comp-lzo max-clients 8 persist-key persist-tun status /etc/openvpn/sslsitetosite/openvpn-status.log verb 3 script-security 3 reneg-sec 0 management 127.0.0.1 11195
Örnek İstemci Yapılandırması: dev eth99 dev-type tap client proto tcp-client #proto udp tls-client tls-remote server remote 212.156.10.2 1196 resolv-retry infinite daemon keepalive 10 60 ping-timer-rem nobind persist-key persist-tun route 172.16.0.0 255.255.0.0 10.9.0.1 ca /etc/openvpn/sslsitetosite/ca.crt cert /etc/openvpn/sslsitetosite/istemci.crt key /etc/openvpn/sslsitetosite/istemci.key dh /etc/openvpn/sslsitetosite/dh1024.pem cipher AES-128-CBC auth md5 comp-lzo verb 3 reneg-sec 0 SSL Client VPN YapılandırmasıClient vpn yapılandırması için “/etc/openvpn/labris-ssl-vpn.conf” dosyası düzenlenir. Client vpn için sunucu sertifikası “/etc/openvpn/labris-ssl-vpn/” dizininde mevcuttur. Herhangi bir sertifika oluşturma gereği yoktur. Client Vpn yapılandırma dosyasını inceleyelim.( labris-ssl-vpn.conf) local a.b.c.d Iki ya da daha fazla internet hattı olan yerlerde vpn servisinin hangi hattan yayın yapacağını lokal adres girerek belirleyebiliriz. lport 4443 VPN sunucunun hangi port üzerinden çalışacağını belirtir. proto tcp-server Hangi protokol üzerinden çalışacağını belirtir. UDP kullanılması tavsiye edilir. server 10.8.3.0 255.255.255.0 VPN sunucuya bağlanarak IP alacak istemcilerin IP havuzunu belirler. Havuz içinde ilk IP adresi VPN sunucunun IP adresi olacaktır. ifconfig-pool-persist /etc/openvpn/labris-ssl-vpn/ipp.txt 0 VPN sunucuya bağlanarak IP adresi alan istemcilerin kayıtlarını tutar. client-config-dir ccd Vpn kullanıcıları için özel yapılandırma dizinini belirtir. Bu dizin içinde kullanıcılar için özel tanımlamalar yapılır. push "route 172.16.1.0 255.255.255.0" Bağlanan kullanıcıların yerel ağlara erişilmesi sağlanır. push "redirect-gateway def1 bypass-dhcp" Bağlanan kişilerin internete vpn üzerinden erişmesini sağlar. push "dhcp-option DNS 195.175.39.39" VPN bağlantısı yapan istemcilere DNS gönderilir. max-clients 100 Aynı anda bağlanacak kullanıcı sayısını belirtir. client-to-client Bağlanan istemciler birbirlerini görebilir ve erişebilir. duplicate-cn Aynı kullanıcı adı ile aynı anda birden fazla bağlantı kurulmasını sağlar. keepalive 10 120 Sunucu ve istemcilerin birbirinin durumundan haberdar olmalarını sağlar. Bağlantıları her 10 saniyede bir kontrol eder, 120sn içerisinde cevap gelmezse bağlantıyı koparır. comp-lzo Vpn hattında sıkıştırma sağlar. Hem sunucu hem istemci tarafında olmalıdır. SSLVPN de Loglama log /var/log/sslvpn.log log-append /var/log/sslvpn.log verb 3 # 0 is silent, except for fatal errors # 4 is reasonable for general usage # 5 and 6 can help to debug connection problems # 9 is extremely verbose | ||||
|