Pulse Connect Secure SSL VPN Gateway ürünü basit bir SSL VPN kutusu olmaktan çok herhangi bir yerde bulunan herhangi bir cihaz veya kullanıcıyı güvenli bir şekilde belirlenen uygulama ve servislere eriştirmeye yarayan “Güvenli Erişim” çözümüdür.
Çözümün özellikleri bu yazının konusu olmadığı gibi bir yazı ile özelliklerini anlatmak da pek mümkün değil açıkçası.
Temel kurulum sonrası 9.0R2.1 (build 63975) versiyonu üzerindeki Realm, Authentication Source, User Role ve Resource Policy oluşturma adımları aşağıdaki gibidir. Konfigürasyon aşamasında şu adımlar izlenebilir.
1. Auth. Servers bölümünden authentication server tanımlanır.
2. User Roles Bölümünden User Role oluşturulur.
3. User Realms bölümünden Realm oluşturulur. (TOTP kullanılacaksa Additional Auth Source buradan eklenir)
4. Sign-in Page. (Default kullanılabilir)
5. Sign-in Policy.
6. Resource Profile (Tek tek tüm Uygulamaları/Sunucuları vs. eklenir)
7. Resource Policy ler belirlenir.
1. Authentication Servers
Oturum açmak isteyen kullanıcıların doğrulanacağı oturum sunucusunu belirliyoruz. Görüldüğü üzere bir çok sunucu destekleniyor. Aynı zamanda Local Auth seçerek Pulse’ ın kendisinde kullanıcıları manuel olarak oluşturabiliriz.
Ben Local Authentication Server oluşturarak içerisine emre isimli bir kullanıcı tanımlıyorum.
Kullanıcı oturum açtığında bu kısımdan kullanıcı adı ve bağlandığı WAN IP adresini inceleyebiliriz.
2. Users/User Roles bölümünden bir kullanıcı rolü oluşturuyoruz. Bu bölümde Access Features kısmı içerisinden Options a tıklayarak Bookmark oluşturabilirim ama ben bu işlemler için Resource Profiles ve Resource Policy kısmını tercih ediyorum. Kuruma ait Web, File, SSH vb. tüm resource ları oluşturup yetkileri belirleyip bunları User Group larla ilişkilendirerek daha yönetilebilir bir hiyerarşi oluşturabiliyorum. Access Features bölümü içerisindeki kutucukları boş bırakarak o kullanıcı rolüne bağlı olarak oturum açan clientların ekranından bookmark komple kaldırılabilir.
3. Users/User Realms bölümünden kullanıcının oturum açacağı Realm ı oluşturuyoruz. Farklı Realm ları farklı Authentication Source larla ilişkilendirerek mesela “tedarikçiler oturum açarken Pulse Secure SSL VPN Gateway cihazı üzerinde kimlik doğrulaması yapılsın ama kurum çalışanları oturum açarken Active Directory e sorulsun” şeklinde bir ayrıma gidilebilir.
Ben oluşturduğum Local Authentication Server ı seçiyorum ve TOTP yapmak istediğim için Additional Authentication Source olarak da yine daha önceden oluşturduğum Google TOTP sunucusunu seçiyorum.
Authentication Policy bölümünden kullanıcının bağlanacağı WAN IP adresini veya bağlanacağı tarayıcı tipini belirleyebiliriz. Tarayıcı tarafında belirleme yaparken User-agent string belirlememizi istiyor Pulse. Test etmedim ama aşağıda zaten burada da belirtildiği üzere mesela Burp Suite tarzı bir yazılımla tarayıcının user-agent stringini değiştirerek izin verilmeyen bir tarayıcı ile de erişim sağlayabilir ve böylece bu engeli aşabiliriz. Yine Realm bazında kullanıcı başına kaç oturum açılmasına izin verilecek, bağlanacak enduser makinede host/health checking yapılacak mı vb. ayarları Authentication Policy altından yapabiliyoruz.
Role Mapping bölümü içerisinden bağlanacak kullanıcı veya cihazı ilgili Realm a atarken neleri soracağımızı belirtiyoruz. Tonla seçenek var. 🙂
Sertifikasına, makine adına, registry kayıtlarına, kullanıcı adına vs. birçok şeye bakarak bağlanan cihaz veya kullanıcıyı ilgili Realm a atayabiliriz.
Aşağıdaki gibi isim yazabiliriz veya * şeklinde wildcard ekleyerek tüm kullanıcıları ilgili realm içerisinden authenticate edebiliriz.
4. Sign-in Page bölümünden bölümünden Developers grubuma göre özelleştirilmiş olan bir page oluşturuyoruz.
5. Sign-in Policy bölümünden ise ilgili page i içerisine alan bir URL oluşturabilir veya default URL i kullanabiliriz. Pre/Post Notifications bölümünü kullanarak kullanıcı oturum açmadan önce veya oturum açtıktan sonra uyarı/bilgilendirme mesajı gösterebiliriz.
6. Users/Resource Profiles bölümünden tek tek uygulamalarımızı ekliyoruz. Örnek olarak File, HTML5 ve Java RDP Resource ekleyelim.
Eklediğim Resource un Roles tabı üzerinden ilgili Resource u oluşturduğumuz User Role ile ilişkilendiriyoruz. Aynı sayfada bulunan Bookmarks tabı altından ise ilgili Resource a ait yeni Bookmark lar oluşturabiliriz.
Aynı şekilde Users/Resource Profiles/Files tabı içerisinden dosya sunucu için resource tanımlayabiliriz. Tanımı yaptıktan sonra Resource Policies bölümü içerisinde örneğin “Network” isimli dosyanın Developer Grubu tarafından görüntülenmesinin istenmediğini düşünelim. Aşağıdaki gibi bir kural ile bu işlemi gerçekleştirebiliriz.
İşlemi yaptıktan sonra Developers Grubu olarak oturum açan kullanıcı tarayıcı üzerinden ilgili klasörü görememektedir.
Yine Resource Profile bölümü içerisinden bu kez HTML5 RDP oturumu oluşturuyorum. Birçok seçeneğimiz mevcut. İstersek kullanıcıya hiç şifre vermeden erişimini sağlayabiliriz. Dosya transferi etmesin diye RDP üzerinden dosya transferi özelliğini kapatabilir, görüntü çözünürlüğünü düşürerek daha az bandgenişliği kullanmasını sağlayabiliriz.
İşlemi yaptıktan sonra kullanıcı aşağıdaki gibi tarayıcı üzerinden bağlantı gerçekleştirebilir.
Son olarak yapılan erişim işlemlerine ilişkin logları aşağıdaki gibi inceleyebilir System/Throbleshooting bölümünden debug alabiliriz.
Tüm işlemleri yaptıktan sonra oturum açan kullanıcımızın göreceği ekran
Emre BAŞTUĞ