PKI Nedir? - 3 (Açık Kaynak Kodlu PKI Yazılımı: OpenCA)
 
 Editör'den
 pGina ile PC Salonları
 Otomasyonu
 Gözlerdeki İklim
 Değişimi
 İnsan Bilgisayar
 Etkileşimi Araştırma ve
 Uygulama Laboratuvarı
 -1
 PKI Nedir? -3
 Bilişim Politikaları
 CISN Arşiv
 Geribildirim
 
     
 

a) OpenCA Yapısı:

OpenCA'de diğer PKI yazılımlarından farklı olarak bir sertifika otoritesi sunucusu, bir de kayıt otoritesi sunucusu bulunmaktadır.

Sertifika otorite sunucusu (CA), sertifikaların saklanacağı sunucu olduğu için genelde ağ ile bağlantısı olmayan bir birim olarak düşünülmektedir. Bu birim, dizin sunucu (LDAP) ya da veri tabanı kullanarak, kullanıcılara ait olan sertifikaları saklamak ve yapılan işlemlerinin kayıtlarını tutmak ile yükümlüdür.

Kayıt otorite sunucusu (RA), etkileşimli olarak kullanıcılardan gelen sertifika işlemlerini (istek, değiştirmek, iptal etmek vb.) kabul etmek, kayıt otorite operatörleri sayesinde bunlara onay vermek ve işlemlerin web sayfalarından diğer kullanıcılara duyurulmasını sağlamak ile yükümlüdür.

b) OpenCA Kurulumu ve İşletimi için Gerekli Olan Yazılımlar:

OpenCA'nin çalışması için, Unix tabanlı bir işletim sistemi, bu işletim sistemi üzerinde openSSL şifreleme kütüphanesi, Apache mod_ssl ile derlenmiş web sunucusu, openLDAP, perl ve perl modülleri gerekmektedir.

c) OpenCA'nın Kurulumu:

Kurulum yapılırken CA ile ilgili kullanılacak her türlü yazılımın /CA dizini altına kurulduğu, tüm kaynak kodların en son sürümlerinin FTP sitelerinden indirildiği ve kaynak kodların sıkıştırılmış olmadığı düşünülmektedir.

OpenCA hem dizin sunucu ile hem de veri tabanı ile çalıştırılabilen bir sistemdir. Bu kurulumda sadece veri tabanı sunucusuyla çalışan OpenCA yapılandırılması anlatılacaktır.

i) İhtiyaç duyulan Perl Modülleri

BBDB-1.20
DBM-DBass-0.54
DB_File-1.77

Bu modüllerin kurulu olan makineye yüklenmesi gerekmektedir. Modülleri ftp://ftp.ulak.net.tr/pub/CPAN/modules adresinden indirebilirsiniz.

Kurulum için her modülün kaynak dizinine giriş yapıp aşağıdaki komutlar girilmelidir:

perl Makefile.pm
make
make test
make install

ii) OpenSSL Kurulumu

OpenSSL'in mümkün olan en yeni sürümünü ftp://ftp.metu.edu.tr/pub/mirrors/ftp.openssl.org adresinden indirebilirsiniz.

Kurulum için openssl kaynak kodu dizinine giriş yapıp aşağıdaki komutlar girilmelidir:

./config --prefix=/CA openssldir=/CA/ssl
make
make test
make install

iii) MOD-SSL && Apache.1.3.x Kurulumu

SSL destekli Apache kurulumu için, kurmak istediğiniz Apache sürümüne uygun olan mod_ssl paketini ftp://ftp.metu.edu.tr/pub/mirrors/ftp.modssl.org/source adresinden indirebilirsiniz.

Ayrıca Apache kaynak kodunu da ftp://ftp.metu.edu.tr/pub/mirrors/ftp.apache.org/httpd adresinden indirebilirsiniz.

Mod_Ssl'li Apache Kurulumu için öncelikle çekilen kaynak kodların aynı dizin altında açılması gerekmektedir.

Kuruluma öncelikle mod_ssl kaynak dizini altında başlanmalıdır:

./configure -with-apache=../apache.1.3.x \
--with-ssl=../openssl.x.x.x \
--prefix=/CA/apache

Yukarıdaki işlemlerden sonra, Apache kaynak dizinine geçilerek kurulum işlemi devam etmelidir.

cd ../apache1.3.x
make
make certificate
make install

Mod_Ssl'li Apache ile ilgili kısa bir bilgilendirme: Apache'nin kurulmuş olduğu /CA/apache dizini altında;

*conf/sslkey/server.key - Web sunucusunun gizli anahtarının tutulduğu dosyadır.
*conf/ssl.crt/server.crt - Web sunucusunun açık anahtarının tutulduğu dosyadır.
*conf/ssl.csr/server.csr - Güvenilir ve bilinen bir CA'ya gönderilip onaylanabilecek sertifika istek verisinin tutulduğu dosyadır.

iv) Postgresql Kurulumu

Postgresql kaynak kodunu ftp://ftp.metu.edu.tr/pub/mirrors/ftp.postgresql.org adresinden indirebilirsiniz.

Kurulum için postgresql kaynak dizininde aşağıdaki komutlar girilmelidir:

./configure --prefix=/CA/pgsql
make
make install

Veri tabanı yönetim sisteminin kullanacağı veri alanını kullanmak için veri dizini tanımı yapılması gerekir. mkdir /CA/pgsql/data

Postgresql veri tabanı yönetim sisteminin yönetici kullanıcısı "postgres"dir. Bu kullanıcıyı sistemde oluşturup veri dizinin sahibinin bu kullanıcı kodu yapılması gerekmektedir.

adduser postgres
chown postgres:postgres /CA/pgsql/data

Veri tabanı yönetim sistemini tanımlamak, ilk değer atamalarını yapıp sistem çalışır hale getirmek için aşağıdaki komutlar çalıştırılmalıdır:

su - postgres
/CA/pgsql/bin/initdb -D /CA/pgsql/data
/CA/pgsql/bin/postmaster -i -D /CA/pgsql/data > postgres.log

Postgresql veri tabanı yönetim sistemimiz çalışır duruma geldikten sonra, openCA'da kullanmak üzere "openca" veri tabanı kullanıcısını ve openca veri tabanını oluşturmak gerekmektedir.

/CA/pgsql/bin/createuser openca
/CA/pgsql/bin/createdb openca

v) OpenCA - CA Sunucusu Kurulumu

OpenCA kaynak koduna http://www.openca.org adresinden ulaşılabilir. OpenCA daha önce de bahsettiğimiz gibi perl ile geliştirilmiş bir açık anahtarlama altyapısı yazılımıdır.

OpenCA CA sunucusunu kurmak için, OpenCA kaynak dizininde aşağıdaki komutlar girilmelidir:

./configure --prefix=/CA/srv/ca \
--with-web-host= ca.sunucu.alan.adı \
--with-httpd-host= ca.httpd.sunucu.alan.adı\
--with-httpd-user= httpd.kullanıcı.adı \
--with-httpd-group= httpd.grup.adı \
--with-dist-user= sunucudan.sorumlu.kullanıcı.adı \
--with-dist-group= sunucudan.sorumlu.grup.adı \
--with-ca-organization= ca.sunucuyu.kullanacak.organizasyon.ismi \
--with-ca-locality= ca.sunucunun.bulundugu.il \
--with-ca-country= ca.sunucunun.bulundugu.ulke.temsili.harfleri \
--with-service-mail-account= ca.servisi@alan.adı\
--with-openssl-prefix=/CA \
--with-sendmail="/usr/sbin/sendmail -t" \
--with-hierarchy-level=ca \
--enable-dbi \
--with-db-type=Pg \
--with-db-name=openca \
--with-db-host=localhost \
--with-db-port=xxxx \
--with-db-user=openca \
--with-db-passwd="xxxxxx" \
make install-ca

Kurulum için yukarıda kurulması gereken paketler haricinde, sistemde mevcut değil ise, "BerkeleyDB" ve "gettext" paketlerine ihtiyaç duyulmaktadır.

BerkeleyDB Kurulumu:

http://www.sleepycat.com/download/index.shtml adresinden kaynak kodu elde edilebilir.

cd build_unix
../dist/configure ?prefix=/CA
make
make install

komutları ile kurulum tamamlanabilir.

vi) OpenCA - RA Sunucusu Kurulumu

RA sunucusunun kurulumu CA kurulumuna benzer bir biçimde yapılandırılmaktadır.

./configure \
--prefix=/CA/srv/ra \
--with-web-host=ra.sunucu.alan.adı \
--with-httpd-host=ra.httpd.sunucu.adı \
--with-httpd-user=httpd.kullanıcı.adı \
--with-httpd-group=httpd.grup.adı \
--with-dist-user= sorumlu.kullanıcı.adı \
--with-dist-group= sorumlu.grup.adı \
--with-ca-organization= ca.sunucusunun.bulundugu.org.ismi \
--with-ca-locality= ca.sunucusu.bulundugu.il \
--with-ca-country= ca.sunucusu.bagli.bul.ulke.temsili.harfleri \
--with-service-mail-account=ca.servisi@alan.adı \
--enable-dbi \
--with-openssl-prefix=/CA \
--with-sendmail="/usr/sbin/sendmail -t" \
--with-hierarchy-level=ra \
--with-db-type=Pg \
--with-db-name=opencara \
--with-db-host=localhost \
--with-db-port=xxxx \
--with-db-user=openca \
--with-db-passwd="xxxxxx"
make install-ext

Bütün kurulumlar eksiksiz tamamlandıktan sonra OpenCA'in düzgün çalışabilmesi için yapılandırma dosyalarında kurduğumuz sisteme göre değişiklikler yapmak gerekmektedir. Kurulumu yapılan OpenCA'nın yapılandırma dosyalarının düzeltilmesi ve OpenCA kullanıcıları için menü işlevlerinin anlatılması bir sonraki sayımızda yer alacaktır.

Feyza (Taşkazan) Eryol

 
     
  - BAŞA DÖN -