Freeradius üzerinde sertifika oluşturulması

Freeradius üzerinde çeşitli kullanım alanlarında sertifika ihtiyacı olabilmektedir. Bu süreç sırasında Sertifika Otoritesi ayarlarının yapılabilmesi için Freeradius'un kendi içerisinde bunun otomatik yapılabilmesini sağlayacak bir uygulama bulunmakta. Belge süresince CentOS 7 ve benzerleri üzerinde örnekler yapacağımı belirtmek isterim.

인증서



CentOS 7 üzerinde freeradius paketi ile kurulum yaptığınızda freeradius ile ilgili ayarların aşağıdaki klasörde oluştuğunu görebilirsiniz:

/etc/raddb


Bu klasörün içerisinde bir çok farklı işleve yarayan dosya ve klasörler bulunmakta. Bunlardan bir tanesi de "certs"klasörü olarak görülebilir. İlgili klasörün içerisinde varsayılan olarak bir çok örnek dosya da bulunmaktadır. Birazdan yapacağımız işlemler için fazlalık olarak belirlediğimiz dosyaları sileceğiz.

cd /etc/raddb/certs
rm -f *.pem *.der *.csr *.crt *.key *.p12 serial* index.txt* dh random


Bu şekilde daha önce örnek olarak oluşturulmuş ve belki de işimize yaramayacak dosyalar silinebilir.

보안 인증서



Bu klasör içinde 3 önemli yapılandırma dosyası bulunmakta. Bunlar ca.cnf, server.cnf 및 client.cnf dosyalarıdır.

Bu dosyalarda aşağıdaki gibi değişiklikler yapabilirsiniz:

ca.cnf 문서



ca.cnf dosyası adından da anlaşılacağı gibi sertifika otoritesinin ayarlarını sağlamaktadır. Bu kısımda CA bilgileri ve talep oluşturabilmek için gerekli olan parola değerlerinin düzenlenmesi gerekmektedir.

[ req ]
prompt                  = no
distinguished_name      = certificate_authority
default_bits            = 2048
input_password          = birbir
output_password         = birbir
x509_extensions         = v3_ca

[certificate_authority]
countryName             = TR
stateOrProvinceName     = Ankara
localityName            = Cankaya
organizationName        = Aciklab
emailAddress            = [email protected]
commonName              = "Aciklab CA"


server.cnf 문서



server.cnf dosyası da CA'dan oluşturulan sunucu sertifikası diye adlandırılan bir sertifika için gerekli değerleri içermekte.

[ req ]
prompt                  = no
distinguished_name      = server
default_bits            = 2048
input_password          = birbir
output_password         = birbir

[server]
countryName             = TR
stateOrProvinceName     = Ankara
localityName            = Cankaya
organizationName        = Aciklab
emailAddress            = [email protected]
commonName              = "Aciklab Radius Server Cert"


client.cnf 문서



client.cnf dosyası ise bazı durumlarda kullanılmayacak olsa da istemci amaçlı kullanılabilecek ayrı bir sertifika yapılandırma dosyası olarak düşünülebilir ve aşağıdaki gibi düzenlenmesi gerekmektedir.

[ req ]
prompt                  = no
distinguished_name      = client
default_bits            = 2048
input_password          = birbir
output_password         = birbir

[server]
countryName             = TR
stateOrProvinceName     = Ankara
localityName            = Cankaya
organizationName        = Aciklab
emailAddress            = [email protected]
commonName              = "Aciklab Client Cert"


보안 인증서



Yukarıda bahsettiğimiz 3 dosya istenildiği gibi düzenlendikten sonra aynı klasörde bulunan bootstrap dosyası çalıştırılır:

./bootstrap


Bu sayede sistemde bazı anahtarlar ve sertifikalar oluşur. Bunlardan en önemlileri ".pem"dosyalarıdır. ca.pem, server.pem 및 client.pem dosyası en çok kullanılacak olanlardır. Bu dosyaların içerisinde hem sertifika hem de anahtar bulunmaktadır.

Ayrca dh "Diffie-Hellman"은 다음과 같은 이름으로 표시됩니다. Bu dosyaların isinleri çeşitli nedenlerden dolayı 755 olarak apılması gerekebilmektedir. Dolayısıyla aşağıdaki komutla birlikte izinleri düzenlenebilir.

chmod 755 /etc/raddb/certs/*.pem
chmod 755 /etc/raddb/certs/dh


질문에 답변:



Örnek olarak eap-tls için aşağıdaki gibi paramaterelerle kullanım gerçekleşebilmektedir. Bu da ayrı bir başlık olduğu için detaylandırmıyorum:

    private_key_password = birbir
    private_key_file = ${certdir}/server.pem
    certificate_file = ${certdir}/server.pem
    ca_file = ${cadir}/ca.pem
    dh_file = ${certdir}/dh
    ca_path = ${cadir}

좋은 웹페이지 즐겨찾기