diff --git a/src/beseri_guvenlik/locker.md b/src/beseri_guvenlik/locker.md index 628fd5c..8e35b5e 100644 --- a/src/beseri_guvenlik/locker.md +++ b/src/beseri_guvenlik/locker.md @@ -1,3 +1,25 @@ # Locker ile Ekran Kilidi Güvenliği -[Bu sayfaya katkı verebilirsiniz.](https://git.oyd.org.tr/oyd/guvenlik) +[Locker](https://f-droid.org/en/packages/net.zygotelabs.locker/) Android cihazlarda ekran kilidinizin deneme sayısını belirleyip bu sayının aşılması durumunda cihazınızdaki tüm verileri silmeye yarayan basit bir yazılımdır. + +Locker'i özgür uygulama deposu [F-droid](https://f-droid.org) aracılığı ile cihazınıza kurabilirsiniz. Locker'i çalıştırdığınızda sizi gayet basit bir ekran ile karşılayacaktır. + +![alt-text](beseri_guvenlik/locker/fdroid_locker.png) +![alt-text](beseri_guvenlik/locker/fdroid_locker1.png) + +Kurulumun ardından Locker'i çalıştırıp ekrana gelen ayarları yapmaya başlayabilirsiniz. + +![alt-text](beseri_guvenlik/locker/ekran_locker.png) + +İlk olarak `admin enabled` seçeneğini işaretleyerek işletim sisteminizde Locker'e yönetici yetkisi vermeniz gerekli. Bu seçenği işaretlemenizle birlikte cihazınız sizden bu konuda yetki talep edecektir. + +![alt-text](beseri_guvenlik/locker/yetki_locker.png) + +Yetki ardından ayarları dilediğiniz gibi yapabilirsiniz. Ana ekrandan kaç deneme ertesinde cihazın sıfırlanacağını belirledikten sonra `Disable Lock Screen Warning' seçeneğini seçerek ana ekranda cihazın kendini sıfırlayacağına dair uyarı çıkmasını engelleyebilirsiniz. Bu seçenek bir arkadaşınızın laf olsun diye cihazınızı sıfırlamasına karşı uyarı gösterecek olsa da saldırganın durumdan haberdar olup denemelerini durdurmasına da sebep olacağından kullanım koşuluna göre değerlendirilmesi gereklidir. + +Gerekli ayarların yapılması ardından `Enable` düğmesine basarak korumayı devreye alabilirsiniz. + +![alt-text](beseri_guvenlik/locker/enable_locker.png) +![alt-text](beseri_guvenlik/locker/enable_locker1.png) + +Bu noktadan sonra ekran kilidinizde belirlediğiniz sayıda hata oluşması durumunda cihazınız içindeki tüm verileri silerek sıfırlanacaktır. İstenmeyen bir durumun gerçekleşmesine karşı dikkatli olmanız ve düzenli olarak yedek almanız şiddetle önerilir. diff --git a/src/beseri_guvenlik/locker/droid_locker1.png b/src/beseri_guvenlik/locker/droid_locker1.png new file mode 100644 index 0000000..426238e Binary files /dev/null and b/src/beseri_guvenlik/locker/droid_locker1.png differ diff --git a/src/beseri_guvenlik/locker/ekran_locker.png b/src/beseri_guvenlik/locker/ekran_locker.png new file mode 100644 index 0000000..6be2a09 Binary files /dev/null and b/src/beseri_guvenlik/locker/ekran_locker.png differ diff --git a/src/beseri_guvenlik/locker/enable_locker.png b/src/beseri_guvenlik/locker/enable_locker.png new file mode 100644 index 0000000..c5e22a1 Binary files /dev/null and b/src/beseri_guvenlik/locker/enable_locker.png differ diff --git a/src/beseri_guvenlik/locker/enable_locker1.png b/src/beseri_guvenlik/locker/enable_locker1.png new file mode 100644 index 0000000..20f529c Binary files /dev/null and b/src/beseri_guvenlik/locker/enable_locker1.png differ diff --git a/src/beseri_guvenlik/locker/fdroid_locker.png b/src/beseri_guvenlik/locker/fdroid_locker.png new file mode 100644 index 0000000..26f6c52 Binary files /dev/null and b/src/beseri_guvenlik/locker/fdroid_locker.png differ diff --git a/src/beseri_guvenlik/locker/yetki_locker.png b/src/beseri_guvenlik/locker/yetki_locker.png new file mode 100644 index 0000000..93dead4 Binary files /dev/null and b/src/beseri_guvenlik/locker/yetki_locker.png differ diff --git a/src/beseri_guvenlik/oje.md b/src/beseri_guvenlik/oje.md index 8a7b832..25e8b1d 100644 --- a/src/beseri_guvenlik/oje.md +++ b/src/beseri_guvenlik/oje.md @@ -42,18 +42,22 @@ Aşağıdaki cihaz ve konumları değerlendirmeniz önerilir. * Cihazın kasasının birleşme noktaları * Portlar * USB belleklerin girişleri -* Taşınabilir harddisklerin birleşim yerleri +* Taşınabilir donanımların birleşim yerleri ### Mühürlenecek alanı temizleyin Ojenin iyice tutunabilmesi uygulanacağı alanın temizliğine bağlı. Bu bakımdan toz, yağ, parmakizi gibi kirleticiler mühürün dayanıklılığına etki edecektir. Temizlik için alkol içeren bir çözelti veya aseton kullanabilirsiniz. Aynı zamanda mühürü ileride çıkarmak ve cihazınıza zarar gelmemesi arzunuz ise cihazın üzerinde kaplama olmayan bir alan tercih etmeniz önerilir. -Şayet mühürün dayanıklılığına ciddi bir yatırım yapmak istiyorsanız uygulama alanını zımparalayarak tutunmayı arttırabilirsiniz ama pek çok durum için bu aşırı olacaktır. +Şayet mühürün dayanıklılığına ciddi bir yatırım yapmak istiyorsanız uygulama alanını zımparalayarak tutunmayı arttırabilirsiniz ama pek çok durum için bu aşırı olacaktır. Aynı zamanda vida delikleri derin olan cihazlarda deliği bir kağıt veya pamuk ile kapatmak ojenin içeri kaçmasını engelleyecektir. + +![alt-text](oje/tipa.jpg) ### Ojenizi sürün Uygulama alanına simli ojenizi damlatarak veya bolca sürerek uygulayın. Burada amaç birleşik ve parçalı olmayan kalın bir tabaka elde etmek. Ojenizden yeterince simin yüzeye aktarıldığından emin olun. İşlemin ertesinde ojeye kuruması için yeterli süreyi tanıyın. +![alt-text](oje/oje.jpg) + ### Mühürlerin fotoğrafını çekin Her ne kadar simleri ve konumlarını hatırlayabileceğinizi düşünseniz de gerekli olan güvenlik payı en küçük değişikliklerin fark edilebilmesini gerektirmekte. Bu amaçla yaptığınız her mührün iyi aydınlatılmış bir ortamda bulanık olmayan yakın bir fotoğrafını çekin. diff --git a/src/beseri_guvenlik/oje/oje.jpg b/src/beseri_guvenlik/oje/oje.jpg new file mode 100644 index 0000000..818e1c1 Binary files /dev/null and b/src/beseri_guvenlik/oje/oje.jpg differ diff --git a/src/beseri_guvenlik/oje/tipa.jpg b/src/beseri_guvenlik/oje/tipa.jpg new file mode 100644 index 0000000..a78c91d Binary files /dev/null and b/src/beseri_guvenlik/oje/tipa.jpg differ diff --git a/src/cihaz_guvenligi/ga_pam.md b/src/cihaz_guvenligi/ga_pam.md index 2e5bc70..6e68a06 100644 --- a/src/cihaz_guvenligi/ga_pam.md +++ b/src/cihaz_guvenligi/ga_pam.md @@ -8,7 +8,7 @@ Google-authenticator(GA) GNU/Linux cihazlarda login ekranlarında parola ile bir Debian sistemlerde: `sudo apt-get install google-authenticator libpam-google-authenticator` -RPM tabanlı sistemlerde: `sudo yum instlal google-authenticator libpam-google-authenticator` +RPM tabanlı sistemlerde: `sudo yum install google-authenticator libpam-google-authenticator` Kurulumun tamamlanmasının ardından GA'nın ayarlarını yaparak cihazınızda bir anahtar oluşturmak bunu kullandığınız mobil cihazdaki bir OTP yazılımına aktarmak için aşağıdaki komutu uçbirimde çalıştırın. diff --git a/src/cihaz_guvenligi/login.md b/src/cihaz_guvenligi/login.md index 2b93ebb..9194541 100644 --- a/src/cihaz_guvenligi/login.md +++ b/src/cihaz_guvenligi/login.md @@ -8,12 +8,20 @@ Yetkilendirme sistemlerine sunulabilecek diğer girdiler; tek kullanımlık kodl ## İkinci faktör -İkinci faktör olarak tercih edeceğiniz sistem tamamen kullanım ve güvenlik ihtiyaçlarınıza bağlıdır. Kimi sistemler var olan donanımlarınızı (akıllı telefon, parmak) kullanabilirken +İkinci faktör olarak tercih edeceğiniz sistem tamamen kullanım ve güvenlik ihtiyaçlarınıza bağlıdır. Kimi sistemler var olan donanımlarınızı (akıllı telefon, parmak) kullanabilirken kimileri kriptografik bir aracı gerektirmektedir. Bu anlamda hem fiziki hem de kullanım bakımından bir miktar külfet getirmekle hangi yöntemin daha faydalı olacağı kullanım koşuluna bağlıdır. + +Akıllı cihazlardan google-authenticator ile yapılaca OTP yetkilendirmesi hali hazırda sahip olunan bir cihazı kullanmakla en düşük maliyeti ortaya çıkaracak ve sürekli yanınızda taşıdığınız bir cihazı unutma ihtimalini doğurmayacaktır. Lakin her bilgisayarınıza giriş yapmak istediğinizde telefonunuza da erişmeniz ve kodu ekrana girmeniz gerekeceğinden yorucu bir duruma dönüşebilir sık kullanılan bilgisayarlarda. + +Parmak izi kullanan sistemler kullanım kolaylığı sunsa da söz konusu sistemler arasında en az güvenli olandır. Hem parmak izi hataya açık bir sistem olarak haklı olarak erişmeniz gereken bir sisteme erişememenize sebep olabilir hem de bir saldırganın en kolay aşabileceği ikinci faktör konumundadır. Filmlerdeki gibi parmağınızdan olmakla görece basit [yöntemlerle parmak izi sistemlerinin aşılması](https://www.forbes.com/sites/daveywinder/2019/11/02/smartphone-security-alert-as-hackers-claim-any-fingerprint-lock-broken-in-20-minutes/) mümkündür. + +Kriptografik araçlar ise her iki sistemin bir birleşimini sunmaktadır. Bu cihazlar hem taklit edilip aşılması zor hem de pratik olarak kullanması çok kolaydır. Lakin [Yubikey](https://yubico.com] gibi cihazlar hem pahalı hem de kolay elde edilebilen araçlar değildir. Bu araçların kurulumları da bir miktar karmaşık olsa da muhtemelen fiziki güvenliğiniz için en iyi seçenek olmaktadırlar. Tek eksik yön bu cihazları sürekli taşımanız gerektiğinden bunu yapmanın pratik bir yolunu da hayatınıza ekleme zorunluluğudur. + +Yetkilendirme güvenliği için ikinci faktör olarak kullanılabilecek sistemlere ilişkin rehberlerimize aşağıdaki bağlantılardan erişebilirsiniz: [Google-Authenticator ile yetkilendirme](cihaz_guvenligi/ga_pam.md) [Yubikey ile yetkilendirme](cihaz_guvenligi/yubikey_pam.md) -[Parmakizi ile yetkilendirme](cihaz_guvenligi/parmak_pam.md) +[Parmak izi ile yetkilendirme](cihaz_guvenligi/parmak_pam.md) -[Bu bölüme katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) +[Bu bölüme katkı verebilirsiniz](https://git.oyd.org.tr) diff --git a/src/cihaz_guvenligi/parmak_pam.md b/src/cihaz_guvenligi/parmak_pam.md index e69de29..4451329 100644 --- a/src/cihaz_guvenligi/parmak_pam.md +++ b/src/cihaz_guvenligi/parmak_pam.md @@ -0,0 +1,134 @@ +# parmakizi ile Login Güvenliği + +parmakizi yetkilendirme için yaygınca kullanılan bir girdi. Biyometrik verilerin yetkilendirme kullanımı hem kişilerden görece ayrılmaz bir öğeyi kullanarak kişilerin fiziki varlığını garanti etmekte hem de neredeyse kişiye her bireye özel bir veriyi kullanarak güvenlik sağlamakta. Biyometrik verilerin kanuni kullanım sınırları bir yana bırakıldığında sayılan özellikleri diğer ikinci faktör araçlarından kullanımını özellikle arzulanır kılmakta. + +Lakin parmakizi seçenekler arasındaki en güvenli tercih sayılmaz. Bu bakımdan: + +* parmakizi değiştirilemez. Hali ile bu verinin güvenliğini sağlamak özellikle önem kazanır. + +* parmakizi insanların her yere bıraktığı bir şey olmakla görece kolaylıkla elde edilebilir bir bilgidir. + +* parmakizi tarama sistemleri aldatılmaya açıktır. Her ne kadar gelişmiş donanımlar bunu zorlaştırsa da imkansız kılmamaktadır. + +* parmakizi taramaları kişiyi tanımlamakta hata yapabilir. Özellikle yaralanmalar gibi fiziki değişiklikler taramayı imkansız kılabilir. + +Bu sebeplerden ötürü parmakizi üçüncü faktör olarak veya kişilerin fiziki varlığını kanıtlamak için zayıf bir kanıt olarak kullanılabilir. Her halde sadece parola ile korunan bir sisteme parmakizi eklenmesi bir miktar güvenlik sağlayacaktır. Özellikle dahili parmakizi tarayıcısı olan cihazlarda bunu yapmanın maliyeti neredeyse sıfır olduğundan değerlendirilebilir bir seçenek olarak ortaya çıkabilir. + +## Kurulum + +Öncelikle bilgisayarınıza `fprintd` paketini kurmanız gerekli. Bunun için aşağıdaki komutları çalıştırın. + +Debian sistemlerde: `sudo apt-get install fprintd` + +RPM tabanlı sistemlerde: `sudo yum install fprintd` + +Kurulumun ardından fprintd ve dahili PAM modülü bilgisayarınıza kurulmuş olacak. parmakizi taramasına başlamak için aşağıdaki komutu girin. + +`fprintd-enroll -f [ Parmak adı ]` + +fprintd'ye hangi parmağınızı taradığınızı belirtmeniz gerekli. Bu sayede size tarama sırasında hangi parmağınızı sorduğunu bilebilirsiniz. Tavsiye olarak her iki elinizde ikişer parmağı tanıtmanız aksi bir durumda kullanımınızı etkilememek için yeterli olacaktır. `-f` paramtersi ardından parmak adını aşağıdaki şekilde girebilirsiniz. + +left-thumb : Sol baş parmak +left-index-finger : Sol işaret parmağı +left-middle-finger : Sol orta parmak +left-ring-finger : Sol yüzük parmağı +left-little-finger : Sol serçe parmak +right-thumb : Sağ başparmak +right-index-finger : Sağ işaret parmağı +right-middle-finger : Sağ orta parmak +right-ring-finger : Sağ yüzük parmağı +right-little-finger : Sağ serçe parmak + +Sol serçe parmağınızı tanıtmak için örnek olarak: + +`fprintd-enroll -f left-little-finger` + +Sizden parmağınızı 4 kere tarayıcıdan geçirmeniz istenecek ve başarılı olması halinde ekleme işlemi tamamlanacaktır. + +``` +Using device /net/reactivated/Fprint/Device/0 +Enrolling left-little-finger finger. +Enroll result: enroll-stage-passed +Enroll result: enroll-stage-passed +Enroll result: enroll-stage-passed +Enroll result: enroll-stage-passed +Enroll result: enroll-completed +``` + +İşlemin başarısını test etmek için aşağıdaki komutu çalıştırıp parmağınızı okutabilirsiniz. + +`fprintd-verify -f left-little-finger` + +Kayıtlı parmak izleriniz listelenecek ve belirttiğiniz parmağı okutmanız üzerine onay alacaksınız. + +``` +Using device /net/reactivated/Fprint/Device/0 +Listing enrolled fingers: + - #0: left-little-finger +Verify result: verify-match (done) +``` +## PAM ayarları + +[PAM](https://en.wikipedia.org/wiki/Linux_PAM) GNU/Linux cihazlarda kullanıcı yetkilendirmesinden sorumlu olan yazılımdır. `/etc/pam.d` dizini altında bulunan ayar dosyaları ile PAM davranışları şekillendirilebilir. Bu rehber PAM detaylarına girmek üzere yazılmadığından bir sistemdeki olası en güvenli kullanımı önerecektir. Fakat GA ve PAM ayarlarını ihtiyacınıza göre istediğiz gibi şekillendirebilirsiniz. Buna parola olmadan sadece GA kodu ile cihazınıza giriş yapmaktan, su/sudo gibi özel login tiplerine sınırlama getirmek şeklinde çeşitlendirmek mümkün. + +Cihazınızdaki tüm PAM kontrolündeki login işlemlerine GA kodunu uygulamak için aşağıdaki dosyayı tercih ettiğiniz bir metin editörü ile açın. Aşağıdaki komutta `nano` editörü kullanılmıştır. + +** Birazdan açacağınız sudo yetkisi vereceğiniz uçbirimi kapatmayın!!! ** + +`sudo nano /etc/pam.d/common-auth` + +Karşınıza aşağıdakine benzer bir metin çıkacaktır. + +``` +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +auth [success=1 default=ignore] pam_unix.so nullok_secure +#auth optional pam_exec.so /home/alper/wrongpasspic.sh +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) +auth optional pam_cap.so +# end of pam-auth-update config +``` + +Dosyanın sonuna aşağıdaki satırı ekleyin ve `ctrl + x` komutu ile kaydedip çıkın. + +`auth required pam_fprintd.so` + +** Şayet bu aşamada bir sorun var ve ekran kilidinizi devreye alırsanız cihazınıza tekrar giremeyebilirsiniz!! ** + +Bu noktadan sonra cihazınızdaki tüm yetkilendirme gereken işlemlerde sizden parmakiziniz istenecektir. Her şeyin yolunda olduğundan emin olmak ve bir sorun varsa zahmetsizde düzeltmek için ** yukarıdaki tavsiyeye bağlı olarak açık tuttuğunuz sudo yetkili uçbirimden ** başka bir uç birim açarak aşağıdaki komutu girin. + +`sudo echo test` + +sudo yetkilendirmesi için sizden parola ve ardından parmakizi sorulması gerekli. Şayet bu gerçekleşmedi veya `test` yazısı başarılı şekilde yazılmadı ise ayarlarınızda bir terslik var demek olacağından geri dönüp adımlarda bir hata yapıp yapmadığınızı kontrol etmelisiniz. Şayet bir sorunla karşılaşırsanız sudo yetkili uçbirimden `/etc/pam.d/common-auth` dosyasında yaptığınız değişiklikleri geri alıp kaydederek cihazınızın erişiminiz dışına kitlenmesini engelleyebilirsiniz. + +Şayet test'i başarılı şekilde geçti iseniz artık parmakiziniz ile birlikte cihazınızı biraz daha güvenli şekilde kullanmaya başlayabilirsiniz. + +## Diğer kullanıcılar + +Eğer cihazda birden fazla kullanıcı var ve sadece bir kullanıcı parmakizi kullanacak ise `/etc/pam.d/common-auth` yapılandırmasındaki değişikliği aşağıdaki ile değiştirerek sadece parmakizi kurulumu yapmış kullanıcıların ikinci faktöre ihtiyaç duymasını sağlayabilirsiniz. + +** Bu durum root kullanıcısının 2FA dışında kalmasına sebep olacağından gerekmedikçe önerilmez. ** + +`auth required pam_google_authenticator.so nullok` + +Şayet root kullanıcısının da girişini parmakizi ile kullanmak isterseniz yukarıdaki adımları root kullanıcı ile tekrar etmeniz gereklidir. diff --git a/src/cihaz_guvenligi/yubikey_pam.md b/src/cihaz_guvenligi/yubikey_pam.md index 2dc02fe..f4e5cbb 100644 --- a/src/cihaz_guvenligi/yubikey_pam.md +++ b/src/cihaz_guvenligi/yubikey_pam.md @@ -1 +1,128 @@ -[Bu bölüme katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) +# Yubikey ile Login Güvenliği + +[Yubikey](https://yubico.com) çok işlevli kriptografik bir güvenlik aracı. Yubikeyler [GPG](yazisma_guvenligi/gpg/gpg.md) anahtarı olarak kullanılabildiği gibi U2F ve TOTP gibi ikinci faktör yetkilendirme araçları olarak da kullanılabilmekte. Bu özellikleri sayesinde bilgisayarlarda yetkilendirme aşamasında ikinci faktör olarak kullanılması mümkün olmakta. Bu kullanıcıların bildikleri bir şey (parola/pin) ve sahip oldukları bir şey (Yubikey) ile sistemlere giriş yapabilmelerine imkan vermekte. + +## Kurulum + +Öncelikle Yubikey'in challange-response imkanından yararlanarak login olabilmek için aşağıdaki gerekli paketleri kurmanız gerekmekte. + +Debian tabanlı sistemler için: `sudo apt-get install libpam-yubico yubikey-manager` + +RPM tabanlı sistemler için: ` sudo yum install libpam-yubico yubikey-manager` + +### Yubikey'in ayarlanması + +Öncelikle Yubikey'inizin bilgisayarınızda görüldüğünden emin olmak için aşağıdaki komutu bir uçbirimde çalıştırıp Yubikey versiyonunuzu gördüğünüzden emin olun. + +`ykinfo -v` + +Şayet Yubikey dahilinde bir challange-response slotu altında anahtarınız bulunuyorsa bu bölümü geçebilirsiniz. Aksi takdirde Yubikey'inizin iki OTP bölümünden birinde bir sefere mahsus olarak kurulum yaparak gerekli anahtarların oluşturulmasını sağlamanız gerekiyor. Bunun için Yubikey'i bilgisayarınıza takarak bir uçbirimde aşağıdaki komutu çalıştırın. + +`ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible` + +Uçbirimden aşağıdaki gibi bir cevap dönecektir. Üretilen anahtar listelenecek ve 2 bölüme bu anahtarı atayıp atamak istemediğiniz sorulacaktır. Soruya evet anlamında `y` diyerek devam edin. + +``` +Firmware version 4.x.x Touch level 263 Program sequence 3 + +Configuration data to be written to key configuration 2: + +fixed: m: +uid: n/a +key: h:69b16d50e08c34f12fecc148ae0eabf284c59484 +acc_code: h:000000000000 +OATH IMF: h:0 +ticket_flags: CHAL_RESP +config_flags: CHAL_HMAC|HMAC_LT64 +extended_flags: SERIAL_API_VISIBLE + +Commit? (y/n) [n]: +``` + +Şayet Yubikey'inizi bilgisayara takılı bırakıyoranız, yetkilendirmenin sizden habersiz sistem tarafından gerçekleştirilmesini engellemek için Yubikey'e dokunma gerekliliği getirebilirsiniz. Bunun için aşağıdaki komutu kullanabilirsiniz. + +`ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -ochal-btn-trig -oserial-api-visible` + +Bu noktadan sonra artık Yubikey'iniz challange-response bölümüne sahip ve kullanıma hazır. Şayet denemek isterseniz aşağıdaki komutu girerek bir uçbirimde rastgele cevabı görebilirsiniz. + +`ykman otp calculate 2 1111111111111111` + +### PAM ayarları + +PAM yapılandırmasını ayarlamadan önce gerekli Yubikey anahtarının bilgisayarınızda ev dizini altına eklenmesi gerekiyor. Bunun için aşağıdaki komutu çalıştırın. + +`ykpamcfg -2 -v` + +Uçbirim Yubikey'e istek göndererek dönüşünü bekleyecektir. Şayet dokunma ayarını açtıysanız Yubikey'e dokunmanız gerekebilir bu noktada. Uçbirimden aşağıdaki gibi bir sonuç alacaksınız. + +``` +debug: ../util.c:222 (check_firmware_version): YubiKey Firmware version: 4.4.2 + +Sending 63 bytes HMAC challenge to slot 2 +Sending 63 bytes HMAC challenge to slot 2 +Stored initial challenge and expected response in '/home/xxx/.yubico/challenge-1234567'. +``` + +[PAM](https://en.wikipedia.org/wiki/Linux_PAM) GNU/Linux cihazlarda kullanıcı yetkilendirmesinden sorumlu olan yazılımdır. `/etc/pam.d` dizini altında bulunan ayar dosyaları ile PAM davranışları şekillendirilebilir. Bu rehber PAM detaylarına girmek üzere yazılmadığından bir sistemdeki olası en güvenli kullanımı önerecektir. Fakat GA ve PAM ayarlarını ihtiyacınıza göre istediğiz gibi şekillendirebilirsiniz. Buna parola olmadan sadece GA kodu ile cihazınıza giriş yapmaktan, su/sudo gibi özel login tiplerine sınırlama getirmek şeklinde çeşitlendirmek mümkün. + +Cihazınızdaki tüm PAM kontrolündeki login işlemlerine GA kodunu uygulamak için aşağıdaki dosyayı tercih ettiğiniz bir metin editörü ile açın. Aşağıdaki komutta `nano` editörü kullanılmıştır. + +** Birazdan açacağınız sudo yetkisi vereceğiniz uçbirimi kapatmayın!!! ** + +`sudo nano /etc/pam.d/common-auth` + +Karşınıza aşağıdakine benzer bir metin çıkacaktır. + +``` +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +auth [success=1 default=ignore] pam_unix.so nullok_secure +#auth optional pam_exec.so /home/alper/wrongpasspic.sh +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) +auth optional pam_cap.so +# end of pam-auth-update config +``` + +Dosyanın sonuna aşağıdaki satırı ekleyin ve `ctrl + x` komutu ile kaydedip çıkın. + +`auth required pam_yubico.so mode=challenge-response` + +** Şayet bu aşamada bir sorun var ve ekran kilidinizi devreye alırsanız cihazınıza tekrar giremeyebilirsiniz!! ** + +Bu noktadan sonra cihazınızdaki tüm yetkilendirme gereken işlemlerde sizden Yubikey'i takmanız istenecektir. Her şeyin yolunda olduğundan emin olmak ve bir sorun varsa zahmetsizde düzeltmek için ** yukarıdaki tavsiyeye bağlı olarak açık tuttuğunuz sudo yetkili uçbirimden ** başka bir uç birim açarak aşağıdaki komutu girin. + +`sudo echo test` + +sudo yetkilendirmesi için Yubikey'iniz takılı iken sizden parola sorulması ve uçbirimin `test` yazdırması gerekli. Şayet bu gerçekleşmedi ise ayarlarınızda bir terslik var demek olacağından geri dönüp adımlarda bir hata yapıp yapmadığınızı kontrol etmelisiniz. Şayet bir sorunla karşılaşırsanız sudo yetkili uçbirimden `/etc/pam.d/common-auth` dosyasında yaptığınız değişiklikleri geri alıp kaydederek cihazınızın erişiminiz dışına kitlenmesini engelleyebilirsiniz. + +Şayet test'i başarılı şekilde geçti iseniz artık Yubikey ile birlikte cihazınızı biraz daha güvenli şekilde kullanmaya başlayabilirsiniz. + +### Diğer kullanıcılar + +Eğer cihazda birden fazla kullanıcı var ve sadece bir kullanıcı Yubikey kullanacak ise `/etc/pam.d/common-auth` yapılandırmasındaki değişikliği aşağıdaki ile değiştirerek sadece google-authenticator kurulumu yapmış kullanıcıların OTP kullanmasını sağlayabilirsiniz. + +** Bu durum root kullanıcısının 2FA dışında kalmasına sebep olacağından gerekmedikçe önerilmez. ** + +`auth required pam_yubico.so mode=challenge-response nullok` + +Şayet root kullanıcısının da girişini Yubikey ile gerçekleştirmek isterseniz yukarıdaki adımları root kullanıcı ile tekrar etmeniz gereklidir.