Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
March 26, 2022 05:34 pm GMT

Gitlab'n LDAP balantsnda zel karakter sorunu ve zm

Gitlab'a LDAP zerinden giri

Gitlab' kurduktan sonra SAMBA DC ve MS AD zerinden, LDAP kullanclar ile giri iin bir ok kaynakta belirtildii gibi aadaki satrlar /etc/gitlab/gitlab.rb dosyasna yazmak gerekmekte.

gitlab_rails['ldap_enabled'] = truegitlab_rails['prevent_ldap_sign_in'] = falsegitlab_rails['ldap_servers'] = {'main' => {  'label' => 'LDAP',  'host' =>  '192.168.1.44',  'port' => 636,  'uid' => 'sAMAccountName',  'encryption' => 'simple_tls',  'verify_certificates' => false,  'bind_dn' => 'cn=gitlab,cn=Users,dc=ev,dc=lab',  'password' => 'Parola123!',  'tls_options' => {    'ca_file' => '',    'ssl_version' => '',    'ciphers' => '',    'cert' => '',    'key' => ''  },  'timeout' => 10,  'active_directory' => true,  'allow_username_or_email_login' => false,  'block_auto_created_users' => false,  'base' => 'dc=evde,dc=lab',  'user_filter' => '',  'attributes' => {    'username' => ['uid', 'userid', 'sAMAccountName'],    'email' => ['mail', 'email', 'userPrincipalName'],    'name' => 'cn',    'first_name' => 'givenName',    'last_name' => 'sn'  },  'lowercase_usernames' => false,  }}

Byk "" ve sorun izleme

Bu ayarlardan sonra normal artlarda bir problem olmasa da SAMBA DC zerindeki kullanclarda DN bilgisinde byk harfle yazlan "" bulunuyorsa kullanc giri yaparken engellendii ve kullancnn engelli listesine tand grlmekteydi.

SAMBA DC loglarn incelediimizde giri loglarnda olumsuz bir log gzkmemekle beraber, yukardaki yaplandrma dosyasndaki gitlab kullancs ile de giri yapld grnmekte. (Tabi daha sonradan anlald kadaryla kullanc girii yaptktan sonra gitlab bir kere daha dn bilgisini filan ekiyor)

Bunun zerine Gitlab loglarn aadaki gibi incelediimizde Gitlab'n her eyi kltn, DN bilgisini de ald ve bunu klttn, bu kltme sonrasnda kullanc bulunamad hatas verdii grlmekteydi.

tail -f /var/log/gitlab/gitlab-rails/application*

Dolaysyla sorun Gitlab zerinde DN bilgisinin olduu gibi kullanlmayp tm karakterleri kltlmesi ile kt grlmektedir. Tabi byk ""'nin knn ngilizce'deki karl tam belli olmad iin Gitlab'n kltt "", SAMBA tarafnda byk-kk harf duyarllna yakalanmayp sorunun ana kaynan oluturuyor.

Workaround zm

Workaround zm olarak /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/auth/ldap/dn.rb dosyasndaki to_normalized_s fonksiyonu ierisini aadaki gibi yaparak sorun zlebilmekte.

       def to_normalized_s          self.class.new(*to_a).to_s.downcase.gsub("i", "").upcase        end

Sonrasnda aadaki gibi restart edilmesi uygun olacaktr.

gitlab-ctl upgradegitlab-ctl restart

Eklenen ey zet olarak kk "iki noktal i"'nin byk 'ye evrilmesi ve sorunun daha garantilenmesi iin "upcase" yani bytlmesi. Bu ekilde sadece "" sorunu iin zm oluturmakla birlikte en_EN.UTF-8'deki baka sorunlar zmeyecei aikar. Dolaysyla hardcoded bir zm.

https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/auth/ldap/dn.rb#L230

MS AD'de bu sorunun yakalanmamas

SAMBA'da bu sorunun olmas fakat MS Aktif Dizin'de bu sorunun olmamasn aratrdmzda ilgin bir noktaya geldik. Bu nokta AD'de ngilizce dahi kurulsa byk ""'nin k olarak hem i hem de i byk-kk harf duyarsz olarak aratlabilmekte. Ve tabi ki bu nedenle SAMBA'ya gre MS AD'de ali varken ali isimli ayn hesap oluturulamamakta ve bu isimler varken ALI veya AL isimli kullanc da oluturulmamakta. SAMBA ise en_US-UTF-8 standart uyarnca ALI ve ali'yi ayn kabul edip, AL'yi ayr bir isim gibi kabul etmekte.

Konunun genel kltr ksm

Konuya genel olarak baktmzda problemin aslnda Trke dilindeki 'nin k olan i'nin, ngilizce dilindeki I'nn k olan i ile karmasyla ortaya kt grlmektedir.

Image description


Original Link: https://dev.to/aciklab/gitlabin-ldap-baglantisinda-ozel-karakter-sorunu-3nc0

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To