外部の別サーバでLets’s Encrypt証明書を発行する

内輪でちょっと使うだけとか、検証のためとかでLet’s Encryptでお手軽にSSLを使いたいけど、本番環境なので色々インストールするのは気が引ける…という場合に、適当な開発サーバにLet’s Encryptをぶちこんで、証明書だけそっちで発行して使いたい、という場合。結構あるんじゃないでしょうかね、こういうニーズって。
というわけでやってみました。

構成と関係

・本番サーバ prod … SSL証明書のインストール先。
・発行サーバ issue … Let’s Encryptをインストールして、本番サーバ用の証明書を作成する。

Acmeチャレンジの仕様を理解する

Let’s Encryptは、Acme標準形式のChallengeで、そのドメインが制御下に置かれていることを確認します。具体的に言うと、
http://hogehoge.com/.well-known/acme-challenge/P9wK8ZogGk994V9cUZMYekWj6zKyw2OWJFTOJ1gBopo
みたいなURLが動的に生成されて、そこにアクセスして決められたキーが返ってくることを確認する、という流れです。この文字列は自動生成で、要求キーも自動生成です。

普通に、発行も設置も自分の中でやる場合は、Lets’s EncryptのCertbot-autoがうまいこと自動でやってくれるんですが、発行と設置が別サーバだとそうはいきません。
たとえ.htaccessなどでhttp://hogehoge.com/.well-known/acme-challenge で何が返ってきても200になるように制御したとしても、発行サーバで
certbot-auto certonly –standalone -d hogehoge.com
とやっても、chalengeエラーになります。

広告

エラー例

[root@issue ~]# certbot-auto certonly --standalone -d hogehoge.com
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for hogehoge.com
Waiting for verification...
Challenge failed for domain hogehoge.com
http-01 challenge for hogehoge.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: hogehoge.com
Type:   unauthorized
Detail: Invalid response from
http://hogehoge.com/.well-known/acme-challenge/zzzzzzzzzgGk994V9cUZMYekWj6zKyw2OWJFzzzzzzzzz

別サーバで発行する場合は手動発行をする

そこで、手動で発行します。

[root@issue ~]# certbot-auto certonly --manual
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel):

ドメイン名を聞かれるので答えます。

Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel): hogehoge.com
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for hogehoge.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

注:このマシンのIPは、この証明書を要求したものとしてパブリックに記録されます。 サーバーではないマシンでcertbotを手動モードで実行している場合は、それで問題ないことを確認してください。
IPが記録されていても大丈夫ですか?

と聞かれているので、甘んじて受け入れます。Y。

そうすると、Acmeチャレンジの要求と回答を教えてくれます。

Create a file containing just this data:

X2XU9yxxxxxxxxxxxM0sbc-l8JoEbwUyxxxxxxxxxxxxxxxhxFKAZTJDNJFjC2T-1WZkpoDG8xxxxxxxxxxxx

And make it available on your web server at this URL:

http://hogehoge.com/.well-known/acme-challenge/X2XU9zzzzzzzRyoGS5Fcq0M0sbzzzzzzzzz

ここで一旦開発サーバ(発行サーバ)での作業をストップして、最初の「Create a file containing just this data:」の後にある文字列を、設置先サーバの/.well-known/acme-challenge/ ディレクトリの下にテキストファイルで設置します。

設置先サーバにて

[dacelo@prod ~]$ mkidr -p /DocumentRoot/.well-known/acme-challenge/
$ echo "X2XU9yxxxxxxxxxxxM0sbc-l8JoEbwUyxxxxxxxxxxxxxxxhxFKAZTJDNJFjC2T-1WZkpoDG8xxxxxxxxxxxx" > X2XU9zzzzzzzRyoGS5Fcq0M0sbzzzzzzzzz

発行サーバに戻って、Enterを押して処理を進めます。

Press Enter to Continue
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/hogehoge.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/hogehoge.com/privkey.pem
Your cert will expire on 2020-01-19. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le

おめでとう!発行が完了しました。
あとは、
/etc/letsencrypt/live/hogehoge.com/(/etc/letsencrypt/archive/hogehoge.com/のシンボリックリンク)
の下にできている各証明書

-rw-rw-r-- 1 root root 1923 10月 21 15:13 2019 cert1.pem
-rw-rw-r-- 1 root root 1647 10月 21 15:13 2019 chain1.pem
-rw-rw-r-- 1 root root 3570 10月 21 15:13 2019 fullchain1.pem
-rw------- 1 root root 1704 10月 21 15:13 2019 privkey1.pem

を、設置先サーバに格納してOKです。

About: dacelo


26 thoughts on “外部の別サーバでLets’s Encrypt証明書を発行する”

  1. Hey there! Do you know if they make any plugins to help
    with SEO? I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very
    good results. If you know of any please share.
    Cheers!

  2. Колокольцевская мафия «кинула» военных

    «МВД провоцирует новый «Марш справедливости», только теперь не на Москву, а на Питер»

    Тысячи военнослужащих стали потерпевшими от действий правоохранительных органов – и они требуют привлечь Колокольцева и Ко к ответу.

    Деньги военных пытаются украсть лжеправоохранители

    Приморский районный суд Санкт-Петербурга (судья Екатерина Богданова) сейчас рассматривает так называемое уголовное дело «Лайф-из-Гуд» – «Гермес» – «Бест Вей», в рамках этого дела два года почти непрерывно арестованы счета кооператива «Бест Вей», на которых около 4 млрд рублей. В уголовном деле речь идет прежде всего об обязательствах иностранной инвесткомпании «Гермес» перед более чем 200 клиентами этой компании.

    Следствие ГУ МВД по Санкт-Петербургу и прокуратура города на Неве объявили кооператив, «Гермес» и «Лайф-из-Гуд» частью некоего единого холдинга, которого в природе никогда не существовало. Кооператив объявлен гражданским ответчиком по уголовному делу.

    Общая сумма претензий потерпевших, согласно обвинительному заключению, 282 млн рублей – даже их (незаконное) изъятие для погашения долгов перед клиентами «Гермеса» никак бы не сказалось ни на операционной деятельности, ни на ликвидности кооператива. Но из раза в раз арестовываются абсолютно все средства на счетах, что полностью блокирует как покупку квартир кооперативом, так и возврат денег пайщикам, которые изъявили желание забрать свои паевые взносы.

    Недвижимость, на которую претендовали пайщики, обесценивается, деньги обесцениваются – и этот беспредел продолжается уже более двух лет по ходатайствам ГСУ питерского главка МВД и Прокуратуры Санкт-Петербурга.

    Кто-то влиятельный пытается наложить лапу именно на кооперативные 4 млрд – хотя это деньги пайщиков: физических лиц, рядовых граждан России, и как минимум соучастниками грабежа являются сотрудники правоохранительных органов.

    Колокольцев провоцирует новый «Марш справедливости»

    Кооператив изначально создавался военнослужащими – одной из его задач в 2014 году было решение жилищной проблемы военнослужащих, увольняемых в запас, эта задача сохранилась и в последующие годы. Из почти 20 тыс. его пайщиков – тысячи военнослужащих со всей России. Значительная часть из них – участники СВО.

    Вот некоторые из наиболее характерных комментариев

    «Я стоял в очереди на приобретение квартиры с помощью кооператива, но вот уже два года работа кооператива заблокирована правоохранительными органами – по беспределу, мои деньги обесцениваются. Я спрошу с каждого, кто в этом виноват!», – заявил один из военнослужащих, имеющий Орден Мужества.

    «Я стоял в накопительной программе, – заявил участник одного из секретных подразделений, о котором рассказывал Первый канал. – Уже два года накапливать на квартиру на счете в кооперативе не могу, так как счета арестованы, забрать деньги я также не могу: правоохранительные органы незаконно отказываются возвращать средства. Это самый настоящий грабеж, за который нужно судить!»

    «Купил квартиру с помощью кооператива, расплатился за нее с кооперативом, взяв кредит, – говорит пайщик К., кавалер ордена Суворова. –- Но так как недвижимость кооператива осенью прошлого года арестовывалась, Росреестр с моей квартиры арест не снял до сих пор, так как я не имею физической возможности на месяц или больше погрузиться в сутяжничество с ним, в хождение по судам, а жена сидит с маленьким ребенком. Квартиру я планировал продать, чтобы купить квартиру больше. Из-за действий лже-правоохранителей я вынужден и платить кредит, и не могу продать квартиру. Вернувшись, предъявлю ущерб питерским следователям, по ходатайству которых арестовывалась недвижимость кооператива (суд разобрался и арест снял)!»

    «Кооперативом я очень доволен, – говорит пайщик С., замполит одного из подразделений. – Это покупка квартиры в рассрочку, переплата за квартиру минимальна, просто несопоставима с ипотекой. Кооператив вызывал полное доверие – в том числе и потому, что у руля стояли и стоят офицеры. Он помог тысячам людей – тысячам военным лишить квартирный вопрос. За попытками его уничтожить стоят банковские олигархи, чтобы не было альтернативы брать у них в ипотеку одну квартиру, а платить за две-три, а также нечистые на руку правоохранители. Подобные действия могут провоцировать новый «Марш справедливости», только теперь не на Москву, а на Питер!».

    Сотни семей военнослужащих, в том числе участников СВО стали потерпевшими от действий правоохранительных органов.

    Камарилья, которая устроила репрессии против кооператива – руководители следственной группы Сапетова и Винокуров, начальник ГСУ питерского главка МВД Негрозов и начальник этого главка Плугин, замминистра внутренних дел по следствию Лебедев, пресс-секретарь министра Волк, транслировавшая на всю страну ложь про десятки тысяч потерпевших от работы кооператива, сам министр внутренних дел Колокольцев.

  3. I’m not that much of a internet reader to be honest but your blogs
    really nice, keep it up! I’ll go ahead and bookmark your site to come back down the road.
    All the best

  4. I was curious if you ever considered changing the page layout
    of your site? Its very well written; I love what youve got to say.
    But maybe you could a little more in the way of content so people
    could connect with it better. Youve got an awful lot of text
    for only having 1 or two pictures. Maybe you could space it out better?

  5. Hey there, I think your blog might be having browser compatibility issues.
    When I look at your blog in Ie, it looks fine but
    when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then that,
    very good blog!

  6. Thank you for every other wonderful article. The place else could anyone get that kind of info in such a
    perfect manner of writing? I have a presentation subsequent week,
    and I’m at the look for such info.

  7. I blog frequently and I seriously appreciate
    your information. This article has really peaked my interest.
    I will book mark your website and keep checking for new details about
    once a week. I opted in for your Feed as well.

  8. I used to be recommended this web site by my cousin.
    I’m now not sure whether this publish is written by means of him as nobody else realize such special about my problem.
    You are wonderful! Thanks!

  9. Woah! I’m really digging the template/theme of this blog.
    It’s simple, yet effective. A lot of times it’s difficult to get that “perfect balance” between superb usability and visual appearance.
    I must say you’ve done a awesome job with this. Additionally, the blog loads extremely quick for me on Chrome.
    Excellent Blog!

  10. I blog often and I seriously thank you for your information. The
    article has really peaked my interest. I’m going to bookmark your
    site and keep checking for new details about once per week.
    I subscribed to your RSS feed too.

  11. Hello There. I found your blog using msn. This is a very well written article.
    I’ll make sure to bookmark it and come back to read more of your useful info.

    Thanks for the post. I will definitely return.

Leave a Reply

Your email address will not be published. Required fields are marked *