Олон хэрэглэгчдийн хайдаг нэг боломж нь FreeBSD-д байдаг OpenSSL багаж юм. OpenSSL нь ердийн холбооны давхарга дээр шифрлэлт дамжуулах давхаргыг хангаж өгдөг; ингэснээр түүнийг сүлжээний програмууд болон үйлчилгээнүүдтэй холбож өгөх боломжийг олгодог.
OpenSSL-ийн зарим нэг хэрэглээнд захидлын клиентүүдийн шифрлэсэн нэвтрэлт, кредит картаар хийх төлбөрүүд гэх мэт вэб дээр тулгуурласан шилжүүлгүүд зэрэг олныг дурдаж болно. www/apache22 болон mail/claws-mail зэрэг олон портууд нь OpenSSL-тэй бүтээх эмхэтгэлийн дэмжлэгийг санал болгодог.
Ихэнх тохиолдолд Портуудын Цуглуулга нь make хувьсагч
WITH_OPENSSL_BASE
-ийг «yes»
гэж заагаагүй тохиолдолд
security/openssl портыг
бүтээхийг оролддог.
FreeBSD-д орсон OpenSSL-ийн хувилбар нь Secure Sockets Layer v2/v3 (SSLv2/SSLv3) буюу Аюулгүй Сокетуудын Давхаргын v2/v3 хувилбарууд, Transport Layer Security v1 (TLSv1) буюу Тээврийн Давхаргын Аюулгүй байдлын v1 хувилбарын сүлжээний аюулгүй байдлын протоколуудыг дэмждэг бөгөөд ерөнхий криптограф сан болон ашиглагдаж болох юм.
OpenSSL нь
IDEA алгоритмийг дэмждэг боловч Нэгдсэн Улсын
патентуудаас болоод анхдагчаар хаалттай байдаг. Үүнийг ашиглахын тулд
лицензийг шалгасан байх ёстой бөгөөд хэрэв хязгаарлалтуудыг хүлээн
авах боломжтой бол MAKE_IDEA
хувьсагчийг
make.conf
файлд заагж өгөх ёстой байдаг.
OpenSSL-ийн хамгийн түгээмэл хэрэглээний нэг бол програм хангамжуудад зориулан ашиглах сертификатуудыг бэлдэх явдал юм. Эдгээр сертификатууд нь компани болон хувь хүмүүсийн итгэмжлэлүүдийг хүчинтэй бөгөөд луйврын биш гэдгийг баталгаажуулдаг. Хэрэв асуудалтай сертификат хэд хэдэн «Certificate Authorities» эсвэл CA-ууд буюу Сертификатын Эрх мэдэлтнүүдээр шалгагдаагүй бол ихэвчлэн анхааруулга үзүүлдэг. Сертификатын Эрх мэдэлтэн нь VeriSign зэрэг компани байдаг бөгөөд компаниуд эсвэл хувь хүмүүсийн итгэмжлэлүүдийг хүчин төгөлдөр болгохын тулд сертификатуудыг баталгаажуулж өгдөг. Энэ процесс нь өртөгтэй бөгөөд сертификатууд ашиглахад заавал ч үгүй шаардлага болдоггүй; гэхдээ энэ нь паранойд буюу хэт зовнисон хэрэглэгчдийн заримын санааг тайвшруулж болох юм.
Сертификат үүсгэхийн тулд дараах тушаал байдаг:
#
openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key ................++++++ .......................................++++++ writing new private key to 'cert.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:PA
Locality Name (eg, city) []:Pittsburgh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:Systems Administrator
Common Name (eg, YOUR name) []:localhost.example.org
Email Address []:trhodes@FreeBSD.org
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:SOME PASSWORD
An optional company name []:Another Name
«Common Name» хүлээх мөрийн дараах хариу домэйны нэрийг харуулж байгааг анзаараарай. Энэ мөр нь шалгалт хийх зорилгоор серверийн нэрийг оруулахыг шаарддаг; домэйн нэрээс бусдыг байрлуулах нь ашиггүй сертификат үүсэхэд хүргэдэг. Бусал тохируулгууд, жишээ нь дуусах хугацаа, өөр шифрлэх алгоритмууд гэх мэт тохируулгууд байдаг. Бүрэн гүйцэд жагсаалтыг openssl(1) гарын авлагын хуудсыг үзэн авч болно.
Дээрх тушаалын ажилласан санд хоёр файл одоо байж байх ёстой.
Сертификатын хүсэлт req.pem
нь таны оруулсан итгэмжлэлүүдийг
хүчин төгөлдөр болгож хүсэлтийг баталгаажуулан сертификатыг танд буцаах сертификатын
эрх мэдэлтэн уруу илгээгдэж болно. Үүсгэгдсэн хоёр дахь файл нь
cert.pem
гэж нэрлэгдэн сертификатын хувийн түлхүүр
болох бөгөөд ямар ч байсан гэсэн хамгаалагдсан байх ёстой; хэрэв энэ нь
бусдын гарт орох юм бол таны (эсвэл таны серверийн) дүрд тоглон ашиглагдаж болох
юм.
CA-с гарын үсэг шаарддаггүй тохиолдолд өөрөө зурсан сертификатыг үүсгэж болно. Эхлээд RSA түрхүүр үүсгэх хэрэгтэй:
#
openssl dsaparam -rand -genkey -out myRSA.key 1024
Дараа нь CA түлхүүр үүсгэ:
#
openssl gendsa -des3 -out myca.key myRSA.key
Сертификат үүсгэхийн тулд энэ түлхүүрийг ашигла :
#
openssl req -new -x509 -days 365 -key myca.key -out new.crt
Санд хоёр шинэ файл үүсэх ёстой: сертификатын эрх мэдэлтний гарын
үсгийн файл myca.key
болон сертификат өөрөө
new.crt
байна. Эдгээрийг
зөвхөн root
унших эрхтэй
/etc
санд байрлуулах
шаардлагатай. Үүнд 0700 зөвшөөрөл байж болох бөгөөд түүнийг
chmod
хэрэгсэл ашиглан тохируулж болно.
Тэгэхээр эдгээр файлууд нь юу хийж чадах вэ? Сайн хэрэглээ болох нэг жишээ нь Sendmail MTA уруу хийгдэх холболтуудыг шифрлэх байж болно. Энэ нь локал MTA ашиглан захидал илгээх хэрэглэгчдийн цэвэр текст нэвтрэлтийн хэрэглээг болиулах юм.
Зарим MUA-ууд нь хэрэв хэрэглэгчид дотроо сертификат суулгаагүй бол тэдэнд алдааг харуулдаг болохоор энэ нь ертөнц дээрх хамгийн шилдэг хэрэглээ биш юм. Сертификат суулгах тухай илүү мэдээллийг програм хангамжтай цуг ирсэн баримтаас үзэх хэрэгтэй.
Дотоод .mc
файл дотор дараах мөрүүдийг
байрлуулах хэрэгтэй:
dnl SSL Options define(`confCACERT_PATH',`/etc/certs')dnl define(`confCACERT',`/etc/certs/new.crt')dnl define(`confSERVER_CERT',`/etc/certs/new.crt')dnl define(`confSERVER_KEY',`/etc/certs/myca.key')dnl define(`confTLS_SRV_OPTIONS', `V')dnl
Дээрх /etc/certs/
нь
сертификат болон түлхүүр файлуудыг дотооддоо хадгалах сан юм.
Сүүлийн хэдэн шаардлагууд нь дотоод .cf
файлын
дахин бүтээлт юм. Үүнийг /etc/mail
сан
дотроос make install
тушаал
бичин хийж болно. Ингэсний дараа make
restart
тушаалыг ажиллуулаарай, энэ нь
Sendmail дэмонг эхлүүлэх ёстой.
Хэрэв бүгд зүгээр болж өнгөрвөл /var/log/maillog
файлд ямар ч алдаа бичигдэхгүй бөгөөд Sendmail
процессийн жагсаалтад харуулагдана.
Хялбар тест хийхийн тулд telnet(1) хэрэгсэл ашиглан захидлын серверт холбогдох хэрэгтэй:
#
telnet example.com 25
Trying 192.0.34.166... Connected toexample.com
. Escape character is '^]'. 220example.com
ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELPquit
221 2.0.0example.com
closing connection Connection closed by foreign host.
Хэрэв «STARTTLS» мөр гарч ирвэл бүгд зөв ажиллаж байна.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.