COSLAT 2FA DOKÜMANTASYON SANAL MAKİNA COSLAT 2FA KURULUMU 2 COSLAT 2FA KURULUM SONRASI YAPILANDIRMA İÇİN AYARLAR 6 Coslat 2FA IP Adresi Ayarı 7 SSH Aktif edilmesi 8 MySQL Kurulumu 9 COSLAT 2FA YAPILANDIRMASI 10 Veritabanın Ayarlanması 10 Interfaces Seçimi 13 NAS/Client Eklenmesi 14 İkincil Doğrulama Yöntemi Seçimi (SMS / Google Authenticator) 15 SMS Ayarları 15 Yerel Kullanıcı Tanımlaması 16 SMS ile Doğrulama 17 Google Authenticator ile doğrulama 17 LDAP Yapılandırması 19 LDAP SMS ile doğrulama 21 Kullanıcı telefonlarını el ile eklemek için; 21 Kullanıcı Telefonlarının Ldap tan çekilmesi için; 21 LDAP Google Authenticator ile doğrulama 22 ÖRNEK VPN SUNUCU YAPILANDIRMASI 22 Coslat 2FA ile Fortigate SSL VPN Entegrasyonu 22 Radius Server eklenmesi 23 User Grup Eklenmesi 25 VPN de Grubun ayarlanması 26 Firewall Policy Ayarları 27
SANAL MAKİNA COSLAT 2FA KURULUMU Sanal makinanıza Coslat 2FA kurarken aşağıdaki minumun gereksinimlere göre makinenizi oluşturunuz. İşlemci 2 Çekirdek RAM 4GB Disk 50 GB Network İnterface 1 adet İşletim sistemi tercihi FreeBSD 64 bit Sanal makinanızı oluşturduktan sonra Coslat imaj dosyasını indirip sistemi bu imaj ile açtıktan sonra aşağıdaki adımlar ile kuruluma başlanır. İlk olarak dağıtım bilgilendirmesi Accept ile kabul edilir. Kurulum parolası ekranında BG-TEK ten almış olduğunuz parola girilir. 1
İnstall Coslat seçili durumdayken ok ile kurulum başlatılır. Klavye dil seçeneği seçilerek kuruluma devam edilir. Disk bölümlendirme kısmında farklı bir seçenek tercih edilmeyecekse Auto (UFS) ile devam edilir. 2
Kurulum bittikten sonra komut satırından bir işlem yapılmayacak ise No seçeneği ile kurulum tamamlanır. Kurulum imajı sistemden çıkartılır. Ardından sistem yeniden başlatılır. Sistem ilk açılışında interface tanımlanmasını isteyecektir. Interface isimleri listelenecek ve Vlan yapılandırması tercih edilip edilmeyeceği sorulacaktır. Vlan yapılandırması tercih edilmeyecekse n seçeneği ile devam edilir. Vlan yapılandırması daha sonradan da yapılabilir. Tavsiye edilen sonradan yapmaktır. 3
Vlan tanımlamasından sonra WAN interface seçimi sorulacaktır. Valid interfaces are: altındaki interface isimlerinden WAN için ayarlanacak olan yazılır. Biz burada em0 ı kullandık. Bir sonraki adımda bizden LAN intercafe ini soracaktır.birden fazla interface kullanmayacaksak bu adımda direk Enter ile geçiyoruz. Yapılan seçimleri onaylayıp onaylamadığımız sorulacaktır. Bu adım içinde y deyip devam ediyoruz. 4
Sistem açılacak ve WAN interface otomatik ip alacaktır. COSLAT 2FA KURULUM SONRASI YAPILANDIRMA İÇİN AYARLAR Coslat 2FA yapılandırması için ilk olarak sistemi lisanslamak ve servisin çalışması için veritabanı (Mysql) ayarlarının yapılması gerekmektedir. Coslat 2FA kurulumundan sonra varsayılan olarak tek arabirim üzerinden çalışmaktadır. Dilerseniz farklı ağlar için birden fazla arabirim ile de çalışabilmektedir. Kurulum sırasında Coslat 2FA varsayılan olarak DHCP den ip almaktadır. Consol üzerinde almış olduğu ip adresi gözükmektedir. 5
Almış olduğu ip adresi ile web üzerinden arayüze erişip lisanslama işleminden sonra ip adresini değiştirebilirsiniz. Web arayüzü varsayılan kullanıcı adı admin parolası da coslat tır. Oturum açtıktan sonra ilk karşınıza gelen ekran Lisans bilgileri nin girildiği form alanıdır. Bu alanda, Company Name : Firma bilgisi Company Authorized: Firma yetkili License Message : İşaretli bilgilerini girdikten sonra Son Kullanıcı Lisans sözleşmesini onaylayıp kaydetmeniz gerekiyor. Lisanslama işlemi için BG-TEK ile görüşmeniz gerekmektedir. 6
Coslat 2FA IP Adresi Ayarı Lisanslama işleminden sonra ip adresi değişikliği için Interfaces -> WAN içerisinden yapabilirsiniz. Burada dikkat edilmesi gereken nokta Static ip adresi verirken gateway tanımlamasını atlamamak ve bu ip adresi ile VPN sunucusu arasında iletişimin olmasına dikkat etmek gerekmektedir. 7
IP adresi bilgilerini, IPv4 Address: ip adresi (192.168.19.155/24) (alt ağ maskesini ayarlamayı unutmayın) IPv4 Upstream gateway: Ağ geçidi (192.168.19.254) şeklinde giriniz. SSH Aktif edilmesi Lisanslama ve ip adresi tanımlamadan sonra Mysql ayarlarını yapabilmek için ssh bağlantısının aktif edilmesi gerekmektedir. Bunun için; System -> Advanced menüsüne gelip Secure Shell bölümünde Enable Secure Shell: işaretli ayarı ile ssh bağlantısını aktif ediyoruz. Varsayılan port numarası 22 dir. İsterseniz buradan port numarasını değiştirebilirsiniz. 8
Ssh bağlantısı aktif edildikten sonra bir ssh client ile (örneğin Putty) sisteme root kullanıcısı ile bağlanıyoruz. (Sistemden var olan admin kullanıcısı ile aynı şifreye sahiptir.) Ssh ile bağlandıktan sonra ilk olarak shell parametresi ile komut satırına düşmeniz gerekmektedir. 9
MySQL Kurulumu Daha sonra Mysql in aktif edilmesi için aşağıdaki dosya çalıştırılmalıdır. Dikkat! Burada veritabanın şifresini belirlemek için komutu çalıştırmadan önce ee ile dosya içerisine girip pasword alını değiştirilmelidir. Varsayılan veri tabanı şifresi coslat tır. # ee /var/coslat/smsotp/setup_mysql.sh editörden ESC ile çıkabilirsiniz. (şifre değişiminden sonra kaydetmeyi unutmayınız) Veritabanı şifresini de belirledikten sonra aşağıdaki komut ile veritabanını aktif edebilirsiniz. # /var/coslat/smsotp/setup_mysql.sh komutun çıktısı aşağıdaki gibi olacaktır. 10
COSLAT 2FA YAPILANDIRMASI Veritabanın Ayarlanması Mysql kurulumundan sonra, servislerden Freeradius un bu veritabanını kullanabilmesi için 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 11
Post-Auth: Enable Daha sonra kurulum sonrası yapılandırma aşamasında, komut satırından ayarlarını yaptığımız ( /var/coslat/smsotp/setup_mysql.sh betiği ile ) 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.) 12
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 Accounting için ise 1813 portunu kullanıyoruz. Bunun için; 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 istekleirn kabul edileceği ip adesini belirtiyoruz. tüm interfaceler için tercih edilecekse * dememiz yeterli olacaktır.) Port: 1813 Interface Type: Accounting 13
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 14
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. 15
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. 16
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. 17
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. 18
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. LDAP Yapılandırması Ldap tan kimlik doğrulaması aktif etmek için LDAP sekmesine geliyoruz. LDAP Authorization Support: İşaretli LDAP Authentication Support: İşsaretli 19
General Configuration Server 1 kısmında; Server Address: Ldap sunucu ip adresi ( 192.168.19.200 ) Server Port: 389 Ldap sunucu portu Identity: Ldap bağlanmak için kullanıcı adı ( administrator@coslat.local ) Password: Ldap a bağlanmak için kullanıcı parolası Base DN: Kullanıcıların aranacağı dizindir ( dc=coslat,dc=local ) NOT: Sadece belirli OU içerisinden grup veya kullanıcılar alınacaksa buraya yazılabilir. Ama gruplara göre izin verilecekse Users Groups lar kullanılmalıdır. Filter: Ldap ta kullanıcıları aramak için belirtilir. (samaccountname=%{%{stripped-user-name}:-%{user-name}}) NOT: Belirli bir gruba üye kullanıcıların bağlanması isteniyorsa burada belirtilmelidir. Base Filter: (objectclass=radiusprofile) Get Phone Filter: Cep telefonları AD de ise telefonları buradan çekmek için kullanılır. (&(objectcategory=person)(objectclass=user)) 20
Son olarak Miscellaneous Configuration - Server 1 kısmında Active Directory Compatibility: Enable Ayarları yaptıktan sonra Save butonunu tıklıyoruz. LDAP SMS ile doğrulama Ldap ile doğrulamadan sonra kullanıcılara telefon tanımlaması yapmak gerekmektedir. Kullanıcıların telefonları AD de tanımlı değilse el ile eklemek gerekmektedir. Kullanıcı telefonlarını el ile eklemek için; Users Phone -> +Add tıklanır. Username: Kullanıcının AD de kullanıcı adı girilir. User Phone: Kullanıcının cep telefonu girilir. 21
Kullanıcı Telefonlarının Ldap tan çekilmesi için; Kullanıcı telefonlarının çekilmesi için grup seçimi ayrına Users Groups sekmesinden geliyoruz. Burada hangi gruba üye kullanıcıları çekmek istiyorsak, Base DN: Ldap tan hangi OU içerisindeki grupların alınacağı belirtilir. ( dc=coslat,dc=local ) Sync Ldap Group butonu tıklanarak Ldap ta Base Dn içerisinde olan grup listesi çekilir. LDAP Groups : Hangi gruba üye kullanıcıların telefonunun çekileceği belirtilir. Not allowed groups ta seçip >>Move to Allows 2fa group list butonu ile taşıyoruz. Get Fortigate Groups: Fortigate ile entegrasyon var ve bu gruplara göre firewall kuralları yapılandırılacak ise işaretlenmelidir. 22
User Phones -> Sync Ldap ile seçilen grupların telefonları çekilir. LDAP Google Authenticator ile doğrulama Google Authenticator ile doğrulama adımları aynen yapılır. ÖRNEK VPN SUNUCU YAPILANDIRMASI Coslat 2FA ile Fortigate SSL VPN Entegrasyonu 23
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. ) 24
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. 25
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. ) 26
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. 27
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) 28
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) 29
30