COSLAT ile FORTIGATE SSL-VPN 2FA Yapılandırması

Bu makalemizde Fortigate SSL-VPN için Coslat 2FA ürünü ile çift faktörlü kimlik doğrulamayı anlatacağız.  Coslat 2FA sayesinde VPN’e bağlanmak isteyen kullanıcılar için SMS veya Google Authenticator ile ikinci bir doğrulama yapılabilecektir. Bu sayede VPN parolalarının çalınmasına karşılık ek bir önlem alınmış olacaktır.

İlk olarak Coslat Yapılandırması ile başlıyoruz

Veritabanın Ayarlanması

Mysql kurulu olan Coslat için, servislerden Freeradius’un veritabanını kullanabilmesi amacıyla ayarların yapılması gerekmektedir.
Bunun için;
Services -> FreeRadius açıyoruz.

SQL sekmesine geçiyoruz.

SQL’i aktif etmek ve Kimlik doğrulama, yetkilendirme ve kimlik doğrulama sonrası kayıt için aşağıdaki ayarları yapıyoruz.
Enable SQL Support: işaretli
Authorization: Enable
Accounting: Enable
Post-Auth: Enable

Mysql bilgilerini diğer bilgiler sabit kalarak aşağıdaki gibi giriyoruz.
Database Type:  MySQL
Database Username: root
Database Password : coslat ( eğer mysql kurulumunda değiştirdiyseniz değiştirmiş olduğunuz şifreyi giriniz.)

Bu bilgileri girdikten sonra sayfa altına inip kaydet diyoruz. Bu sayede MySql Veritabanını kullanmış oluyoruz.

Interfaces Seçimi

MySql işlemlerinden sonra Sistemin gelen isteklere cevap vereceği interfaces oluşturmamız gerekiyor. Bu noktada Authentication ve Accounting  için 2 ekleme yapmamız gerekiyor.1812 portunu Authentication ve 1813 portunu da Accounting için kullanıyoruz.
Bunun için 2 adet ekleme yapıyoruz;
Interfaces ->  +Add butonunu tıklıyoruz.

Interface IP Address : *  (veya istekleirn kabul edileceği ip adesini belirtiyoruz.  tüm interfaceler için tercih edilecekse * dememiz yeterli olacaktır.)
Port: 1812
Interface Type:  Authentication

Interfaces ->  +Add butonunu tıklıyoruz.
Interface IP Address : *  (veya isteklerin kabul edileceği ip adresini belirtiyoruz.  tüm interfaceler için tercih edilecekse * dememiz yeterli olacaktır.)
Port: 1813
Interface Type:   Accounting

Bu eklemelerden sonra interfaces sekmesi aşağıdaki gibi görünecektir.

 NAS/Client Eklenmesi

Interfacaces eklemesinden sonra VPN isteklerini karşılayacak ve Coslat 2FA ‘a kimlik doğrulaması için istekte bulunacak olan VPN sunucusunu (Firewall,NAS, VPN Server gibi) NAS/Client  olarak eklememiz gerekmektedir.
Bunun için;
NAS/Client -> +Add butonunu tıklıyoruz.

Client IP Address:  VPN sunucu ip adresi (192.168.19.254)
Client Shortname: VPN sunucusu için tanımlayıcı bir isim
Client Shared Secret: VPN sunucu ile Coslat 2FA arasında iletişimin sağlanması için gerekli password alanıdır.(coslat) (Bu Secret aynı zamanda VPN server tarafında da tanımlanacaktır. )

İkincil Doğrulama Yöntemi Seçimi (SMS / Google Authenticator)

İkincil doğrulama yöntemi seçimi için;
Auth Type sekmesine geliyoruz.
Radius Auth Type: İkincil kimlik doğrulama yöntemi seçimini yapıyoruz.

SMS Ayarları

Kullanıcılara SMS gönderebilmek için sağlayıcı ayarlarının yapılması gerekmektedir.
Bunun için;
SMS Setting sekmesine geçiyoruz.
SMS Provider Name: Bizim için açıklayıcı isimdir.
Select SMS Provider: Kullandığınız SMS sağlayıcı sistemde var ise buradan seçip Import SMS Service butonu ile ekleyebilirsiniz.
SMS Request: Kullandığınız servis sağlayıcı listede yoksa, servis sağlayıcı API bilgisini eklenir.
(Bu konuda BG-TEK destek ekibi ile iletişime geçip API konusunda yardım alabilirsiniz.)
SMS Username: SMS sağlayıcı kullanıcı adı (sağlayıcı tarafından verilir)
SMS Password: SMS sağlayıcı parolası(sağlayıcı tarafından verilir)
Diğer bilgiler SMS sağlayıcıya göre değişkenlik göstermektedir.

Yerel Kullanıcı Tanımlaması

Veritabanı, interface ayarları ve doğrulama yöntemi ayarlarımız yaptıktan sonra Coslat 2FA yerel kullanıcılar ile kullanıma hazırdır.  (Google Authenticator aşağıda anlatılmıştır.)
Kullanıcı tanımlaması için;
Users ->  +Add  butonuna tıklıyoruz.

Username : Kullanıcı adı
Password: Parola
bilgilerini giriyoruz.

SMS ile Doğrulama

SMS ile doğrulama için Auth Type -> SMS seçeneğini seçiyoruz.
Eklediğimiz kullanıcılara cep telefonu tanımlamasını yapabilmek için;
User Phones -> +Add butonunu tıklıyoruz.
Username: Daha önce açılmış kullanıcı adı
User GSM No: Kullanıcının cep telefonu

Google Authenticator ile doğrulama

Google Authenticator ile doğrulama yapabilmek için Auth Type kısmından Google Authenticator seçeneğini seçiyoruz.

Daha sonra kullanıcılar kullandıkları Authenticator uygulamasına kod eklemek için kullanıcıların aşağıdaki linkten giriş yaparak QR kodu tanıtmaları gerekmektedir.
Dikkat: Bu linke kullanıcıların erişimi için gerekli erişim ayarlarını kendi yapınızda yapınız.

“ https://….ipadresi/api/radius_get_qrcode.php ”

Kullanıcı adı ve parolasını girdikten sonra kendilerine özel oluşturulan QR kod ekranı gelecektir.

QR kod eklenmesinden sonra uygulamada Coslat 2FA olarak gözükecektir.

Dikkat: Kullanıcı bir defa kodu aldıktan sonra tekrar alamamasıdır. Bunun için kullanıcının silinip tekrar oluşturulması gerekmektedir.

QR kod almış kullanıcılar listesi Google Auth Users sekmesinde gözükmektedir.

VPN SUNUCU YAPILANDIRMASI

Fortigate SSL VPN Entegrasyonu

Radius Server eklenmesi

Fortigate SSL VPN de two factor authentication (2FA) aktif etmek için Coslat’ı RADIUS Sunucu olarak ekliyoruz.
Bunun için;
User&Device -> RADIUS Servers -> Create New butonuna tıklıyoruz.

Name: Açıklayıcı isim (Coslat)
Primary Server IP/Name: Coslat 2FA ip adresi
Primary Server Secret: coslat  ( Coslat 2FA da NAS/Client eklerken tanımlamış olduğunuz Client Shared Secret ‘ı giriyoruz.

Ayarları kontrol etmek için Test Connectivity tıklıyoruz.
User : Coslat 2FA üzerinde açmış olduğumuz kullanıcı adı
Password: Coslat 2FA daki kullanıcının parolası
Test butonuna tıklıyoruz.

Aşağıdaki sonucu aldıysak ayarlarımız doğru ve iletişim sağlanmış demektir.

User Grup Eklenmesi

Gerekli izinleri tanımlamak için SSL VPN kullanıcı grubu ekliyoruz.
User&Device -> User Groups -> Create New tıklıyoruz.

Name: Tanımlayıcı isim (Coslat_SSL_Group)
Type: Firewall
Remote Groups:  Burada Create New  tıklıyoruz

Add Group Match kısmında bu gruba dahil kullanıcıların hangi doğrulama sunucusundan geleceğinin seçimini yapıyoruz.
(NOT : Uzak sunucu ile birlikte sunucudan bir grup bilgisi gelecek ise burada seçebiliriz. Coslat’ ta Users sekmesinde + Users Attribute ile kullanıcılara özel gruplar atayabilir ve bu grupları burada eşleştirip fortigate üzerinde farklı kurallar uygulayabilirsiniz. )
Remote Server:  COSLAT 2FA yı seçip OK tıklıyoruz.

En son OK tıklıyoruz ve grubu ekliyoruz.

VPN de Grubun ayarlanması

Oluşturduğumuz grubu SSL-VPN ayarlarına ekliyoruz.
VPN -> SSL-VPN Settings tıklıyoruz.
Authentication/Portal Mapping -> Create New tıklıyoruz.

Users/Groups: Daha önce oluşturduğumuz Coslat_SSL_Group seçiyoruz.
Portal : Kullanmak istediğimiz portalı seçiyoruz.

Apply tıklayıp ayarları kaydediyoruz.

Firewall Policy Ayarları

VPN kullanıcılarının iç ağa ve internete erişimleri için firewall kuralları tanımlanması gerekmektedir.

Yerel Ağa Erişim için;
Policy&Objects -> IPv4 Policy -> Create New tıklıyoruz.
Name : Açıklayıcı isim (SSL_VPN_Users)
Incoming Interface: SSL-VPN Tunnel İnterface(ssl.root)
Outgoing Interface: LAN
Source: SSLVPN_TUNNEL_ADDR1 ve daha önce oluşturduğumuz grubu ekliyoruz. (Coslat_SSL_Group)
(NOT: Burada grup eklerken Add Group Match ile eşleştirdiğimiz farklı gruplar varsa farklı kurallar uygulayabiliriz.)
Destination Address: İç ağda ulaşılması istenen hedefi belirtiyoruz (all)
Service: Hangi portlardan erişim olacağını seçiyoruz. (ALL) 

VPN kullanıcılarının İnternet Erişim için;
Policy&Objects -> IPv4 Policy -> Create New tıklıyoruz.
Name : Açıklayıcı isim (SSL_VPN_Users)
Incoming Interface: SSL-VPN Tunnel İnterface(ssl.root)
Outgoing Interface: WAN
Source: SSLVPN_TUNNEL_ADDR1 ve daha önce oluşturduğumuz grubu ekliyoruz. (Coslat_SSL_Group)
(NOT: Burada grup eklerken Add Group Match ile eşleştirdiğimiz farklı gruplar varsa farklı kurallar uygulayabiliriz.)
Destination Address: all
Service: Hangi portlardan erişim olacağını seçiyoruz. (ALL) 

VPN kullanıcılarının da internete erişimlerini sağladıktan sonra artık parolarını girip karşılarına gelen ikinci ekranda PIN kodunu girerek bağlantı sağlayabilirler.

Bu yapılandırma sayesinde kullanıcıların VPN parolaları çalınmış olsa bile bağlantı sağlanabilmesi için PIN kodunun da bilinmesi gerekmektedir.

Exit mobile version