forked from oyd/guvenlik
Güvenlik rehberi
https://guvenlik.oyd.org.tr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
9.2 KiB
114 lines
9.2 KiB
5 years ago
|
# Paperbackup ile Kağıda Anahtar Yedeği Basmak
|
||
|
|
||
4 years ago
|
[GnuPG](../gpg-anahtar-uretimi.md) ve [SSH](https://en.wikipedia.org/wiki/Secure_Shell) gibi araçlar ile kullandığımız asimetrik [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) anahtarları bilişim sistemlerine erişimde çok önemli bir yer kaplamaktadır. Bu bakımdan kullanıcıların bu anahtarlar ile şifreledikleri veya erişim imkanına sahip oldukları cihazlara bağımlılıkları oranında anahtarların da değeri artmaktadır. Bir anahtarın kaybı, şifrelenmiş verilere erişimi neredeyse imkansız hale getirdiği gibi erişim imkanı kaybedilen uzak sunucuların yarattığı sorunlar da tatsız olabilmektedir. Bu bakımdan anahtarların yedeklerinin alınması ve güvende tutulması çok önemlidir. Bu bakımdan pek az düşünülse de **kağıt** bu amaç için çok ideal bir ortamdır.
|
||
5 years ago
|
|
||
|
## Kağıdın avantajları
|
||
|
|
||
4 years ago
|
* __Uzun ömürlülük__: Kağıt, taş dışında bugüne kadar veri taşımayı başarmış en eski ortamlardan bir tanesidir. [Antik Mısır papirüsleri](https://en.wikipedia.org/wiki/History_of_writing#Writing_materials)'nin tarihi M.Ö 3000 yılına kadar gitmektedir. İlginç bir şekilde papirüs, kitap gibi bir yığın halinde bulundurulduğunda yangına karşı da bir hayli dayanıklıdır. Bu sayede kitaplar, yangına uğramış pek çok yapıdan kısmi zararlarla kurtarılabilmiştir. Günümüzde suya dayanıklı kağıtlar ve baskı teknolojilerinin geliştirilmesi ile birlikte, asitsiz kağıtların üzerine tonerle yapılmış bir baskıyı ömür bakımından yenebilecek pek az kayıt imkanı bulunmaktadır.
|
||
5 years ago
|
|
||
4 years ago
|
* __Maliyet__: Kağıt, MB başına en ucuz kayıt medyası olmasa da şifreleme anahtarları gibi küçük verileri kaydetmek için çok ekonomik bir tercihtir. Bir yazıcı ve 5-20 sayfa arası kağıt ile bir GnuPG anahtarı rahatlıkla yedeklenebilmektedir. Baskı maliyetinin 0,05 TL civarında olduğunu varsayarsak, 1 liranın altında bir maliyetle yedekler almak mümkündür. Aynı zamanda evinize giren bir hırsız hard diskinize veya hard diskinizin takılı olduğu makineye göz dikebilir, fakat kimsenin bir deste kağıdı alma arzusu taşıyacağı düşünülmez.
|
||
5 years ago
|
|
||
4 years ago
|
* __Saklama kolaylığı__: Kağıt yedekleri saklamak için çok özel şartlara ihtiyacınız yoktur. Sabit sürücü ve benzeri dijital kayıt ortamlarını nem, sıcaklık, sarsıntı gibi öğelerden korumak zorunda olduğunuz gibi, kimi zaman en iyi koşullarda saklanmalarına rağmen [bozulmaları mümkündür](https://www.backblaze.com/blog/hard-drive-failure-rates-q1-2017/). Buna karşın, bir poşete konmuş kağıtlar siz onları unutsanız dahi olduğu yerde sağlam kalmaya devam edecek ve gerekirse gözünüzle okunmanıza da imkan verecektir.
|
||
5 years ago
|
|
||
|
## Kağıdın dezavantajları
|
||
|
|
||
4 years ago
|
* __Oluşturma__: Dijital verilerin kağıt yedeklerini oluşturmak görece zor bir işlemdir. Dijital veriyi başka bir dijital ortama aktarmak günümüzde çocuk oyuncağı kıvamındadır, fakat kağıt gibi analog bir sisteme bunu güvenle ve emin bir şekilde aktarmak can sıkıcı olabilmektedir. Aynı zamanda dijital verilerin bastırılabilir şekilde kodlanmasının (encode) ve büyük boyutlu verilerin bastırılmasının çok fazla zaman ve kaynak harcaması bu durumu zorlaştırmaktadır.
|
||
5 years ago
|
|
||
4 years ago
|
* __Kurtarma__: Eğer yedekten kurtarma yapılamıyorsa, yapılan şeye yedek demek pek mümkün değildir. Kağıdın bu konudaki avantajı, aynı zamanda bir dezavantajdır. Bastırdığınız kağıt üzerindeki dijital veriyi tekrar bilgisayara geçirmek için karekodlar, datamatrix veya [OCR](https://en.wikipedia.org/wiki/Optical_character_recognition) gibi teknikleri kullanmanız gerekmektedir. Bunun için bir tarayıcı vasıtasıyla kağıdı taramanız gerekecektir. En son çare olarak veriyi tek tek elle girme imkanınız da bulunmaktadır, fakat bu gerçekten son çare olacak kadar zahmetli bir süreçtir.
|
||
5 years ago
|
|
||
|
## Paperbackup
|
||
|
|
||
4 years ago
|
[Paperbackup](https://github.com/intra2net/paperbackup), ASCII olarak kodlanmış dijital verilerin kağıt yedeklerinin kolayca çıkartılmasını sağlayan bir yazılımdır. Python ile geliştirilmiştir.
|
||
5 years ago
|
|
||
4 years ago
|
Her Python kodu gibi `paperbackup` da bir takım bağımlılıklara sahiptir. Aşağıdaki komutu çalıştırarak gereken bağımlılıkları sisteminize indirip kurabilirsiniz.
|
||
5 years ago
|
|
||
4 years ago
|
RPM kullanan dağıtımlar için (Red Hat, Fedora, CentOS vb.):
|
||
|
`sudo yum install PyX enscript qrencode hashlib zbar`
|
||
|
APT kullanan dağıtımlar için (Debian, Ubuntu, Mint vb.):
|
||
5 years ago
|
`sudo apt-get update && sudo apt-get install PyX enscript qrencode hashlib zbar`
|
||
|
|
||
|
### Anahtar veya veri yedeğini oluşturma
|
||
|
|
||
4 years ago
|
Öncelikle yedeğini alacağımız verinin ASCII olmasına veya dosya normalde binary ise base64 ile kodlanmış (encode) haline ihtiyacımız var.
|
||
5 years ago
|
|
||
4 years ago
|
GnuPG anahtarınızın yedeklemeye uygun halini çıkartmak için şu komutu çalıştırabilirsiniz:
|
||
5 years ago
|
|
||
|
`gpg --export-secret-key --armour [anahtar ID] > anahtar_sec.asc`
|
||
|
|
||
4 years ago
|
Alınan çıktı, bir metin editörüyle açıldığında şu şekilde görünmelidir:
|
||
5 years ago
|
|
||
4 years ago
|
```
|
||
|
-----BEGIN RSA PRIVATE KEY-----
|
||
5 years ago
|
|
||
|
MVp4OTNhQXNrSXNibzB2K1F0bEU3SzJ5MVhVSDdXc2F1eVZ5L0JidjREcjAKNU1xMzVMTnl0TDZp
|
||
|
ZDdpeXhKVlNoR3B5R0xCNU0zSkZ3Tk40SndrODM4a1hQSkQreW55SWdwS2ttRGdYNFNNQgpqSmxZ
|
||
|
MVc2TDk0NGc5MFRBRUJGUXZHMFdnQ1JzWXJtWjRuUHAvcmhLdzBGSUxzdzZSeXlBN0RpazQ2R0ND
|
||
|
a0VvClduYS9WZTcxejhsL1Fkako0bzdDNUhlb2pUWU4vaHROL2ZFejJKQSsyOGNoM05KcXZGUEtB
|
||
|
R2UzZmROdC9DTW4KSm5wR1lEWm1YMi8vWG4rdGlOMnpwWTZnc255Wm45RGcwVzVlK2k4WWRmdS9K
|
||
|
NjJnKzQvUlRtaVNTcmNuVjgzWgp0ZGlhdDJrWGhwbi8xS1pJRCtMWXZwNFE2cmJvVnBmMFhhTHJI
|
||
|
cEFRYnFFdndrVW5rVkc1K2c4T2prZzZTYlduCld1ZzUvaWh3a0RJWEZtOVhsRlpuby83RTY1V2Yr
|
||
|
aFVYZmJ0TkxwbHpJMlV4TS9remxWQUNQRXQ1UWpYVldhK0gKOWRSRzY0MXFHNERzaW9Oci8wQkIr
|
||
|
RHZFSTZaS1JIdTNnbzlpbmlkLzU0WUNPSldIVTUyRnl0YVdKdUw0QkpiOQpWcUd1V3NjYTZXejEw
|
||
|
UStXaDhvNkt1V0JCc2VPSnNxMEhiWVdsRHdEeTZVdm9LM1RKaE8wYzFQcmlvWFk3N0dpCjd5UXZs
|
||
|
WWtEb1hqVGFxbXRUbHBWaG13OG9DdG5teDZCeVdldEhhcmV4WXNIM21oTnc2OHZkNU9NV0V2ak1m
|
||
|
REEKeVNuUFdvbEV5WFVWR3FwdXkrS25XNnpjYlo4UStxTUxqOVdLZ0UrWTJtUy9jNHhrOHlmZzRx
|
||
|
Sk9rM1ZnWXl2cApDa3NOK2hrVnVQMnV5Nis2bGVmMmVUNHV1RjhJcmQxbnAycU1lOVpUSmY0Zndp
|
||
|
QUhtbjczcFZsbnpaL2RYSFpuCkVHNEl5NG15ZjByZUFTVTk3U0NZbW9sbWl6WTJjVDhhaFFOVWU4
|
||
|
VXk1cGlGcjRWb01OVktzVWl1REJaMVlDUEkKcXI5cGk3eWN0ZlRscUxWRitscHpZRE5ZRjZtK0JH
|
||
|
Vkx3aGQ2SmVyMWJKcllIbjJmc0FqblFqeDNNdFM3MXFMSApBUT09Cj1IUTlJCi0tLS0tRU5EIFBH
|
||
|
|
||
4 years ago
|
-----END RSA PRIVATE KEY-----
|
||
|
```
|
||
5 years ago
|
|
||
4 years ago
|
Eğer yedeğini almak istediğiniz veri başka bir şey ise, aşağıdaki komut aracılığıyla base64 ile kodlayarak yedeklemeye hazır hale getirebilirsiniz. Yedekleyeceğiniz veriden yaklaşık %25 daha büyük bir sonuç elde edeceğinizi unutmayın.
|
||
5 years ago
|
|
||
4 years ago
|
`base64 -w 65 [yedeklenecek verinin yolu] > [kaydedilecek dosyanın yolu]`
|
||
5 years ago
|
|
||
4 years ago
|
Yedeklenecek anahtarı veya veriyi hazır ettikten sonra, `paperbackup`ı kurun.
|
||
5 years ago
|
|
||
|
### Kağıt yedeği hazırlama
|
||
|
|
||
4 years ago
|
Öncelikle [Paperbackup git deposuna](https://github.com/intra2net/paperbackup) gidin ve sağdaki yeşil renkli "İndir" düğmesini kullanarak `paperbackup`ı indirin. Ayrıca aşağıdaki komut ile git deposunu bilgisayarınıza klonlayabilirsiniz.
|
||
5 years ago
|
|
||
|
`git clone https://github.com/intra2net/paperbackup`
|
||
|
|
||
4 years ago
|
İndirdiğiniz dosyayı bir yere çıkartın ve aşağıdaki komut ile `paperbackup`ın olduğu dizine gidin.
|
||
5 years ago
|
|
||
|
`cd [paperbackup dizini]`
|
||
|
|
||
4 years ago
|
Daha sonra kağıt yedeğinizi PDF formatında hazırlamak için aşağıdaki komutu kullanabilirsiniz.
|
||
5 years ago
|
|
||
|
`python3 paperbackup.py [yedek dosyasının dizini]`
|
||
|
|
||
4 years ago
|
Betik işini yaptıktan sonra, çalıştırdığınız dizinde şu şekilde bir PDF dosyası sizi karşılayacak.
|
||
5 years ago
|
|
||
|
![alt-text](paperbackup1.png "Karekodlar")
|
||
|
![alt-text](paperbackup2.png "ASCII Yedek")
|
||
|
|
||
|
### Yedeği bastırma
|
||
|
|
||
4 years ago
|
Yedeğinizi bastırmak konusunda karar size kalmış durumda. Temel olarak dikkat etmeniz gereken unsurlardan biri eğer güvenlik gerektiren bir yedeği şifresiz olarak yedeklediyseniz baskı aracınıza ve ona ulaşmak için kullandığınız bağlantıya (ör. Yerel ağ yazıcısı) güvenip güvenmediğiniz sorusudur. Bu bakımdan en güvenilir yöntem PDF dosyasını bir USB belleğe alarak doğrudan yazıcıdan bastırmak veya bilgisayarınıza yazıcıyı USB ile bağlamaktır.
|
||
5 years ago
|
|
||
|
Kağıt ve yazdırma yöntemi size kalmış. Her türlü baskı beklentilerinizi fazlasıyla karşılayacak kadar uzun ömürlü olacaktır. Lakin asitsiz kağıda toner baskı en iyi sonucu size sağlayacaktır hem baskı kalitesi hem de ömür bakımından.
|
||
|
|
||
|
Yedeklernizi bastırdıktan sonra katlamayın ve bir zarf içinde veya daha iyisi su geçirmez bir poşet içinde saklamayı ihmal etmeyin. Yedeğinizi **tarihlerseniz** ileride bu bilgi işinize yarayabilir veya başka ileri tarihli yedekler almanız durumunda karışmasını engelleyebilir.
|
||
|
|
||
|
### Kurtarma
|
||
|
|
||
4 years ago
|
Öncelikle kağıt yedeğinizi mümkün olan en yüksek çözünürlükte tarayın. Taramanızın sonucu olan PDF dosyasını `paperbackup` dizinine taşıdıktan sonra aşağıdaki komut ile kurtarabilirsiniz.
|
||
5 years ago
|
|
||
|
`./paperrestore.sh [kurtarılacak PDF dizini] > kurtarma`
|
||
|
|
||
|
Paperbackup ona verdiğiniz isimle dosyayı bulunduğu dizine kaydedecektir.
|
||
|
|
||
|
### Okuma listesi ve benzer projeler
|
||
|
|
||
4 years ago
|
* <https://github.com/tuxlifan/paperbackup>
|
||
|
* <http://ollydbg.de/Paperbak/>
|
||
|
* <https://github.com/Rupan/paperbak/>
|
||
|
* <https://git.teknik.io/scuti/paperback-cli>
|
||
|
* <https://github.com/colorsafe/colorsafe>
|
||
|
* <http://ronja.twibright.com/optar/>
|
||
|
* <http://www.jabberwocky.com/software/paperkey/>
|
||
|
* <https://github.com/4bitfocus/asc-key-to-qr-code>
|