folder Tahribat.com Forumları
linefolder Network - İnternet
linefolder İnterneti Yasal Olarak Umuma Açık Yelerde Paylaşmak



İnterneti Yasal Olarak Umuma Açık Yelerde Paylaşmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zalimadam
    zalimadam's avatar
    Kayıt Tarihi: 08/Şubat/2011
    Erkek

    beyler modem ile acses point arasına bir firewall yazılımı atsak.(örn: pf sense gibi açık kaynak kodlu birşeyler)

    bu şekilde log tutsak ve kullanıcılara bu pf sense üzerinden şifre versek iş görürmü ?

    ozaman yasalara uygun hareket etmiş olurmuyuz ?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Böcüklerin Efendisi
    krypt
    krypt's avatar
    Kayıt Tarihi: 05/Mart/2004
    Erkek
    zalimadam bunu yazdı

    beyler modem ile acses point arasına bir firewall yazılımı atsak.(örn: pf sense gibi açık kaynak kodlu birşeyler)

    bu şekilde log tutsak ve kullanıcılara bu pf sense üzerinden şifre versek iş görürmü ?

    ozaman yasalara uygun hareket etmiş olurmuyuz ?

    Nayn. TiB'in kendi log imzalayıcı programını kullanmak zorundasın.


    while (1<2)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    2021 Talihlisi
    joe_black
    joe_black's avatar
    Kayıt Tarihi: 04/Ocak/2006
    Erkek
    glaurung bunu yazdı
    joe_black bunu yazdı

    gençler ben 8 aydır dersanede dağıttım milete şfireyi. sömürüyo herkes.

    bu durumda kurum mu babayı alır bir problem olunca ?

    mac adresi cartı curtundan bulmak istese bulurlar da hiç uğraşmayıp aga suçlu sizsiniz mi derrler?

    Şimdi olay şöyle gelişir, türkler pek üstünde durmadığından, senin modeme bağlanan biri gider çocuk/ölü/hayvan'lı müstehcen bir şey indirir, o ülke bunu tespit eder tüm ıp leri ayırır, tr'yi de bilgilendirir işte şu ip'den şu suç işlendi diye, bizimkiler de soruşturma açar savcılık çağırır ifadeni alır, ben yapmadım dersin şudur budur bilirkişi talep edersin, bilirkişi gelir inceleme yapar mahkemeye çıkarsın zaten orda da 2-3 posta devam eder, sonuçta bişi olmaz büyük ihtimal çünkü senin makinenin mac'i belli ama savcıya ifade ver mahkeme mahkeme sürün dert anlat o bile 3 ay yatmış kadar eder adamı.

    eduroam gibi ucuzundan bir yazılım iş görmez mi?

    biraz meşakkatli olacak benim için ama tek tek mac filtreleme yaparak sadece izinli maclere izin vermeyi düşünüyorum.

    neti kullanmak isteyen gelecek bana, tel ya da pcsine bakacam macini alacam ve kağıt imzalatacam şu şu mac adresi benimdir ıvır zıvır sorumluluk bende filan diye.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    glaurung
    glaurung's avatar
    Kayıt Tarihi: 05/Temmuz/2011
    Erkek
    joe_black bunu yazdı
    glaurung bunu yazdı
    joe_black bunu yazdı

    gençler ben 8 aydır dersanede dağıttım milete şfireyi. sömürüyo herkes.

    bu durumda kurum mu babayı alır bir problem olunca ?

    mac adresi cartı curtundan bulmak istese bulurlar da hiç uğraşmayıp aga suçlu sizsiniz mi derrler?

    Şimdi olay şöyle gelişir, türkler pek üstünde durmadığından, senin modeme bağlanan biri gider çocuk/ölü/hayvan'lı müstehcen bir şey indirir, o ülke bunu tespit eder tüm ıp leri ayırır, tr'yi de bilgilendirir işte şu ip'den şu suç işlendi diye, bizimkiler de soruşturma açar savcılık çağırır ifadeni alır, ben yapmadım dersin şudur budur bilirkişi talep edersin, bilirkişi gelir inceleme yapar mahkemeye çıkarsın zaten orda da 2-3 posta devam eder, sonuçta bişi olmaz büyük ihtimal çünkü senin makinenin mac'i belli ama savcıya ifade ver mahkeme mahkeme sürün dert anlat o bile 3 ay yatmış kadar eder adamı.

    eduroam gibi ucuzundan bir yazılım iş görmez mi?

    biraz meşakkatli olacak benim için ama tek tek mac filtreleme yaparak sadece izinli maclere izin vermeyi düşünüyorum.

    neti kullanmak isteyen gelecek bana, tel ya da pcsine bakacam macini alacam ve kağıt imzalatacam şu şu mac adresi benimdir ıvır zıvır sorumluluk bende filan diye.

    Yani böyle bir seçenek var tabi, hem sende kayıtlı olur mac'ler sorun olursa çıkarır koyarsın, tabi bi de log tutmak lazım uzun vadeli, en garanti çözüm bu. Ya da devletin engellediği siteleri engelleyeceksin, yani dns değiştirmeye engel olsan yeter, üstüne de torrentle ilgili kısıtlamalar yapsan olabilir ama adam gider yandex diskten veri çeker yine sıkıntı çıkabilir. 

    En uygun çözüm şu bence; her kişiye özel şifre olacak adam gelip senden alacak, tek mac'ten bağlanmaya izin vercek (telefonu için ayrı şifre alcak) şifreyi almak için tc vercek hatta bir kağıt da imzalatbilirsin.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    joe_black bunu yazdı
    glaurung bunu yazdı
    joe_black bunu yazdı

    gençler ben 8 aydır dersanede dağıttım milete şfireyi. sömürüyo herkes.

    bu durumda kurum mu babayı alır bir problem olunca ?

    mac adresi cartı curtundan bulmak istese bulurlar da hiç uğraşmayıp aga suçlu sizsiniz mi derrler?

    Şimdi olay şöyle gelişir, türkler pek üstünde durmadığından, senin modeme bağlanan biri gider çocuk/ölü/hayvan'lı müstehcen bir şey indirir, o ülke bunu tespit eder tüm ıp leri ayırır, tr'yi de bilgilendirir işte şu ip'den şu suç işlendi diye, bizimkiler de soruşturma açar savcılık çağırır ifadeni alır, ben yapmadım dersin şudur budur bilirkişi talep edersin, bilirkişi gelir inceleme yapar mahkemeye çıkarsın zaten orda da 2-3 posta devam eder, sonuçta bişi olmaz büyük ihtimal çünkü senin makinenin mac'i belli ama savcıya ifade ver mahkeme mahkeme sürün dert anlat o bile 3 ay yatmış kadar eder adamı.

    eduroam gibi ucuzundan bir yazılım iş görmez mi?

    biraz meşakkatli olacak benim için ama tek tek mac filtreleme yaparak sadece izinli maclere izin vermeyi düşünüyorum.

    neti kullanmak isteyen gelecek bana, tel ya da pcsine bakacam macini alacam ve kağıt imzalatacam şu şu mac adresi benimdir ıvır zıvır sorumluluk bende filan diye.

    Loglar onaylı log olmazsa (sertifikalarla imzalanmış), logların geçerliliği olmuyor hacı. Yani hakime adam şu şekilde itiraz ederse

    "-Evet o mac adresi benimdir ama ben o gün orada internete girmedim, loglar sahtedir!" yasal olarak sen suçlu oluyorsun. Logların doğrulanmış olması lazım.

     

    http://www.tib.gov.tr/tr/tr-menu-55-ip_log_imzalayici_programi.html

     

    DrKill tarafından 06/May/15 05:18 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    SİTE KAPANIRSA DİYE EKLİYORUM ÇOK GÜZEL BİR DÖKÜMAN:

    KAYNAK: https://www.syslogs.org/openssl-ile-5651-sayili-kanun-geregi-log-imzalamak/

     

    OpenSSL ile 5651 Sayılı Kanun Gereği Log Imzalamak


    BerbatKötüİdare%20EderGüzelHarika (Toplam 18 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)

    time-stamp5651 sayılı kanun, internet ile ilgili herhangi bir iş yapan kurum ya da firmalara çeşitli sorumluluklar yüklemekte. Bu sorumluluklardan birisi de Trafik Erişim bilgisinin 6 ay boyunca saklanması ve bu dosyaların değiştirilmediğini ispat edebilmek için Elektronik Zaman Damgası ile imzalanmasıdır. Kanuna göre bu işlem, tüm internet ve yer sağlayıcı firmaların yerine getirmesi gereken bir zorunluk. Üstelik kendi sunucuları bulunan her firma da yer sağlayıcısı kapsamına girmekte.

    Bir başka değişle, örneğin web sitenizi kendi sunucularınızda barındırıyorsanız Yer Sağlayıcı kapsamına giriyorsunuz. Durum bu olunca da sunucularınız ile ilgili log dosyalarını elektronik zaman damgası ile imzalamanız ve arşivlemeniz gerekiyor. Ayrıca, Toplu Internet Kullanım Sağlayıcıları ismi ile adlandırılan duruma göre, örneğin şirketinizde internet kullanımı bulunuyorsa, IP dağıtım loglarını (DHCP vs.) da imzalamalı ve arşivlemelisiniz.

    Piyasada log imzalamak üzere geliştirilmiş programlar mecvut ancak bu paralı yazılımları kullanmak yerine aynı işi OpenSSL ile de yapmak mümkün. Bu yazıda bu işin nasıl yapıldığından bahsetmek istiyorum.

     

    Kurulum ve uygulama bölümlerine bakmadan önce kısaca zaman damgasının ne olduğuna değinmek iyi olacaktır.

    Elektronik Zaman Damgası


    Direk kurulum notlarına geçmeden önce, zaman damgası ve çalışma mantığına kısaca değinmek istiyorum.

    Zaman Damgası Nedir ?

    Elektronik Zaman Damgası, elektronik ortamdaki log, döküman sözleşme vs. gibi herhangi bir verinin, belirli bir zamandan önce var olduğunu ispat etmek için kullanılır. Örneğin, bir log dosyasını zaman damgası ile imzalarsanız, o log dosyasının imzalandığı tarihte orjinal haliyle var olduğunu, sonradan herhangi bir değişikliğe uğramadığını ispat edebilirsiniz.

    Bu işlem, imzalanacak dosyanın bir hash’inin (kısaca sayısal özet’inin) çıkarılması ve bu hash’in x tarihinde alındığının bilgisinin tutulmasından ibarettir. Bu şekilde eğer ileriki bir tarihte dosyayı değiştirirseniz, imzalanmış olan hash değeri, dosya’nın kendisi ile eşleşmeyeceği için dosyanın değiştirildiği anlaşılacaktır.

    Elektronik Zaman Damgası ile İmza İşlemleri Nasıl Yapılabilir ?

    Elektronik zaman damgası ile imzalama işlemi için izlenebilecek bir iki yol var; eğer Windows kullanıyorsanız TİB (Telekominikasyon İletişim Başkanlığı)’nın bu iş için yayınladığı IP İmzalayıcı isimli programı kullanabilirsiniz. Ya da piyasada bu iş için hizmet veren firmalardan yararlanabilirsiniz. Ayrıca OpenSSL ile imzalama yöntemini uygulayabilirsiniz. Zaten bu yazının konusu da bu.

    OpenSSL ve Time Stamp Authority Patch’i


    Önemli Güncelleme: Sisteminizde openSSL’in 1.0.x sürümü bulunuyorsa, 1.0 ile TSA özelliği default olarak geldiğinden dolayı, “OpenSSL’in TS Patchi İle Derlenerek Kurulması” bölümünde anlatılan patch geçme işlemini yapmanıza gerek bulunmamaktadır. Ancak 1.0.x sürümüne özel olarak conf dosyasında yapılması gereken iki küçük değişiklik bulunmaktadır. Bu değişiklikleri http://www.syslogs.org/openssl-1-0-x-tsa-ozelligi-ve-5651a-uygun-log-imzalamak/ adresinde anlatıldığı şekilde yaptıktan sonra, bu yazıya “OpenSSL ve Time Stamping Authority Yapılandırması” isimli bölümden devam edebilirsiniz.

    OpenSSL’in TS (Time Stamping Authority) isimli bir özelliği bulunuyor. Ancak bu desteğin OpenSSL’e kazandırılabilmesi için TS isimli patch’in geçilmesi gerekiyor. TS desteğinin bir sonraki sürümde OpenSSL’e ekleneceği söyleniyor. Ancak şu an için böyle bir durum olmadığı için patch’i manuel olarak geçmeliyiz.

    Şimdi bu işin nasıl yapıldığından bahsetmek istiyorum.

    Warning UYARI: TS patch’inin şu anki son sürümü, 0.9.8c’dir ve OpenSSL’in 0.9.8c sürümünde çalışmaktadır. Ancak OpenSSL’in şu anki son sürümü 0.9.8k’dır. Yani TS patch’i güncel sürümde çalışmamakta ve bu nedenle OpenSSL 0.9.8c sürümünü kullanmamız gerekmektedir. Bu nedenle log imzalama işlemleri için kullanacağınız bilgisayarın dışarıdan erişilebilir bir makina olmamasına dikkat ediniz. Böylece, OpenSSL’in eski sürümlerine ait güvenlik açıklarından etkilenmemiş olursunuz.

    Şimdi OpenSSL’i TS patch’i ile derleyip sisteme kuralım.

    OpenSSL’in TS Patchi İle Derlenerek Kurulması

    Normalde, sisteminizde OpenSSL’in son sürümü yüklüdür, fakat biz OpenSSL 0.9.8c sürümümü ts-0.9.8c patchi ile derleyerek ayrıca kuracağız. Bu şekilde sistemde ayrı pathlerde duran iki adet OpenSSL binary’si bulunacak ve imzalama işleri için 9.0.8c sürümüne ait binary’i kullanacağız.

    Warning UYARI: OpenSSL kurulumu yapacağınız bilgisayarda, daha önceden kaynak koddan derleme sureti ile OpenSSL kurduysanız, şimdi yapılacak OpenSSL kurulumunun var olan binary dosyalarını değiştireceğini bilmelisiniz. Böyle bir durumunuz varsa, şimdiki kurulumda binary dosyalarının başka bir path’e yüklenmesini sağlamak için ./config sırasında –openssldi=/dizin şeklinde yeni bir path belirtiniz.

    Aşağıdaki adımları izleyerek kurulumu yapabiliriz.
    Ben dosyaları düzenli olması açısından /usr/local/src dizinine download ediyorum. Bu dizine girelim.

    # cd /usr/local/src/

    OpenSSL’in 0.9.8c sürümünü download edelim:

    # wget http://www.openssl.org/source/openssl-0.9.8c.tar.gz

    indirdiğimiz paketi açıyoruz:

    # tar xvfz openssl-0.9.8c.tar.gz

    openssl-0.9.8c dizinine girelim.

    # cd openssl-0.9.8c

    Bu dizindeyken, patch dosyasını download ediyoruz:

    # wget http://www.opentsa.org/ts/ts-20060923-0_9_8c-patch.gz

    Patch’i uyguluyoruz.

    # gzip -cd ts-20060923-0_9_8c-patch.gz | patch -p1

    ve OpenSSL’i derleyerek kuruyoruz.

    # ./config
    # make
    # make install

    Herhangi bir sorunla karşılaşmadıysanız, kurulum tamam demektir. Yeni kurulan OpenSSL’e ait dosyalar sistemde /usr/local/ssl/ path’in de tutuluyor. TS desteklik OpenSSL binary’si bu dizinin bin klasorunde bulunuyor; yani /usr/local/ssl/bin/openssl

    Şimdi ts desteğinin çalışıp çalışmadığını teyit etmek için şu komutu verelim:

    # /usr/local/ssl/bin/openssl ts

    Çıktı şu şekilde olacaktır:

    usage:
    ts -query [-rand file:file:...] [-config configfile] [-data file_to_hash] [-digest digest_bytes][-md2|-md4|-md5|-sha|-sha1|-mdc2|-ripemd160] [-policy object_id] [-no_nonce] [-cert] [-in request.tsq] [-out request.tsq] [-text]
    or
    ts -reply [-config configfile] [-section tsa_section] [-queryfile request.tsq] [-passin password] [-signer tsa_cert.pem] [-inkey private_key.pem] [-chain certs_file.pem] [-policy object_id] [-in response.tsr] [-token_in] [-out response.tsr] [-token_out] [-text] [-engine id]
    or
    ts -verify [-data file_to_hash] [-digest digest_bytes] [-queryfile request.tsq] -in response.tsr [-token_in] -CApath ca_path -CAfile ca_file.pem -untrusted cert_file.pem

    Evet görüldüğü üzere yeni kurduğumuz OpenSSL’in TS desteği var. Şimdi sırada, TS kullanımı için OpenSSL’in yapılandırılmasında.

    OpenSSL ve Time Stamping Authority Yapılandırması

    Imzalama işlemlerini yapabilmek için öncesinde, bir takım yapılandırma ayarlarını tamamlamak gerekiyor. Sırası ile işlemler şu şekilde:

    Bu işlem için bir çalışma dizini oluşturun. Örneğin sertifikalar isimli bir dizin:

    # mkdir /sertifikalar

    Şimdi bu dizine girip, OpenSSL için bir certificate authority oluşturalım.

    # cd /sertifikalar
    # openssl req -config /usr/local/ssl/openssl.cnf -days 1825 -x509 -newkey rsa:2048 -out cacert.pem -outform PEM

    Bu komutu verdiğiniz zaman, certificate authority için oluşturulacak private key için kullanılacak parolayı belirlemeniz istenecek, belirleyeceğiniz parola ileride lazım olacağı için önemlidir; unutmamalısınız:

    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:

    Pass phrase (parola) belirledikten sonra sertifika bilgilerini belirlemeniz istenecek.

    Country Name (2 letter code) [AU]:TR
    State or Province Name (full name) [Some-State]:Marmara
    Locality Name (eg, city) []:Istanbul
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cagri AS
    Organizational Unit Name (eg, section) []:CagriAS
    Common Name (eg, YOUR name) []:Cagri Ersen
    Email Address []:cagri.ersen@gmail.com

    Bu kısımda ise yukarıda gördüğünüz ülke, bölge, şehir, firma ismi, e-mail gibi bilgiler soruluyor. Bu soruları yukarıdaki cevaplarda verildiği gibi formal bir şekilde yanıtlayın. Bu kısıma girdiğiniz bilgileri bir yere not edin. Çünkü biraz sonra yapılacak Time Stamp Authority için oluşturulacak private key’de de aynı bilgilerin kullanılması gerekiyor.

    İşlem bittiği zaman çalışma dizininde, aşağıdaki gibi iki dosya oluşturulduğunu göreceksiniz:

    -rw-r--r-- 1 root root 1675 Aug 25 01:15 cacert.pem
    -rw-r--r-- 1 root root 1743 Aug 25 01:15 privkey.pem

    cacert.pm isimli dosya, Certificate Authority’nin public key’i, diğeri ise private key’idir.

    Aslında, OpenSSL kurulum aşamasında ön tanımlı olarak public ve private key’leri oluşturuyor. Fakat bizim kendi key’lerimizi oluşturmamız ve default gelen key’lerin yerine koymamız gerekiyor. Şimdi oluşturulan bu key’leri yerlerine taşıyalım.

    Ben daha derli toplu olması için Certificate Authority ile ilgili dosyaları / (kök) dizininin altında CA isimli klasorde tutuyorum. OpenSSL ile birlikte gelen Certificate Authority dosyalar, download edip açtığımız openssl-0.9.8c/apss dizininde demoCA ismi ile duruyor. (Yazının başında download için /usr/local/src dizinini belirlemiştik.) Şimdi demoCA isimli bu dizini /CA olarak kopyalayalım ve yeni sertifikalar için burada bir newcerts isimli bir dizin oluşturalım.

    # cp -r /usr/local/src/openssl-0.9.8c/apps/demoCA /CA
    # mkdir /CA/newcerts

    Şu an CA dizini içerisinde default gelen public ve private key’ler de bulunuyor. Bunların bir yedeğini alalım ve sonrasında kendi oluşturduğumuz dosyaları buraya taşıyalım:
    Önce public key:

    # mv /CA/cacert.pem /CA/cacert.pem.old
    # cp /sertifikalar/cacert.pem /CA/

    Şimdi aynı işlemleri, private key için de yapıyoruz:

    # mv /CA/private/cakey.pem /CA/private/cakey.pem.old
    # cp /sertifikalar/privkey.pem /CA/private/cakey.pem

    Dosyaları yerlerine taşıdıktan sonra openssl.cnf dosyasında bir iki değişiklik yapmamız gerekiyor.

    openssl.cnf dosyasını editleyin:

    vi /usr/local/ssl/openssl.cnf

    Dosya içerisinde ./demoCA yazan yerleri /CA olarak değiştirin. Ilgili ibareler dosyada iki yerde geçiyor ve son halleri aşağıdaki gibi olmalı:

    dir             = /CA                  # Where everything is kept
    
    dir             = /CA                  # TSA root directory

    Değişiklikleri yaptıktan sonra dosyadan kaydederek çıkın.

    Sırada, Time Stamp Authority (TSA) için bir private key oluşturma işlemi var.
    Şu şekilde yapıyoruz.

    # cd /sertifikalar
    # openssl genrsa -aes256 -out tsakey.pem 2048

    Komutu verdiğiniz zaman gene bir parola belirlemeniz istenecek:

    Enter pass phrase for tsakey.pem:
    Verifying - Enter pass phrase for tsakey.pem:

    Elbette bu parolayı da unutmayın.

    Şimdi bu key ile birlikte, Certificate Authority’den bir sertifika isteğinde bulunuyoruz:

    # openssl req -new -key tsakey.pem -out tsareq.csr

    Komutu girdiğiniz aman aşağıdaki gibi parolanızı girmenizi isteyen bir çıktı alacaksınız.

    Enter pass phrase for tsakey.pem:

    Bu key hemen bir önceki adımda, tsakey.pem dosyasını oluştururken belirlediğimiz paroladır.
    Parolanızı girdikten sonra, aşağıdaki görüldüğü gibi, ülke, bölge, şehir, firma ismi, e-mail gibi bilgilerin girilmesi istenecek.

    Warning UYARI: Bu bilgilerin, certificate authority’nin private key’ini oluştururken girdiğiniz bilgilerle aynı olması gerekir. Aksi halde log imzalama işlemlerine hata alabilirsiniz.

    Bizim örneğimize göre çıktı ve cevaplar şu şekilde olmalı:

    Country Name (2 letter code) [AU]:TR
    State or Province Name (full name) [Some-State]:Marmara
    Locality Name (eg, city) []:Istanbul
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cagri AS
    Organizational Unit Name (eg, section) []:CagriAS
    Common Name (eg, YOUR name) []:Cagri Ersen
    Email Address []:cagri.ersen@gmail.com

    Ayrıca extra attiribute’lerin sorulduğu şöyle bir çıktı daha alacaksınız:

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:sifre
    An optional company name []: Bos gecebilirsiniz.

    Şimdi, /sertifikalar dizininde tsareq.csr isimli bir request dosyası oluştu. Artık bu csr. dosyasını kullanarak time stamp authority’nin public key’ini oluşturacağız.

    Şu şekilde:

    # openssl ca -days 1825 -config /usr/local/ssl/openssl.cnf -in tsareq.csr -out tsacert.pem

    Komutu girdiğiniz zaman aşağıdaki gibi görünen ve Certificate Authority için belirlediğiniz parolayı girmenizi isteyen çıktıyı alırsınız. (Cert. Authority’nin private key’ini oluştururken belirlediğiniz parola’nızı girin.

    Using configuration from /usr/local/ssl/openssl.cnf
    Enter pass phrase for /CA/private/cakey.pem:

    Sonrasonda da sertifikanın imzalanmasına onay vermenizi isteyen aşağıdaki gibi bir ekran ile karşılaşırsınız:

    Check that the request matches the signature
    Signature ok
    Certificate Details:
            Serial Number: 286 (0x11e)
            Validity
                Not Before: Aug 24 23:24:35 2009 GMT
                Not After : Aug 24 23:24:35 2010 GMT
            Subject:
                countryName               = TR
                stateOrProvinceName       = Marmara
                organizationName          = Cagri AS
                organizationalUnitName    = CagriAS
                commonName                = Cagri Ersen
                emailAddress              = cagri.ersen@gmail.com
            X509v3 extensions:
                X509v3 Basic Constraints:
                    CA:FALSE
                Netscape Comment:
                    OpenSSL Generated Certificate
                X509v3 Subject Key Identifier:
                    5F:C3:B7:8A:95:A1:2C:6D:CA:9D:74:CA:BF:F9:5A:49:A7:EB:33:62
                X509v3 Authority Key Identifier:
                    keyid:34:4A:79:0E:42:7B:50:B1:32:54:4C:C5:72:1E:96:D2:6D:FA:72:A2
    
                X509v3 Extended Key Usage: critical
                    Time Stamping
    Certificate is to be certified until Aug 24 23:24:35 2010 GMT (365 days)
    Sign the certificate? [y/n]:y

    y dediğiniz zaman tekrar onay isteyen bir ekran gelecek ve sertifika imzalanacak:

    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

    Şimdi, TSA’nın public key’i /sertifikalar dizininde tsacert.pem ismi ile oluşturuldu. Artık son adım olarak, hem public hem de private key’i yerlerine taşıyabiliriz.

    # cp /sertifikalar/tsacert.pem /CA/
    # cp /sertifikalar/tsakey.pem /CA/private/

    Evet artık, oluşturduğumuz time stamp authority’i kullanarak log imzalama işlemlerini yapabiliriz.

    OpenSSL TSA Kullanarak Log İmzalamak


    Log imzalamayla ilgili komutları vermeden önce, log dosyasının teoride nasıl imzalandığından bahsetmek istiyorum.

    Nasıl ?

    OpenSSL TSA kullanarak, bir log dosyasını ya da herhangi bir dökümanı imzalamak istediğiniz zaman teorik olarak şu işlem adımları gerçekleştirilir.

    1. TSA istemcisi, imzalanacak log dosyasının bir hash’ini (özetini) alır ve TSA’ya (time stamp authority)’e gönderir.
    2. Time Stamp Authority’si ise gelen bu hash değerine, tarih ve zaman bilgisini ekler, imzalar ve time stamp token olarak geri gönderir. Bu şekilde TSA, kendisine gelen hash’ın o tarihteki durumunu belgelendirir.
    3. TSA client ise, gelen bu token’in imzasını ve token’in hash değerinin gönderilenle aynı olup olmadığını kontrol eder.

    Bu şekilde imzalam işlemi tamamlanmış olur. Şimdi bir log dosyasını imzalamanın nasıl yapılabileceğine bakalım.

    TSA ile Bir Log Dosyasının İmzalanması


    Ben örnek olarak, /imza isimli bir dizin açacağım ve örneğin sunucunun /var/log/messages isimli log dosyasını buraya alıp imzaya tabi tutacağım.

    Önce dizini açıp imzalanacak log dosyasının bir kopyasını buraya alalım:

    # mkdir /imza
    # cd /imza
    # cp /var/log/messages .

    Şimdi imzalama işlemine başlayabiliriz.

    Log Dosyası İçin TSA Request’i Oluşturmak


    Öncelikli olarak, teorik bölümde bahsettiğim gibi log dosyasının imzalanması için bir request oluşturuyoruz:

    # /usr/local/ssl/bin/openssl ts -query -data messages -no_nonce -out messages.tsq

    Not: Gördüğünüz gibi bu komutta kullanilan openssl /usr/local/ssl/bin/ dizini altındaki openssl binary’si. Bu sürümde ts desteği var. Komut satırından direk olarak openssl derseniz /usr/bin altındaki openssl binary’si çalıştırılır ve hata alırsınız.

    Komutu verdiğiniz zaman imza dizini içerisinde messages.tsq isimli request dosyasının oluşturulduğunu görürsünüz.

    Şimdi request için TSA’ın bir cevap (response) oluşturmasını söyleyeceğiz.

    Request için TSA’ya bir Response Oluşturtmak


    Bu işlemi şu şekilde yapıyoruz:

    # /usr/local/ssl/bin/openssl ts -reply -queryfile messages.tsq -out messages.tsr -config /usr/local/ssl/openssl.cnf

    Bu komutu girdiğiniz zaman, aşağıda görüldüğü şekilde, TSA’nın private key’ini oluştururken belirlediğiniz parolanın girilmesi istenecek:

    Using configuration from /usr/local/ssl/openssl.cnf
    Enter PEM pass phrase:

    Parolayı girdiğiniz zaman response oluşturulacak ve messages.tsr isimli (time stamp response) cevap dosyası oluşturulacak.
    tsr dosyasını normal yollar ile editler ya da içine bakarsanız herhangi bir şey anlayamazsınız. Ancak insanların okuyabileceği (human-readable) şekilde içerisini okumak için şu komutu verebilirsiniz.

    # /usr/local/ssl/bin/openssl ts -reply -in messages.tsr -text

    Komutun çıktısı aşağıdaki gibi olacaktır:

    Status info:
    Status: Granted.
    Status description: unspecified
    Failure info: unspecified
    
    TST info:
    Version: 1
    Policy OID: 1.2.3.4.1
    Hash Algorithm: sha1
    Message data:
        0000 - 5b b7 ce 87 d9 ad 41 3d-ea 2b c0 34 33 21 e4 2b   [.....A=.+.43!.+
        0010 - 6b 68 41 5e                                       khA^
    Serial number: 0x01
    Time stamp: Aug 25 00:20:44 2009 GMT
    Accuracy: 0x01 seconds, 0x01F4 millis, 0x64 micros
    Ordering: yes
    Nonce: unspecified
    TSA: DirName:/C=TR/ST=Marmara/O=Cagri AS/OU=CagriAS/CN=Cagri Ersen/emailAddress=cagri.ersen@gmail.com
    Extensions:

    Gördüğünüz gibi imzalanma tarihi, imzalayan otoritenin bilgileri falan mevcut.

    Şimdi bir de, request dosyasını kullanarak time stamp response yerine time stamp token oluşturalım.

    Request için TSA’ya bir Token Oluşturtmak


    Bu işi de şu komut ile yapabilirsiniz:

    # /usr/local/ssl/bin/openssl ts -reply -queryfile messages.tsq -out messages.der -token_out -config /usr/local/ssl/openssl.cnf

    Parolanız tekrar sorulacak:

    Using configuration from /usr/local/ssl/openssl.cnf
    Enter PEM pass phrase:
    Response has been generated.

    Sonrasında ise token oluşturulacak.

    Response has been generated.

    Şimdi imza dizini içinde bir de messages.der isimli bir token bulunuyor. Bu token’in içeriğini okumak için komut şu:

    # /usr/local/ssl/bin/openssl ts -reply -in messages.der -token_in -text -token_out

    Çıktı

    Version: 1
    Policy OID: 1.2.3.4.1
    Hash Algorithm: sha1
    Message data:
        0000 - 5b b7 ce 87 d9 ad 41 3d-ea 2b c0 34 33 21 e4 2b   [.....A=.+.43!.+
        0010 - 6b 68 41 5e                                       khA^
    Serial number: 0x02
    Time stamp: Aug 25 00:29:09 2009 GMT
    Accuracy: 0x01 seconds, 0x01F4 millis, 0x64 micros
    Ordering: yes
    Nonce: unspecified
    TSA: DirName:/C=TR/ST=Marmara/O=Cagri AS/OU=CagriAS/CN=Cagri Ersen/emailAddress=cagri.ersen@gmail.com
    Extensions:

    Daha detaylı görmek isterseniz aşağıdaki komutu kullanabilirsiniz:

    # /usr/local/ssl/bin/openssl asn1parse -in messages.der -inform DER

    Çıktı şuna benzer olacaktır:

    Version: 1
    Policy OID: 1.2.3.4.1
    Hash Algorithm: sha1
    Message data:
        0000 - 5b b7 ce 87 d9 ad 41 3d-ea 2b c0 34 33 21 e4 2b   [.....A=.+.43!.+
        0010 - 6b 68 41 5e                                       khA^
    Serial number: 0x02
    Time stamp: Aug 25 00:29:09 2009 GMT
    Accuracy: 0x01 seconds, 0x01F4 millis, 0x64 micros
    Ordering: yes
    Nonce: unspecified
    TSA: DirName:/C=TR/ST=Marmara/O=Cagri AS/OU=CagriAS/CN=Cagri Ersen/emailAddress=cagri.ersen@gmail.com
    Extensions:
    # /usr/local/ssl/bin/openssl ts -reply -in messages.der -token_in -text -token_out
    # /usr/local/ssl/bin/openssl asn1parse -in messages.der -inform DER
        0:d=0  hl=4 l= 873 cons: SEQUENCE
    Böylece imzalama işlemini gerçekleştirmiş oluyoruz. Şimdi sırada imzalanan dosyanın doğrulanması işlemi var.

    Doğrulama (Verify) İşlemleri


    Doğrulama işlemleri için birden fazla yol var, imzaladığınız dosyaları aşağıdaki yöntemler ile doğrulayabilirsiniz.

    Time Stamp Token’ın Log Dosyası üzerinden Doğrulanması

    Bu işlem için komut şu şekilde:

    # /usr/local/ssl/bin/openssl ts -verify -data messages -in messages.der -token_in -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem

    Çıktı şu şekilde olacaktır:

    Verification: OK

    Görüldüğü gibi doğrulama sağlandı. messages dosyasının kendisinde ya da messages.der dosyasında bir oynama yapmadığınız sürece doğrulama düzgün olarak gerçekleşecektir. Ancak dosyalardan birini değiştirirseniz doğrulama onaylanmayacak ve dosyanın değiştirilmiş olduğu anlaşılacaktır.

    Aynı doğrulama işinin, token yerine response (tsr – time stamp response) üzerinden de yapılması mümkün.

    TS Response’un Log Dosyası üzerinden Doğrulanması

    Komut şu şekilde:

    # /usr/local/ssl/bin/openssl ts -verify -data messages -in messages.tsr -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem

    Sonuç gene aynı olacaktır:

    Verification: OK

    Doğrulama işlemlerinden birisi de, time stamp replay’in (tsr request’e karşı doğrulanmasıdır.

    Time Stamp Reply’nin Request üzerinden Doğrulanması

    Bu işlem için komut şu:

    # /usr/local/ssl/bin/openssl ts -verify -queryfile messages.tsq -in messages.tsr -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem

    Çıktı:

    Verification: OK

    Görüldüğü üzere, verify işlemleri sorunsuz gitti. Artık, request, token ve log dosyasını arşivleyebilir, herhangi bir zamanda değiştirilmediğini ispat edebilirsiniz.

    Dosyalardan herhangi biri üzerinde oynama yaparsınız, doğrulama işlemi gerçekleşmeyecektir.
    Örneğin log dosyasını editleyerek bir şeyler silin ve ya ekleyin, sonrasında da aşağıdaki gibi , yeniden doğrulamada işlemi yapın.

    # /usr/local/ssl/bin/openssl ts -verify -data messages -in messages.der -token_in -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem

    Sonuç fail olacaktır:

    Verification: FAILED
    20321:error:2D064067:time stamp routines:TS_CHECK_IMPRINTS:message imprint mismatch:ts_resp_verify.c:656:

    Ya da response (tsr) dosyasını bozup verify ettiğiniz zaman da sonuc fail olacaktır.

    Evet genel olarak OpenSSL ve TSA kullanarak imzalama işleri bu kadar. Detaylı bilgi için kaynak linklerine göz atabilirsiniz:

    Kaynaklar:
    http://www.opentsa.org/
    http://www.openssl.org/docs/apps/ts.html
    http://www.bluequartz.us/phpBB2/viewtopic.php?t=91551&sid=7a25df58028c6cb69b89040fa0fe02a8
    http://www.metu.edu.tr/5651/sss.php
    http://blog.lifeoverip.net/2008/11/10/5651-sayili-kanun-gereksinimleri-icin-loglari-imzalamak/

    DrKill tarafından 06/May/15 05:19 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
Toplam Hit: 2347 Toplam Mesaj: 17