• Sonuç bulunamadı

AHTAPOT CA Kurulumu ve Anahtar Yönetimi

N/A
N/A
Protected

Academic year: 2022

Share "AHTAPOT CA Kurulumu ve Anahtar Yönetimi"

Copied!
10
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

AHTAPOT | CA Kurulumu

ve Anahtar Yönetimi

Bu dökümanda, Ahtapot bütünleşik güvenlik

yönetim sisteminde kullanılan SSH anahtarları

yöneten CA (Certificate Authority) sisteminin

kurulması ve anahtar imzalama prosedürü

anlatılıyor.

(2)

Gereken :

1. Pardus Temel ISO’ dan kurulumu tamamlanmış bir sunucu.

İçerik

Önemli Uyarılar CA

Temel Anahtarı Oluşturma

İmzalanacak Kullanıcı Anahtarı Oluşturma CA

Anahtarı ile Kullanıcı Anahtarı İmzalama CA

Anahtarı ile Sadece FWBuilder Kullanabilecek Anahtar İmzalama CA

Anahtarı ile Kullanıcı Erişim Kısıtlama Ayarları

Önemli Uyarılar

1. Kurulacak makina, PKI (Public Key Infrastructure) yapısının omurgasını teşkil

edeceğinden kozmik korunacak sistemler arasında yer almalıdır. Bu makinada korunan CA imzalama anahtarı ele geçirilirse tüm yönetilen sistemlere erişim tehlikeye düşmüş olur.

2. Pardus Temel ISO ile birlikte, lab ve demo ortamlarında kurulumu kolaylaştırmak için sisteme ilk erişimi sağlamak üzere kurulumla birlikte bir CA (ahtapot.ca) dosyası dağıtılıyor. Canlı sistemde kullanılacak CA dosyası, canlı ortamın kurulumunda bu dökümanda tarif edilen yöntemlerle oluşturulmalı ve ilk adımlarla birlikte geçici ve güvensiz olan dosyanın yerine yerleştirilmeli.

CA Temel Anahtarı Oluşturma

(3)

1. Pardus Temel ISO’ dan Pardus kurulumu tamamlandıktan sonra sistemde tanımlı bir kullanıcı ile (tercihen root) ile Ahtapot CA olacak sunucu sistemine login olunur. ssh- keygen kullanılarak standart bir SSH anahtarı oluşturulur. Bu anahtarı dosya ismi olarak ahpapot_ca ön ekiyle oluşturuyoruz. SSH anahtarı oluşturulurken kullanılan şifrenin özenle saklanması gerekmektedir.

bilgiops@bilgio:~/bilgio/lab> ssh-keygen -f ahtapot_ca Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in ahtapot_ca.

Your public key has been saved in ahtapot_ca.pub.

The key fingerprint is:

ad:78:1c:b3:32:09:0d:d0:4e:3a:37:8a:fd:81:73:fd [MD5]

bilgiops@lab.bilgio.com The key's randomart image is:

+--[ RSA 2048]----+

| .. |

| .o |

| +. |

| o +o . |

| o =.o. S . |

|. = o..+ = |

| + .=.= |

| . +E |

| | +--[MD5]---+

2. Yukarıdaki adım ile 2 adet dosya oluşturulur. Bu dosyalardan ahtapot_ca özenle korunması gereken gizli anahtar (Private Key), ahtapot_ca.pub dosyası ise her yere dağıtılabilen açık anahtar (Public Key) olarak kaydedilir.

bilgiops@bilgio:~/bilgio/lab> ls -al total 8

drwxr-xr-x 1 bilgiops users 52 Oct 29 10:44 . drwxr-xr-x 1 bilgiops users 274 Oct 29 10:34 ..

-rw--- 1 bilgiops users 1766 Oct 29 10:44 ahtapot_ca -rw-r--r-- 1 bilgiops users 405 Oct 29 10:44 ahtapot_ca.pub

(4)

İmzalanacak Kullanıcı Anahtarı Oluşturma

UYARI : Aşağıdaki adımların çalıştırılacağı sistem Ahtapot | Ansible merkezi yönetim sistemidir

1. Ahtapot sistemi adına tüm yönetimi gerçekleştirecek olan kullanıcı için, yönetimi

gerçekleştirilecek olan sunucuda tamamen aynı şekilde başka bir anahtar oluşturulur. Bu anahtar otomatik sistemlerle kullanılacağından ötürü şifre verilmeden oluşturulmalıdır.

bilgiops@bilgio:~/bilgio/lab> ssh-keygen -f kaptan Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in kaptan.

Your public key has been saved in kaptan.pub.

The key fingerprint is:

51:5c:40:e8:6e:3d:b4:6d:8f:49:7f:b3:ad:de:51:d6 [MD5]

bilgiops@lab.bilgio.com The key's randomart image is:

+--[ RSA 2048]----+

| ++o. |

| ... |

| .. |

| ... .|

| .So o E|

| o + + ..|

| . + = . |

| o oo+|

| .o+=|

+--[MD5]---+

2. Yukarıdaki adım ile 2 adet dosya oluşturulur. Bu dosyalardan kaptan özenle korunması gereken gizli anahtar (Private Key), kaptan.pub dosyası ise her yere dağıtılabilen açık anahtar (Public Key) olarak kaydedilir.

bilgiops@bilgio::~/bilgio/test> ls -al

(5)

total 16

drwxr-xr-x 1 bilgiops users 84 Oct 29 10:45 . drwxr-xr-x 1 bilgiops users 274 Oct 29 10:34 ..

-rw--- 1 bilgiops users 1766 Oct 29 10:45 kaptan -rw-r--r-- 1 bilgiops users 405 Oct 29 10:45 kaptan.pub

3. Yukarıda hazırlanılan ‘kaptan.pub’ anahtar dosyası korunması gerekmez, yerel ağda rahatlıkla kopyalanabilir durumdadır. Öte yandan gizli anahtar olan ‘kaptan’ dosyası oluşturulduğu makinadan hiç bir şekilde dışarıya çıkarılmaması gerekir. Rahatlıkla kopyalanabilecek olan ‘kaptan.pub’ dosyasını Ahtapot | CA ve ya USB ve ya network üzerinden SCP ile kopyalanabilir. Önerilen yöntem Ahtapot | CA makinasının yalıtılmış (AIR GAP) bir sunucu şeklinde korunması olacağından dolayı imzalanması gereken anahtarların USB gibi bir taşıma yöntemiyle Ahtapot | CA sunucusuna getirilmesi gerekir.

NOT: Bu yöntem kullanılarak aşağıdaki kullanıcı listesi için farklı anahtarlar oluşturulmalıdır.

● ahtapotops

● git

● myshook

● gdyshook

CA Anahtarı ile Kullanıcı Anahtarı İmzalama

UYARI : Aşağıdaki adımların çalıştırılacağı sistem Ahtapot | CA sunucusudur.

1. Kullanıcı anahtarının Ahtapot | CA sunucusunda imzalama anahtarıyla aynı dizine taşınmasından sonra şu şekilde imzalama işlemi gerçekleştirilir.

bilgiops@bilgio:~/bilgio/lab> ssh-keygen -s ahtapot_ca -I

bilgiops@kaptan.bilgio.lab -n bilgio,bilgiops -O source-address=10.0.7.0/24 -O no-agent-forwarding -O no-port-forwarding -O no-x11-forwarding kaptan.pub Enter passphrase:

Signed user key kaptan-cert.pub: id "bilgiops@kaptan.bilgio.lab" serial 0 for bilgio valid forever

2. Yukarıdaki adım ile ‘kaptan.pub’ dosyası sadece 10.0.7.0/24 network bloğundan, sadece bilgio ve bilgiops kullanıcıları olarak bağlanacak şekilde kısıtlandırılarak imzalanır. Ayrıca SSH yaparken port forward etme, X11 protokolüyle erişim gibi özellikler de kısıtlanır. Bu dökümanın sonunda SSH anahtarı imzalanırken kullanılabilecek olan tüm opsiyonlar

(6)

detaylandırılmıştır.

3. Yukarıdaki komuta ‘-V YYYYMMDDHHMMSS’ opsiyonu kullanılarak belli bir süreye kadar geçerli olma ayarlaması da yapılabilir. Örneğin, yukarıdaki anahtarı 1 Ocak 2016

‘dan 1 Ocak 2018’e kadar geçerli olacak şekilde oluşturmak için:

bilgiops@bilgio:~/.ssh$ ssh-keygen -s ahtapot_ca -I

bilgiops@kaptan.bilgio.lab -n bilgio,bilgiops -O source-address=10.0.7.0/24 -O no-agent-forwarding -O no-port-forwarding -O no-x11-forwarding

-V"20160101:20180101" id_rsa.pub

Signed user key id_rsa-cert.pub: id "bilgiops@kaptan.bilgio.lab" serial 0 for bilgio,bilgiops valid from 2016-01-01T00:00:00 to 2018-01-01T00:00:00

4. Oluşan imzalanmış anahtar dosyasının adı ‘kaptan_cert.pub’ daki imzalanmış kısıtlamalara göz atmak için aşağıdaki komut kullanılır :

bilgiops@bilgio:~/bilgio/ahtapot/os/keys> ssh-keygen -Lf kaptan-cert.pub kaptan-cert.pub:

Type: ssh-rsa-cert-v01@openssh.com user certificate

Public key: RSA-CERT 92:4b:a6:c5:8c:60:c5:c1:ab:37:a9:6f:64:22:1b:9e Signing CA: RSA 68:1c:65:34:85:10:d7:56:db:99:c5:31:43:4d:e5:24 Key ID: "bilgiops@kaptan.bilgio.lab"

Serial: 0

Valid: from 2016-01-01T00:00:00 to 2018-01-01T00:00:00 Principals:

bilgio bilgiops Critical Options:

source-address 10.0.7.0/24 Extensions:

permit-pty permit-user-rc

5. Yukarıda imzalanmış anahtar USB gibi bir taşıma yöntemiyle, ilk oluşturulduğu

sunucuya, gizli anahtarın olduğu dizine kopyalanması gerekir. Bu varsayılan ayarlar için, anahtarın oluşturulduğu kullanıcının ev dizini altındaki ‘.ssh’ dizini olmak durumundadır.

NOT: Bu yöntem kullanılarak aşağıdaki kullanıcı listesi için farklı anahtarlar oluşturulmalıdır.

● ahtapotops

● git

● myshook

● gdyshook

(7)

CA Anahtarı ile Sadece FWBuilder Kullanabilecek Kısıtlı Kullanıcı Anahtarı İmzalama

UYARI : Aşağıdaki adımların çalıştırılacağı sistem Ahtapot | CA sunucusudur.

1. “İmzalanacak Kullanıcı Anahtarı Oluşturma” başlığında anlatıldığı adımlar

kullanılarak, FWbuilder yönetme yetkisi verilecek kullanıcı için bir anahtar oluşturulur. Bu kullanıcının açık (Public) anahtarı Ahtapot | CA makinasında imzalama anahtarının bulundugu dizine getirilir. Tercihen USB /CD gibi bir yöntem kullanarak, ağ kullanılmadan getirilmesi önerilir.

2. Kullanıcı anahtarının Ahtapot | CA sunucusunda imzalama anahtarıyla aynı dizine taşınmasından sonra şu şekilde imzalama işlemi gerçekleştirilir. Aşağıda ‘kaptan.pub’

dosyası içindeki kullanıcı açık anahtarı için kısıtlandırılmalı imzalama gerçekleştirilir.

Force-command satırında “/var/opt/gdysgui/gdys-gui.py” parametresinden sonra kullanıcı adı bilgisi girilmelidir. (Örnekte kaptan olarak belirtilmiştir.)

bilgiops@bilgio:~/ahtapot/ahtapot-gereksinimler/keys$ ssh-keygen -s ahtapot_ca -I bilgiops@bilgio.bilgio.lab -n ahtapotops -O permit-port- forwarding -O permit-x11-forwarding -O force-command="/var/opt/gdysgui/gdys- gui.py kaptan" kaptan.pub

Signed user key kaptan.pub: id "kaptan@bilgio.bilgio.lab" serial 0 for ahtapotops valid forever

3. Oluşturulan anahtar bağlantı kurduğu sunucuda ‘ahtapotops’ kullanıcı yetkilerine sahip olacak, X11 kullanabilecek ve ‘sadece’ FWbuilder uygulamasına erişebilecek. FWbuilder uygulamasını başlatma komutumuz olan ‘/var/opt/gdysgui/gdys-gui.py’ dışında herhangi başka bir komut çalıştıramaması SSH ve PKI alt yapısı tarafından garanti altına alınır.

4. Oluşturulan anahtarın kısıtlamalarına göz atmak için :

bilgiops@bilgio:~/ahtapot/ahtapot-gereksinimler/keys$ ssh-keygen -Lf kaptan- cert.pub

kaptan-cert.pub:

Type: ssh-rsa-cert-v01@openssh.com user certificate

Public key: RSA-CERT 34:cc:67:20:2f:01:74:2f:e7:3f:f8:ca:a9:3a:ec:77 Signing CA: RSA 62:56:a2:64:62:67:97:94:d2:9e:7b:5d:d9:35:95:0c Key ID: "kaptan@bilgio.bilgio.lab"

Serial: 0 Valid: forever

(8)

Principals:

ahtapotops Critical Options:

force-command /var/opt/gdysgui/gdys-gui.py kaptan Extensions:

permit-X11-forwarding permit-agent-forwarding permit-port-forwarding permit-pty

permit-user-rc

5. Bu imzalanmış ‘kaptan-cert.pub’ anahtar dosyasının bağlantının yapılacağı FWbuilder yönetiminin gerçekleştirileceği XWindows çalıştırabilen sunucuya transfer edilerek bağlantıyı kuracak kullanıcının gizli anahtarının da bulunması gereken home dizinindeki

‘.ssh’ dizini içine kopyalanması gerekir. Kopyalanacak dosya ismi ‘id_rsa-cert.pub’ olarak değiştirilmelidir. Dizinde bulunan dosyalar :

bilgiops@bilgio:~$ ls -alh /home/bilgiops/.ssh/

total 112K

drwx--- 1 bilgiops users 230 Dec 26 20:23 . drwxr-xr-x 1 bilgiops bilgiops 638 Dec 27 10:14 ..

-rw-r--r-- 1 bilgiops users 1.3K Dec 27 12:33 config -rw--- 1 bilgiops users 1.8K Mar 25 2015 id_rsa

-rw-r--r-- 1 bilgiops bilgiops 1.6K Dec 27 12:12 id_rsa-cert.pub -rw-r--r-- 1 bilgiops users 405 Mar 25 2015 id_rsa.pub

-rw--- 1 bilgiops bilgiops 39K Dec 27 10:29 known_hosts

6. FWbuilder yönetilecek olan makinada SSH bağlantısının X11 yönlendirme yapacak olmasından dolayı performans ve kullanım kolaylığı için ssh_config (ssh sunucusu DEĞİL) ayarları yapılması gerekir. Bu ayarların bulunduğu dosya ismi

‘/etc/ssh/ssh_config’. Dosyayı vi gibi bir editörle editleyerek şu satırların bulunduğuna emin olunur :

ForwardAgent Yes ForwardX11 Yes Port 22

Compression Yes HashKnownHosts Yes

StrictHostKeyChecking Yes

(9)

7. Yukarıda editlenirken standard dışı portta dinleme yapması önerilen SSH sunucular için

‘Port’ değerini değiştirilmesi gerekir. Bu işlemden sonra SSH sunucunun tekrar başlatılması gerekmez.

(10)

CA Anahtarı ile Kullanıcı Erişim Kısıtlama Ayarları

clear Clear all enabled permissions. This is useful for clearing the default set of permissions so permissions may be added individually.

force-command=command Forces the execution of command instead of any shell or command specified by the user when the certificate is used for authentication.

no-agent-forwarding Disable ssh-agent(1) forwarding (permitted by default).

no-port-forwarding Disable port forwarding (permitted by default).

no-pty Disable PTY allocation (permitted by default).

no-user-rc Disable execution of ~/.ssh/rc by sshd(8) (permitted by default).

no-x11-forwarding Disable X11 forwarding (permitted by default).

permit-agent-forwarding Allows ssh-agent(1) forwarding.

permit-port-forwarding Allows port forwarding.

permit-pty Allows PTY allocation.

permit-user-rc Allows execution of ~/.ssh/rc by sshd(8).

permit-x11-forwarding Allows X11 forwarding.

source-address=address_list Restrict the source addresses from which the certificate is considered valid. The address_list is a comma-separated list of one or more address/netmask pairs in CIDR format.

Referanslar

Benzer Belgeler

Predisposing factors include exposure to ultraviolet radiation (UV) and inorganic arsenic, trauma, chronic wounds, immune dysfunction and plaques, such as sebaceous nevus.While

In this study, the changes and transformations in Turkish foreign policy in general have been mentioned, and evaluations have been made within the framework of

Bir diğer örnekte (Öksüz, 2015), göç etme eğiliminde olan halkın göç etme nedenleri aktarılarak söz konusu uygulamalara değinilir. Bu çalışmada, Batı

Bu da onu gösteriyor ki, sadece Azerbaycan halk örneklerinde değil, digger Türk folklorunda da Adem peygamber bir imge olarak kullanılmaktadır..

Çalışmamızın dokümanını Ispartalı Hakkı Efendi tarafından 22 Ağustos ve 29 Ağustos 1325 (1909) tarihlerinde Mekteb-i Hukuk’ta rüştiye (ortaokul)

Alana özgü risk alma ölçeği (DOSPERT): Bireylerin risk alma davranışlarını ölçen ve ilk olarak Weber ve diğ (2002) tarafından geliştirilen, Blais ve Weber (2006)

Bu proje Avrupa Birliği tarafından finanse edilmekte olup B&S Europe liderliğindeki konsorsiyum tarafından uygulanmaktadır. Bu belgenin içerdiği bilgiler sadece

Gelişmekte olan ülkeler için, küresel bir ekonomide varolabilmenin koşulu, daha düşük ücret maliyeti ve daha ağır çalışma koşulları olarak görülmektedir. Bu