от Lucifer

ВНИМАНИЕ!!! На долу следва технически жаргон, който няма да си правя труда да обяснявам. Google it!

letsencrypt-logo-large_w_500Когато преди няколко месеца Стив Гибсън съобщи в Security Now! че цяла купчина проекти, организации и НПО-та са се хванали за ръце и са решили да доведат Secure трафика до крайния потребител бях леко екзалтиран.

Една от основните причини всичките ми сайтове да не са HTTPS винаги е била високата цена на сертификата. Някак си не мисля, че да дадеш 125 лева на сайт, от който не вадиш нищо … абе не ми се струваше добра идея.

После, пак от Стив, чух за SartSSL, които предлагат безплатни Level 1 сертификати … което беше прекрасно, до момента в който не се опитах да инсталирам сертификата. Загубих около час докато разбера, че за зла участ точно тогава OCSP сървъра на StartSSL е паднал и за това получавам грешка …

Идеята, която е залегнала зад проекта „Let’s encrypt“ е малко по-обширна от просто безплатен сертификат. Идеята на проекта е да направят нещата лесни. Всеки да може да създаде двойка ключове, да легитимира сайта си пред техния CA и да си подпише ключа в рамките на една команда. Дори ако си късметлия и използваш Ubuntu за сървър – скрипта може да се опита да инсталира ключа директно … аз разбира се не съм от тези късметлии …

От петък проекта Let’s encrypt е в публична бета, което ще рече, за всички онези, които не разбират от компютри, че всеки може да тества. Че и аз се наредих да го пробвам.

Let’s encrypt издава сертификати валидни 90 дни. 2048 bit RSA по доразбиране … Или за по-лесно – използвайки SNI, anavaro.com получава оценка А от SSLLabs.

Хубавото на цялото това е, че всичко се случва с една команда … в моя случай командата беше:

letsencrypt certonly -w /web/root/of/domain/ -d www.anavaro.com -d anavaro.com

По принцип, трябва да може да се идентифицирате пред „Let’s encrypt“ CA и чрез собствен малък webserver заложен в скрипта или чрез apache plugin … но разбира се това ще сработи само използвате някоя от поддържаните операционни системи … аз като стар и непреклонен Slacker ми се налага да използвам webroot идентификацията …

Тази команда, изпълнена като root генерира основните настройки на letsencrypt програмата, създава файлова структура в която да ви се помещават ключовете, идентифицира ви пред CA, и изобщо прави висчко възможно да ви е лесно да си инсталирате ключовете. До колкото чета се предвижда да може да настрои и web server конфигурацията ви … което според мен ще е голяма грешка, ако го оставите на самотек. Не че нещо, ама не ме кефи идеята нечий скрипт да ми тършува из конфиговете …

След като скрипта приключи, трябва само да добавите получените ключове. При мен http.conf за анаваро (в частта с SSL) изглежда така:

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
SSLCertificateFile /etc/letsencrypt/live/anavaro.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/anavaro.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/anavaro.com/chain.pem

Разбира се, знам че не трябва да показвам къде ми се намират ключовете, но другия проблем на използването на автоматизация е че всичко е стандартизирано …

Когато в началото на март започне да изтича времето на сертификата, подновяването ще стане със същата команда … и рестарт на Apache …

Let’s encrypt vs. StartSSL

До някъде двете неща не могат да се сравняват – Let’s encrypt цели автоматизация и улесняване на администрацията на сертификати, докато StartSSL е просто регистрант, който се опитва да те зариби … но от друга страна и двете предлагат един и същ продукт.

Let’s encrypt

Бонуси:

  • Безплатно е.
  • Лесно за конфигуриране.
  • Лесно за идентифициране пред CA.
  • Поддържа SAN

Минуси:

  • 90 дни живот на сертификата
  • Трябва достъп до конзола или да се занимаваш със скриптове поддържащи ACME протокола
  • Не всички операционни системи се поддържат out of the box
  • За сега предлага само идентификация на web server-и (за сега)
  • Издадените сертификати, въпреки че са приети от браузърите, нямат информация кой ги е издал
  • Не поддържа wildcard домейни.

StartSSL Level 1

Бонуси:

  • Безплатно е.
  • Живот на сертификата – 365 дни.
  • Позволява издаване на сертификати за Web и XMPP сървъри, както и S\MIME и Code Signing сертификати.

Минуси:

  • Ако си загубиш S\MIME сертификата (който е на браузъра с който се регистрираш) не можеш да се логнеш
  • Шибан начин за идентификация пред CA (трябва достъп до toplevel домейн и postmaster).
  • За да ползваш SAN трябва да си платиш
  • Wildcard домейните също са платени.

Като цяло и двете услуги предлагат много качествени неща – аз лично за някои неща ще предпочета Let’s encrypt – SAN поддръжката е това което ме печели, що се отнася до Anavaro.com, но за това пък StartSSL ме хващат с XMPP и по-дългия живот, когато се отнася за Ф-бг …

Като за такъв тип проект Let’s encrypt дава много и макар все още да е в бета фаза, предполагам че ще се развие в правилната посока … още повече, че един такъв проект, поддържан от толкова организации ще донесе развитие на пазара със сертификати …

Надявам се да съм ви бил полезен, а сега ако имате собствен сървър – марш да си намерите пакет за вашата операционна система и да си слагате Let’s encrypt.

Вашият коментар

This site uses Akismet to reduce spam. Learn how your comment data is processed.