Merge pull request 'Ciddi değişiklikler ve yeni rehberler' (#118) from AA/guvenlik:master into master
Reviewed-on: #118 Reviewed-by: murat emir cabaroğlu <mrtmrcbr@gizli.eposta>pull/119/head
@ -1,3 +1,130 @@ |
|||||||
# Yubikey ile 2FA Kurulumu |
# Yubikey ile 2FA Kurulumu |
||||||
|
|
||||||
[Bu sayfaya katkı verebilirsiniz.](https://git.oyd.org.tr/oyd/guvenlik) |
[Yubikey](https://yubico.com) çok amaçlı kriptografik bir güvenlik anahtarıdır. Günümüzde en yaygın kullanılan cihaz olmakla pek çok hizmet tarafından desteklenmekte ve fazlasıyla kullanım alanı bulmakta. Yubikey Neo'dan sonra özgür donanımları terk eden Yubico artık özel mülk sistemler üretmekte ve bu konuda bir [açıklamaları bulunmakta.](https://www.yubico.com/blog/secure-hardware-vs-open-source/) |
||||||
|
|
||||||
|
Yubikey'in en yaygın kullanımlarından biri çevrimiçi hizmetlerde ikinci faktör olarak kullanımıdır. Bu amaçla Yubikey'ler birden fazla sistemi desteklemektedir. |
||||||
|
|
||||||
|
* [TOTP](https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm): En yaygın kullanılan 2FA sistemi olarak zamana dayalı 6 haneli kod üretimine dayanır. Bu sistem [akıllı mobil cihazlarda](andotp.md) kullanabildiği gibi Yubikey üzerinde de kullanılabilmekte. |
||||||
|
|
||||||
|
* FIDO U2F: [FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/) Yubico ile Google tarafından geliştirilmiş bir 2FA teknolojisidir. Pek çok servis tarafından desteklenmekle, Yubikey üzerindeki sabit bir kriptografik anahtarın hizmetlere tanıtılması ile anahtarın kullanıldığı cihazlardan tek tıklama ile giriş imkanı sağlar. |
||||||
|
|
||||||
|
* OTP: Yubikey'in sahip olduğu özel anahtara bağlı olarak usb üzerinden klavye gibi cihaza yazdırdığı bir kod aracılığı ile kullanılan 2FA uygulaması. Yubikey sunucusu tarafından doğrulama yapılması ile kullanılmakta fakat son kullanıcı için çok yeri olduğu söylenemez. |
||||||
|
|
||||||
|
## Yubikey 2FA Tercihi |
||||||
|
|
||||||
|
Hangi sistemi kullanacağınızın tercihi çoğunlukla size değil hizmet aldığınız şirkete kalmakta. Bu bakımdan hala çoğunluktaki hizmet sağlayıcıların 2FA desteklemediği öngörülürse destekleyen hizmetlerin tercihi hangi yöndeyse o imkanı kullanmanız biraz zorunlu gibi. |
||||||
|
|
||||||
|
Bu bakımdan en çok kullanılan sistem TOTP olmakta. Keza hem akıllı mobil cihazlarda hem de Yubikey gibi kriptografik donanımlarda kullanılabildiğinden yaygın erişim imkanı hizmet sağlayıcılar için kullanımını makul kılmakta. Bugün neredeyse herkes bir çeşit mobil cihaz sahibi olduğundan [soft token](https://en.wikipedia.org/wiki/Software_token) kullanımı yaygın. Yubikey ile söz konusu kullanımı daha güvenli gerçekleştirmeniz mümkün. |
||||||
|
|
||||||
|
U2F ise daha yeni bir teknoloji olmakla birlikte yaygınlık kazanmakla birlikte daha seyrek görülen bir sistem. Kurulumu ve kullanımı OTP'ye göre çok daha kolay olmakla birlikte özel bir donanım gerektirmesi yaygınlığını etkilemekte. Aynı zamanda giriş için kullanılan donanıma kesin suretle bağlı bir anahtarı kullandığından hem daha güvenli hem de yedekleme yapamadığınızdan kaybetmeniz durumunda sıkıntı doğurabilmekte. |
||||||
|
|
||||||
|
## TOTP kurulumu |
||||||
|
|
||||||
|
### Bilgisayar üzerinden |
||||||
|
|
||||||
|
#### Uçbirim ve Ykman ile |
||||||
|
|
||||||
|
Bilgisayar üzerinden Yubikey ile OTP kullanımınını hem uçbirimden hem de grafik arayüz üzerinden gerçekleştirmek mümkün. Gerekli işlemleri yerine getirebilmek için aşağıdaki komut ile bilgisayarınıza ihtiyaç duyulacak yazılımları yükleyebilirsiniz: |
||||||
|
|
||||||
|
Debian : `sudo apt-get install yubikey-manager yubikey-personalization yubikey-personalization-gui` |
||||||
|
|
||||||
|
RPM : `sudo yum install yubikey-manager yubikey-personalization yubikey-personalization-gui` |
||||||
|
|
||||||
|
Gerekli yazılımları elde ettikten sonra OTP kullanacağınız hizmetin ayarlarına gelip muhtemelen `güvenlik` adı altında bulacağınız çift aşamalı yetkilendirme (Two Factor authentication veya 2FA) bölümüne gelip söz konusu güvenlik tedbirini etkinleştirin. Bu rehberde [Protonmail](/yazisma_guvenligi/protonmail.md) kullanılmıştır. |
||||||
|
|
||||||
|
OTP soft token olarak mobil cihazlarda kullanılması düşünüldüğünden bir karekod şeklinde hizmet sağlayıcı tarafından sunulacaktır. Bu karekod aslında paylaşılan sırrı ve süre ile kritopgrafik ayarlara ilişkin detaylar içermekte. Bu bilgileri elle de girmek mümkün ki bilgisayarda bu şekilde yapılması gerekli. Elle giriş seçeneğini seçerek gerekli detaylara ulaşabilirsiniz. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/karekod.png) |
||||||
|
![alt-text](yubikey_2fa/sir.png) |
||||||
|
|
||||||
|
`ykman` Yubikey'leri uçbirimden kullanmaya ve programlamaya yarayan bir yazılım. Bu yazılım ile hizmet sağlayıcı tarafından verilen bilgileri cihaza işlenebilmekte. Bunun için aşağıdaki komutu kullanabilirsiniz. |
||||||
|
|
||||||
|
`ykman oath add [token'e vermek istediğiniz isim]` |
||||||
|
|
||||||
|
Uçbirim sizden hizmet sağlayıcının verdiği sırrı isteyecektir. Bunu girmeniz üzerine OTP token Yubikey'e eklenir. |
||||||
|
|
||||||
|
``` |
||||||
|
Enter a secret key (base32):AUVROVQ4NDQGYRNC56WBTUKAYELPP43V |
||||||
|
``` |
||||||
|
Yukarıdaki seçenek en yaygın kabul gören standartları kullandığından çoğu ayarı varsayılan olarak kabul eder. Bu bakımdan bir OTP token ile ilgili daha fazla ayarı özelleştrmeniz gerekiyor ise `ykman oath -h` ile girilebilecek parametrelere bakabilirsiniz. Lakin aşağıdaki komut çoğu koşulda kullanım ihtiyacına yetecektir. |
||||||
|
|
||||||
|
`ykman oath add --digits [kaç haneli kod üretilecek 6|7|8] ---issuer [hizmet sağlayıcının adı] --period [kaç saniyelik kod üretilecek] [token'e vermek istediğiniz isim]` |
||||||
|
|
||||||
|
Örnekle Protonmail'dan guvenlik@protonmail.com e-postası için OTP ayarlarını yapıldığı varsayılır ise: |
||||||
|
|
||||||
|
`ykman oath add --digits 6 --issuer Protonmail --period 30 guvenlik` |
||||||
|
|
||||||
|
Şayet Yubikey'in kod üretmeden önce düğmesine basılmasını bir güvenlik ihtiyacı olarak isterseniz komutu `-t` parametresi ile verebilirsiniz. Böylece bilgisayarınıza takılı durumda Yubikey'den kod istendiğinde Yubikey sizden onay isteyecektir. Bu cihazdaki her yazılımın siz farkına varmadan kod talep edebilmesinin önüne geçer. |
||||||
|
|
||||||
|
Şayet OTP kodlarınızın Yubikey'i eline geçirenlerde sorunsuzca elde edilmesinin önüne geçmek isterseniz bir pin ile koruma altına alabilirsiniz. Bunun için aşağıdaki komutu kullanıp pin belirleyebilirsiniz. |
||||||
|
|
||||||
|
`ykman oath set-password` |
||||||
|
|
||||||
|
Parola/pin'inizi iki kere girdikten sonra yubikey'den otp token almak için bu bilgiyi sunmanız gerekecektir. Dilerseniz güvendiğiniz cihazlarda bu parolanın hatırlanmasını sağlayabilirsiniz. Bilgisayarınızda bunun için aşağıdaki komutu çalıştırıp pin/parolanızı girin. |
||||||
|
|
||||||
|
`ykman oath remember-password` |
||||||
|
|
||||||
|
Token'i cihaza yazabildiğinizden emin olmak ve kod almak için aşağıdaki komutları kullanabilirsiniz: |
||||||
|
|
||||||
|
Tüm token'ları almak için: `ykman oath code` |
||||||
|
|
||||||
|
Belirli bir token'ı almak için: `ykman oath code [token adı]` |
||||||
|
|
||||||
|
Token'i başarılı şekilde üretebildikten sonra kullandığınız hizmet sağlayıcı sizden her şeyin yolunda olduğunu doğrulamak adına parolanızı ve ilgili token'in geçerli bir çıktısını isteyecektir. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/onay.png) |
||||||
|
|
||||||
|
İşlemin başarılı olmasının ertesinde hizmet sağlayıcınız tarafından bir miktar tek kullanımlık parola oluşturulup size sunulacaktır. Bu kodlar OTP olmadan giriş imkanı sağlayacağından **dikkatli saklanmalıdır**. Bu kodlar ile şayet cihazınıza erişiminizi kaybederseniz hesabınıza erişim imkanı tanımaktadır. Bunları yazdırıp **güvenli bir yerde** saklamanız önerilir. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/scratch.png) |
||||||
|
|
||||||
|
#### Grafik arayüz ile |
||||||
|
|
||||||
|
[Bu bölüme katkı verebilirsiniz.](https://git.oyd.org.tr/oyd/guvenlik) |
||||||
|
|
||||||
|
### Mobil cihaz ve NFC ile |
||||||
|
|
||||||
|
İşin gerçeği mobil cihazlarla Yubikey'e OTP kurulumu çok daha kolay gerçekleşiyor. Bu özellikten mobil cihazlarda yararlanmak için Yubikey'inizin NFC desteklemesi veya doğrudan USB portundan cihazınıza bağlanması gerekli. |
||||||
|
|
||||||
|
OTP kullanımı için cihazınızda [Yubico Authenticator](https://f-droid.org/en/packages/com.yubico.yubioath/) yazılımının yüklü olması gerekli. [F-droid](https://f-droid.org) özgür yazılım deposundan ilgili yazılımı elde edebilirsiniz. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/ya.png) |
||||||
|
|
||||||
|
Alt kısımda bulunan `+` simgesine basarak yeni bir token eklemek üzere işleme başlayabilirsiniz. Yubico Authenticator size karekod okutmak veya bilgileri elle girmek üzere iki seçenek sunacaktır. Çoğunlukla bir karekod size sunulacağıdan ilgili seçenek ile işleme devam edin. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/secenek.png) |
||||||
|
|
||||||
|
Karekodu okutmanız üzerine gerekli bilgiler ekrana doldurulup karşınıza çıkarılacaktır. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/bilgiler.png) |
||||||
|
|
||||||
|
`Save` demeniz üzerine yazılım sizden Yubikey'i cihaza okutmanızı isteyecektir. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/okut.png) |
||||||
|
|
||||||
|
Şayet Yubikey OTP modülü pin ile korunuyorsa pin girişi talep edilip tekrar yubikey'i okutmanızın ardından token eklenmesi tamamlanacaktır. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/pin.png) |
||||||
|
|
||||||
|
Yubikey'inizi cihaza her okuttuğunuzda Yubico Authenticator çalışacak ve size kayıtlı olan OTP kodlarını verecektir. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/kodlar.png) |
||||||
|
|
||||||
|
## U2F kurulumu |
||||||
|
|
||||||
|
FIDO U2F tarayıcı temelli bir yetkilendirme sistemi. Kurulumu kolay olmakla birlikte ileriki zamanlarda bu durum değişebilecek olmakla birlikte daha az hizmet tarafından desteklenmekte. U2F kurulumu destekleyen bir hizmete Yubikey kurulumu yapmak çok basit. Güvenlik ayarlarında güvenlik anahtarı (security token) başlıklı bir bölüm bulunuyor ise Yubikey ile U2F kurulumu yapabilirsiniz. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/ga1.png) |
||||||
|
![alt-text](yubikey_2fa/ga2.png) |
||||||
|
|
||||||
|
Kurulumu başlattıktan sonra çeşitli şekillerde sizden Yubikey'inizi bağlamanız ve dokunarak etkinleştirmeniz istenecektir. Bu noktada Firefox size sitenin yetkilendirme talep ettiğine dair bir uyarı çıkaracaktır. |
||||||
|
|
||||||
|
![alt-text](yubikey_2fa/uyari.png) |
||||||
|
![alt-text](yubikey_2fa/bekleme1.png) |
||||||
|
![alt-text](yubikey_2fa/bekleme2.png) |
||||||
|
|
||||||
|
Kaydın başarılı olması üzerine hesabınıza anahtarınız tanımlanacaktır. |
||||||
|
|
||||||
|
Bu durumda kaydettiğiniz yubikey'in kaybolması durumunda **hesabınıza erişemez** hale gelebilirsiniz. Bu neden ile ikinci bir güvenlik tedbirini daha kaydederek bu duruma engel olmanız mümkün. Bunun için [Akıllı cihaz üzerinden OTP kullanımını](andotp.png) tavsiye ederiz. |
||||||
|
|
||||||
|
Yubikey'de U2F yetkilendirmesine pin veya parola ile tedbir koyulamamakta. Bu nedenle Yubikey'inizi elinde bulunduran biri herhangi bir sorun çekmeden ikinci faktör olarak cihazınızı kullanabilir. Bu sebepten **Yubikey'inizi iyi korumanız önerilir.** Bu tehdit modeli sizin için geçerli ise Yubikey ile TOTP OTP kullanımı pin ile korunabildiğinden daha güvenli olacaktır. |
||||||
|
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 20 KiB |
@ -1 +1,170 @@ |
|||||||
[Bu bölüme katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) |
# GrapheneOS Kurulumu |
||||||
|
|
||||||
|
GrapheneOS güvenlik odaklı bir Android projesi. Proje Google Pixel cihazların donanımsal özellikleri ile birlikte güvenlik özelliklerinin varsayılan olarak geldiği bir dağıtım sağlamakta. |
||||||
|
|
||||||
|
GrapheneOS'in kurulumu proje tarafından hazırlanan rehber ve betik sayesinde fazlasıyla kolay. Bu rehber [Grapheneos'in web sitesindeki](https://grapheneos.org/install) kurulum rehberinden çeviridir. Keza proje kısıtlı sayıda cihazda çalıştığından kurulum fazlasıyla belgelenmiş ve iyileştirilmiş durumda. Kimi değişiklikler ise kolaylık ve anlaşılırlık amacı ile eklenmiştir rehbere. |
||||||
|
|
||||||
|
## Kurulum |
||||||
|
|
||||||
|
Bu rehber GrapheneOS'in resmen desteklenen cihazlarına ilişkindir. Hem projenin hem de özel kurulumlar için kullanılabilir. |
||||||
|
|
||||||
|
## Gereksinimler |
||||||
|
|
||||||
|
En az 2GB boş hafızaya sahip olmalısınız. |
||||||
|
|
||||||
|
Windows 10, macOS Catalina, Arch Linux, Debian buster ve Ubuntu 20.04 LTS GraphenOS'in kurulumu için desteklenen işletim sistemleridir. Bu işletim sistemlerinden birinin güncel haline kuruluma devam etmeden önce sahip olmalısınız. Eski sürümler ve diğer GNU/Linux dağıtımları genellikle çalışmakla birlikte bir sorunla karşılaşmanız durumunda desteklenen işletim sistemlerinden birini denemeniz önerilir. |
||||||
|
|
||||||
|
Desteklenen cihazlardan birine sahip olmanız gerekli. Cihazınızın kilidinin açılıp GrapheneOS kurulabilmesini garanti etmek için operatörlerin sattığı cihazlardan uzak durmanız önerilir. Operatörler tarafından satılan cihazlar aynı işletim sistemi ve firmware'i içermekle birlikte cihazda operatöre özel ayarların açılabilmesi için bir ID ile birlikte gelmekte. Bu ayarlar bootloader'in kilidinin açılmasını engellemekte. Operatörler bunu devreden çıkarabilecek olsalar da destek ekibinin bunu bilmeme ihtimali yüksek ve olsa bile bunu yapmayabilirler. Operatörlerden bağımsız bir cihaz edinerek bu tehlikeden ve potansiyel dertlerden uzak kalabilirsiniz. Eğer operatör cihazının kilidini açabilirseniz bu GrapheneOS için bir sorun teşkil etmeyecektir. |
||||||
|
|
||||||
|
Cihazın standart işletim sistemini güncellemek ve buradaki önergeleri takip etmeden önce en güncel firmware'i çalıştırdığından emin olmakta fayda var. Bu şekilde olası sorunlara, eksik özelliklere ve eski sürümlerdeki diğer değişikliklerle karşılaşmanın önüne geçilebilir. Dilerseniz cihazınızı online olarak güncelleyebilir veya Pixel cihazlara has tam güncelleme paketini yükleyebilirsiniz. |
||||||
|
|
||||||
|
Bu rehber komut satırı araçları kullanmakta. Windows'ta eski komut satırı yerine PowerShell kullanılmakta. |
||||||
|
|
||||||
|
### Fastboot kurulumu |
||||||
|
|
||||||
|
Fastboot'un güncel bir kopyasını edinmeniz ve işletim sisteminizde PATH çevresel değişkenine ekli olmalıdır. `fastboot --version` komutunu çalıştırarak hangi sürüme sahip olduğunuzu görebilirsiniz. Sürümünüz en az **29.0.6.** olmalıdır. Dağıtımınızın paket yöneticisini kurulum için kullanabilirsiniz lakin pek çok paket deposu fastboot'un geliştirici sürümünü bulundurmakta, standart versiyon platform-tools (adb, fastboot, etc) kendilerine göre düzenleyip güncel tutmamakta. |
||||||
|
|
||||||
|
Dağıtım paketlerinin listesi: |
||||||
|
|
||||||
|
|
||||||
|
* __Arch Linux:__ `android-tools` fastboot ve diğer gerekli araçları getirmekte ve adb gibi başka araçların kurulmasına ihtiyaç duymamakta. adroid-udev fastboot ve adb'nin yerel oturumda root yetkisi olmadan çalışabilmesini sağlayacak udev kuralları içermekte. |
||||||
|
* __Debian:__ Gelen paketler hem çalışmamakta hem de eski sürümlerden oluşmakta, kurulumda kullanmayın (üstteki paragrafa bakın) |
||||||
|
* __Ubuntu:__ Gelen paketler hem çalışmamakta hem de eski sürümlerden oluşmakta, kurulumda kullanmayın (üstteki paragrafa bakın) |
||||||
|
|
||||||
|
### platform-tools haricen kurulumu |
||||||
|
|
||||||
|
Eğer işletim sisteminiz fastboot'un uygun bir sürümünü içermiyor ve repolarında bulundurmuyor ise platform-tools'un harici bir sürümünü Google'dan kurmayı değerlendirebilirsiniz. Eğer Android SDK kurulumunuz var ise veya geliştirme ile uğraşacaksanız platform-tools' paketlerini Android SDK paket yöneticisi ile kurabilir ve güncel tutabilirsiniz. Android SDK, haricen veya Android Studio aracılığı ile elde edilebilir. |
||||||
|
|
||||||
|
Platform-tools'u indirmek doğrulamak ve çıkartmak için GNU/Linux işletim sisteminde: |
||||||
|
|
||||||
|
`curl -O https://dl.google.com/android/repository/platform-tools_r30.0.4-linux.zip` |
||||||
|
|
||||||
|
`echo '5be24ed897c7e061ba800bfa7b9ebb4b0f8958cc062f4b2202701e02f2725891 platform-tools_r30.0.4-linux.zip' | sha256sum -c` |
||||||
|
|
||||||
|
**Not:** Yukarıda belirtilen sha256 değeri zaman içinde güncellenen paketler nedeni ile değişmiş olabilir. Bu değerin kolaylıkla bulunabildiği tek yer [GrapheneOS kurulum sayfası](https://grapheneos.org/install) olduğundan kurulumdan önce değişikliklere göz atmakta fayda var. |
||||||
|
|
||||||
|
`unzip platform-tools_r30.0.4-linux.zip` |
||||||
|
|
||||||
|
Daha sonra aracı işletim sisteminizin PATH yoluna eklemek ve her seferinde doğrudan yolunu göstermeden çalıştırmak için GNU/Linux'da aşağıdaki komutu kullanabilirsiniz: |
||||||
|
|
||||||
|
`export PATH="$PWD/platform-tools:$PATH"` |
||||||
|
|
||||||
|
Tercih ederseniz indirdiğiniz paketin dizinine gidip fastboot binary dosyasının bulunduğu dizinde uçbirimde başına `./` koyarak fastboot'u çalıştırmanız mümkün. |
||||||
|
|
||||||
|
Kurulumun ardından `fastboot --version` komutunun çıktısı: |
||||||
|
|
||||||
|
``` |
||||||
|
fastboot version 30.0.4-6686687 |
||||||
|
Installed as /home/username/downloads/platform-tools/fastboot |
||||||
|
``` |
||||||
|
|
||||||
|
Bu açık olan uçbirime ait geçici bir PATH kaydı olmakla birlikte eğer yeni bir uç birim açarsanız tekrar yukarıdaki şekilde kaydedilmesi gerekir. Kurulum betiğini çalıştırmadan önce fastboot komutunun kullandığınız uçbirimde çalıştığından emin olun. |
||||||
|
|
||||||
|
### Signify'ın kurulması |
||||||
|
|
||||||
|
HTTPS'nin sunabildiğinin güvencenin ötesinde indirilen işletim sisteminin doğrulanabilmesi için signify aracını kullanabilirsiniz. Eğer signify paketini güvendiğiniz bir paket yöneticisinden elde edemiyorsanız signify kullanmanın çok da bir anlamı bulunmamakta. GrapheneOS sürümleri kendi sunucumuzda bulundurulmakta ve üçüncü taraflarca sunulan mirror'ları kullanmamaktayız. Kötücül bir signify kurulumu tüm işletim sisteminizi ve GrapheneOS imajınızı da geleneksel işletim sistemlerindeki tehdit yönetimi eksikliğinden dolayı tehlikeye atabilir. Bu durumda signify kullanmak hiç kullanmamaktan daha kötü olabilir. Sunucularımızın kötücül davranması rastgele birinin GitHub hesabının veya GitHub'ın kendisinin kötücül olmasından daha düşük bir ihtimal. Her halukarda bu rehbere kurulum için güvenmektesiniz ki yayınlanan sürümlerle bu web sitesi aynı sunucu üzerinde bulunmakta. |
||||||
|
|
||||||
|
**Not:** Yukarıdaki not hali ile GrapheneOS'in sitesi için geçerli durumda. Şu anda üçüncü bir tarafın rehberini okumakta olduğunuzdan şüphe duyduğunuz durumlarda yukarıdaki tehdit modeline bağlı olarak [GrapheneOS web sitesini](https://grapheneos.org) referans almanız önerilir. |
||||||
|
|
||||||
|
Dağıtımlarda bulunan Signify paket listesi: |
||||||
|
|
||||||
|
Arch Linux: signify |
||||||
|
Debian: signify-openbsd |
||||||
|
Ubuntu:signify-openbsd |
||||||
|
|
||||||
|
### OEM kilidinin kaldırılma ayarı |
||||||
|
|
||||||
|
OEM kilidinin kaldırılması için işletim sistemi içinden izin verilmesi gerekli. |
||||||
|
|
||||||
|
Geliştirici ayarlarını Ayarlar menüsünden -> About phone (telefon hakkında) sekmesi altında bulunan "build number" bölümüne geliştirici modunun aktive edildiğine dair mesaj gelinceye kadar tıklayarak açabilirsiniz. |
||||||
|
|
||||||
|
Daha sonra Settings(ayarlar) -> System(sistem) -> Advenced(gelişmiş) -> Developer Options(geliştirici seçenekleri) yolunu takip edip "Enable OEM unlocking"(OEM kilidini kaldır) sçeeneğini seçebilirsiniz. Bu Google Play hizmetleri ile gelen cihazlarda hırsızlığa karşı fabrika ayarlarına geri döndürme koruması kapsamında internet bağlantısı gerektirecektir. |
||||||
|
|
||||||
|
### Bootloader'in kilidini kaldırmak |
||||||
|
|
||||||
|
Öncelikle cihazın bootloader ekranına girmeniz gerekli. Bunu cihazı kapatıp ardından ses kısma düğmesini ile güç düğmesine aynı anda basıp tutarak gerçekleştirebilirsiniz. |
||||||
|
|
||||||
|
Bootloader kilidini işletim sistemi ve firmware yüklemek için kaldırın: |
||||||
|
|
||||||
|
`fastboot flashing unlock` |
||||||
|
|
||||||
|
**Not:** Bu komutu telefonu bağladığınız bilgisayar üzerinden fastboot'un çalıştığı uçbirimden çalıştırmanız gerekiyor. |
||||||
|
|
||||||
|
Komutun telefon üzerinden onaylanması gerekli. Onayın ardından cihazdan tüm verinin silinecektir. |
||||||
|
|
||||||
|
### Fabrika imajının indirilmesi |
||||||
|
|
||||||
|
Kurulum işlemini tamamlayabilmek için cihazınıza uygun GrapheneOS fabrika imajına ihtiyacınız olacak. |
||||||
|
|
||||||
|
Dilerseniz dosyaları web tarayıcınız ile doğrudan indirebilir veya curl benzeri bir komut kullanabilirsiniz. Genellikle komut satırı kullanmak hali hazırda kurulumun kalanında kullanacak olduğunuzu düşünürsek daha kolaydır. Curl ile işlemi gerçekleştirmek için talimatlar aşağıda bulunmakta. |
||||||
|
|
||||||
|
Fabrika imajları doğrulamak için gerekli olan umumi anahtarın (factory.pub) indirmek için: |
||||||
|
|
||||||
|
`curl -O https://releases.grapheneos.org/factory.pub` |
||||||
|
|
||||||
|
factory.pub'un içeriği şu şekildedir: |
||||||
|
|
||||||
|
``` |
||||||
|
untrusted comment: GrapheneOS factory images public key |
||||||
|
RWQZW9NItOuQYJ86EooQBxScfclrWiieJtAO9GpnfEjKbCO/3FriLGX3 |
||||||
|
``` |
||||||
|
Umumi anahtar aynı zamanda Twitter'deki resmi @GrapheneOS hesabında, /u/GrapheneOS Reddit hesabında ve GitHub'da bulunabilir. Kullanımda olan anahtar bir yenisi ile değiştirildiğinde eskisi ile imzalanmakta. |
||||||
|
|
||||||
|
Fabrika imajlarını indirme sayfasından indirmek için; örneğin Pixel 3 XL için 2020.05.05.02 (crosshatch) sürümünü indirmek için: |
||||||
|
|
||||||
|
``` |
||||||
|
curl -O https://releases.grapheneos.org/crosshatch-factory-2020.05.05.02.zip |
||||||
|
curl -O https://releases.grapheneos.org/crosshatch-factory-2020.05.05.02.zip.sig |
||||||
|
``` |
||||||
|
|
||||||
|
Signify yazılımını güvenli şekilde edinebildiyseniz imzaları aşağıdaki komut ile doğrulayabilirsiniz: |
||||||
|
|
||||||
|
`signify -Cqp factory.pub -x crosshatch-factory-2020.05.05.02.zip.sig && echo verified` |
||||||
|
|
||||||
|
**Not:** Her ne kadar komut signify olarak komutu çağırmış olsa da komutun Debian ve Ubuntu'da `signify-openbsd` olduğunu hatırlatmak gerkeli. |
||||||
|
|
||||||
|
Bu komut eğer doğrulama başarılı ise "verified" çıktısı verecektir. Eğer bir şey yanlış giderse hata alacaksınız. |
||||||
|
|
||||||
|
### Fabrika imajının flashlanması |
||||||
|
|
||||||
|
İlk kurulum fabrika imajının flashlanması ile gerçekleştirilmekte. Bu var olan işletim sistemini kaldırıp tüm yükli veriyi yok edecektir. |
||||||
|
|
||||||
|
Kurulum işlemine başlamak için cihazda bootloader ekranına gidin. |
||||||
|
|
||||||
|
Ardından fabrika imajlarını çıkartın. |
||||||
|
|
||||||
|
GNU/Linux'da: |
||||||
|
|
||||||
|
**Not:** Bu işlemi fabrika imajını indirdiğiniz dizinde yapmanız gerekli. |
||||||
|
|
||||||
|
`unzip crosshatch-factory-2020.05.05.02.zip` |
||||||
|
|
||||||
|
Çıkarttığınız dizine gidin: |
||||||
|
|
||||||
|
`cd crosshatch-factory-2020.05.05.02` |
||||||
|
|
||||||
|
İmajı dizindeki `flash-all` betiği ile kurun: |
||||||
|
|
||||||
|
`./flash-all.sh` |
||||||
|
|
||||||
|
Flash işleminin bitmesini bekleyin ve ardından cihazı kullanmadan önce bootloader'i tekrar kilitleyin keza kilitleme işlemi cihazdaki tüm verileri yok edecektir. |
||||||
|
|
||||||
|
### Bootloader'i kilitlemek |
||||||
|
|
||||||
|
Bootloader'in kilitlenmesi boot aşamasındaki doğrulama için önemlidir. Bu aynı zamanda fastboot'un başka flashlamalar veya veri silmek için kullanılmasının da önüne geçer. Doğrulanmış boot cihaz işletim sistemine yapılan herhangi bir müdahaleyi (vbmeta, boot/dtbo, product, system, vendor) engelleyecektir ve değiştirilmiş/bozulmuş herhangi bir verinin okunmasına mani olacaktır. Eğer değişiklikler fark edilirse hata koruması veriyi orjinal haline getirmeye çalışır ve düzeltme sonrasında doğrulama gerçekleştirilebilir ki bu kötücül olmayan bozulmalara karşı son derece etkilidir. |
||||||
|
|
||||||
|
Bootloader ekranında kilitleme için: |
||||||
|
|
||||||
|
`fastboot flashing lock` |
||||||
|
|
||||||
|
Komutun telefon üzerinden onaylanması gerekli. Onayın ardından cihazdan tüm verinin silinecektir. |
||||||
|
|
||||||
|
### Oem kilidinin kapatılması |
||||||
|
|
||||||
|
OEm kilidinin kaldırılması için gereken ayar cihaz açıldıktan sonra tekrar geliştirici seçeneklerinden kapatılabilir. |
||||||
|
|
||||||
|
### Kurulumun doğrulanması |
||||||
|
|
||||||
|
Auditor ve kullanımı ile ilgili bilgiyi [GraphenOS'in rehberinden edinebilirsiniz](https://attestation.app/tutorial) |
||||||
|
|
||||||
|
[Mobil cihazlara ilişkin genel tedbirler](mobil_cihaz_tavsiyeler.md) |
||||||
|
@ -1 +1,67 @@ |
|||||||
[Bu bölüme katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) |
# SSH Erişiminde OTP Kullanımı |
||||||
|
|
||||||
|
[Nextcloud](https://nextcloud.com/) veya [OpenVPN](ag_guvenligi/vpn.md) gibi hizmetleri kişisel kullanımınız için kendiniz barındırıyorsanız veya bir sebepten sunucu yönetimindeyseniz uzak sunucunuzun güvenliği tüm sisteminizin güvenliği anlamına gelmekte. |
||||||
|
|
||||||
|
[SSH güvenliği](ssh.md) cihazınıza uzaktan sistem erişimine tek imkan olduğundan tüm güvenliğin de düğüm noktasını oluşturmakta. SSH kullanımına ilişkin genel tedbirleri aldıktan sonra yetkilendirme bakımından gereklilikleri bir adım daha ileri taşıyarak bir saldırganın sisteminize erişmek için sahip olması gereken kaynakları arttırabilirsiniz. Bu bakımdan SSH anahtarı ve parolanın yanında bir üçüncü faktör olarak [OTP](beseri_guvenlik/2fa.md) kullanmanız mümkün. |
||||||
|
|
||||||
|
OTP gerekliliğini iki şekilde uygulamanız mümkün. Bu SSH kullanımınızı nasıl yönettiğinize bağlı olarak. |
||||||
|
|
||||||
|
1. SSH Anahtarı + parola --> PAM + OTP ile sudo/su yetkilendirmesi |
||||||
|
|
||||||
|
2. SSH Anahtarı + OTP |
||||||
|
|
||||||
|
PAM + OTP ile sudo/su yetkilendirmesi için uzak sunucuda google-authenticator kurulumu yapıp dilediğiniz kullanıcıya PAM üzerinden OTP yetkilendirme zorunluluğu getirebilirsiniz. Yerel bir bilgisayardan farklı olmayan bu işlem için [Google Authenticator ile PAM Rehberimizden](ga_pam.md) yararlanabilirsiniz. |
||||||
|
|
||||||
|
**Buradaki ayarlarda hata yapmanız durumunda sunucuya erişiminizi kaybedebilirsiniz. Çok dikkatli olun** |
||||||
|
|
||||||
|
## SSH girişinde OTP kullanımı |
||||||
|
|
||||||
|
Bu rehberdeki kurulumu takip edebilmek için öncelikle uzak sunucunuzda SSH erişimine sahip olmanız gerekli. Bunun için [SSH güvenliği rehberimizden](ssh.md) yardım alabilirsiniz. |
||||||
|
|
||||||
|
SSH ile sunucuya bağlandıktan sonra aşağıdaki komut ile gerekli paketleri kurun: |
||||||
|
|
||||||
|
Debian: `sudo apt-get install libpam-google-authenticator` |
||||||
|
|
||||||
|
RPM: `sudo yum install libpam-google-authenticator` |
||||||
|
|
||||||
|
Google-authenticator'ü yapılandırmak için aşağıdaki komutu yetkilendirmede giriş yaptığınız kullanıcının hesabından çalıştırın: |
||||||
|
|
||||||
|
`google-authenticator` |
||||||
|
|
||||||
|
Ardından Karşınıza gelecek karekodu [andOTP](beseri_guvenlik/andotp.md) ile tarayıp kodu kullanılabilir hale getirin ve acil durum kodlarını güvenli şekilde saklamak üzere yazdırıp kaldırın. |
||||||
|
|
||||||
|
![alt-text](ga/qrcode.png) |
||||||
|
|
||||||
|
Kalan sorulara evet cevabını verip kurulumu tamamlayın. |
||||||
|
|
||||||
|
## SSH ayarlarının yapılması |
||||||
|
|
||||||
|
SSH girişinde OTP yetkilendirmesi için öncelikle sshd pam modülüne gerekli ayarların girilmesi gerekli. Bunun için dilediğiz bir metin düzenleyci ile veya aşağıdaki şekilde nano ile ilgili dosyayı açın. |
||||||
|
|
||||||
|
`sudo nano /etc/pam.d/sshd` |
||||||
|
|
||||||
|
Ardından açılan dosyanın içinde aşağıdaki şekilde satırı düzenleyin: |
||||||
|
|
||||||
|
|
||||||
|
``` |
||||||
|
# PAM configuration for the Secure Shell service |
||||||
|
|
||||||
|
# Standard Un*x authentication. |
||||||
|
@include common-auth |
||||||
|
|
||||||
|
auth required pam_google_authenticator.so |
||||||
|
``` |
||||||
|
|
||||||
|
Bunun ardından aşağıdaki komut ile sshd yapılandırmasına gerekli satırı ekleyin: |
||||||
|
|
||||||
|
`sudo echo ChallengeResponseAuthentication yes >> /etc/ssh/sshd_config` |
||||||
|
|
||||||
|
Son olarak ssh servisini aşağıdaki komut ile yeniden başlatın: |
||||||
|
|
||||||
|
`sudo service ssh restart` |
||||||
|
|
||||||
|
## Yapılandırmanın test edilmesi |
||||||
|
|
||||||
|
**Yukarıdaki ayarlarda bir hata yapmış olmanız durumunda sunuya erişiminizi kaybedebilirsiniz** |
||||||
|
|
||||||
|
Bu sebepten ötürü hali hazırda açık olan ssh erişiminizi açık bırakarak bir başka uçbirimden sunucuya tekrar SSH bağlantısı kurarak OTP kurulumunuzun çalışıp çalışmadığını deneyebilirsiniz. |
||||||
|