Merge pull request 'iki yeni rehberin eklenmesi' (#116) from AA/guvenlik:master into master
Reviewed-on: oyd/guvenlik#116remotes/1726915166129968822/master
@ -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. |
||||
|
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 209 KiB |
After Width: | Height: | Size: 488 KiB |
@ -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. |
@ -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. |
||||
|