無料サーバー証明書「Let's Encrypt」の発行、更新を自動化するプログラム。
(2021.2.27 記) 以前記載した無償e-LearnigツールMoodle(詳細はリンク参照)導入の延長で、HTTPサイトをLet's Encypt*1 の無料SSL/TLSサーバ証明書を用いてHTTPS化させていく話です。 datsusara-susume.hatenablog.com Let's Encyptのクライアントツール「certbot」をインストールしていくわけですが、執筆時現在、ストレートにインストールしようとすると、下図のようなサポート切れエラーが出ます。 ※「サポートが切れてるのでインストールできません。公式サイトで他のやり方を参照してください。」というニュアンスの内…
Version0.27とか0.28のときのcertbot /lib/systemd/system/certbot.service [Unit] Description=Certbot Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html Documentation=https://letsencrypt.readthedocs.io/en/latest/ [Service] Type=oneshot ExecStart=/usr/bin/certbot -q renew PrivateTmp=true # …
nginxの設定ファイルにserverディレクティブを複数立ててあげる。それぞれに設定を書いてあげればよい。 server { listen 443 ssl; server_name goruchan.net; ssl_certificate ***/fullchain.pem; # managed by Certbot ssl_certificate_key ***/privkey.pem; # managed by Certbot access_log ***/host.access.log main; error_log ***/error.log debug; location / {…
snapdのインストール Let’s Encryptを使うにはACME プロトコルというルールを使用するソフトウェアを使う。Certbot という ACME クライアントを使うことを公式では推奨している。このCertbotを使うためにsnapdをインストールする。 Installing snap on Debian sudo apt update sudo apt install snapd exit # 一旦ログアウトしてPATHを更新する ssh -p xxx username@xxx.yyy.zzz.*** #再ログイン sudo snap install core snapがインストー…
令和にもなって自分でメールサーバーを作ってみたのでメモ。 OS は Ubuntu 22.04。 パッケージ更新後に自動的に再起動 メールとは関係ないけど apt で再起動が必要な更新があった場合は自動的に再起動するようにした。 /etc/apt/apt.conf.d/50unattended-upgrades: Unattended-Upgrade::Automatic-Reboot "true"; Lets Encrypt TLS 証明書を作るために certbot をインストール。自分はさくらのクラウドのDNSを使ってるのでそれ用のモジュールも追加。 # apt install certb…
Let's EncryptでSSL証明書の更新を自動で行いたいため、Rocky Linux 8のIPv6 only環境でcertbotをpipインストールしたときのメモを残します。 TL;DR 公式のsnapからインストールする手順だとIPv6サーバがなく途中で躓いてしまったため、snap経由ではなくpipコマンドでcertbotをインストールしました。 一日一回の自動実行はcrontabではなくsystemctlでcertbot.timerを設定しました。 SELinuxのポリシー設定のあるサーバでnginxの設定に躓いたので回避策を書きました。 Rocky Linux 8 (CentOS8…
最近は個人開発は自分のOSSのメンテで手がいっぱいになってしまったのでサービス開発のようなものは普段あまりやらないのだが、大学院*1で今学期、何作ってもよいという感じの授業を取ってWeb/iOS/Androidアプリ*2を全て作るという体験をする中で、たまたま個人開発のコストを抑える活動をしたので、その時に調べたり考えたりしたことを書いておく。 Herokuで無料にする Herokuでは毎月550時間free dynoが使え、クレジットカードを登録しておくと更に450時間、合計1000時間無料で使える。Herokuは30分アクセスがないと一旦停止するが、今回授業で作ったサービスでこれを使い切ら…
一応以下の作業はサーバの停止、つまり、 service nginx stop service nginx start でサンドウィッチしてあげておくとよい。(nginx を前提に以下書いています。certbot のコマンドは apache も共通だけど) さて本題。sudo で、 certbot revoke --cert-path /etc/letsencrypt/archive/${YOUR_DOMAIN}/cert1.pem certbot delete --cert-name ${YOUR_DOMAIN} をすればよい。ちなみに、既にドメインが失効している場合、revoke で An …
こんにちは。 ピリカ開発部の伊藤です。 ピリカではほとんどのサービスでGCPやAWSが発行するHTTPS証明書を使っていますが、見える化ページと呼ばれる、自治体や企業など、一定の範囲内でのごみ拾い活動を集約しているサービスで使っているワイルドカード証明書はLet's Encryptで発行しています。 Let's Encryptで証明書発行するためのクライアントとしては標準のcertbotの他にもいろいろなものがあります。 個人的に、legoを気に入って使っています。お気に入りポイントはこんな感じです。 Go言語で作られていて、Pythonの言語環境に依存せずに使える いろいろなDNSサービスに…
ふと鯖欲しいなって思ったので前から気になってたOracle Cloud使って鯖たてた。 とはいいつつ特に特別なことはせず ブラウザでポチポチして仮想マシン建てる。 Nginx入れてファイアウォールの設定 Oracle Cloud側でポートの設定 HTMLをちょっと書き換える ドメインを鯖のIPに紐づける certbotでhttps化 を一旦したのみ。 rootのsshをオフにするとかを多少設定しつつもほぼ弄っていないのでちまちま育てて行く所存 出来たやつ -> https://kamesuke42.com
証明書の有効期限を調べる。 openssl コマンドでサクッと証明書の期限を調べる。 枚数が多くなり、またcertbotのような管理ソフトがない、CA発行証明書の有効期限をまとめて調べたい。 20枚もあるといちいち、ブラウザに突っ込んで調べるのは面倒くさい openssl で証明書の期限を見る openssl x509 -noout -enddate /path/to/xxx.cert openssl で証明書の詳細を見る。 openssl x509 -noout -text /path/to/xxx.cert 期限以外の詳細を確認する。 サーバー証明書を直接確認する。 openssl s_c…
先週に続き、2022年3月21日~3月27日に読んだ中で気になったニュースとメモ書き(TLSらじお第50回の前半用原稿)です。 [SSL/TLS証明書の有効期限] [DNSとTLS:HTTPS, TLSAレコード] [Go 1.18とOCSP署名方式] [その他のニュース] ▼AWSプライベートCAのアップデート ▼IETF 113 Vienna ▼BoringSSL ▼Java18リリース ▼SSLPulseの更新状況 [まとめ]
こんにちは。CData Software Japanの色川です。 CData ArcESB はWeb Console を通じて運用管理を行うサーバ製品です。データソースとの連携ではArcESB からアクセスするケースが多くを占めますが、Web Console を通じた運用操作や、それ以外でもWebhook の受信など幾つかの機能で「ArcESB が外部からのアクセスを受け付ける側となる機能」を提供しており、ArcESB 自身をHTTPS 構成にして運用したいケースがあります。 例えば、以下のような機能を利用する時には、ArcESB と外部との通信を暗号化したいケースが多いかも知れません。 外部…
adguard home の証明書をAPI経由で書き換えたい。 adguard home のAPIを cURL で叩いたら、更新ができる。 cURL で adguard-home のOpenAPIを叩く Basic認証で、通せばいいので、そんなに難しくなく、簡単にAPIを叩くことができる。 adg_pass=___password___ adg_user=__user__ curl -s -X GET -u $adg_user:$adg_pass http://192.168.1.1/control/status 証明書を更新する。 adguard home に certbot の設定をすべて…
adguard home には APIがある。 python のpip が提供されている。 https://pypi.org/project/adguardhome/ 使ってみる(準備) プロジェクトとpython環境を作成する mkdir adg cd adg pyenv local 3.9.8 pyenv exec python -V pyenv exec pip install pip --upgrade pyenv exec pipenv install pyenv exec pipenv shell パッケージを入れる pipenv install adguardhome 使ってみる…
以前も同じ内容の記事を書きましたが、auth0のブログにあった方法のほうが便利そうなので、試してみました。 auth0のブログの内容をちょこちょこ翻訳しながら紹介します。 元になったブログ記事はこちら Why and How to Use HTTPS in Your Local Development Environment auth0はOAuth・OIDCなどの認証認可基盤とよばれるようなシステムの開発会社です。認証認可(サインインやログインなど)に関するブラウザ等の機能(例:FIDO2認証)にはHTTPSが必要とされることがあり、ローカル開発環境にもHTTPSが必要になのでしょう。 試した…
使用する技術等 名称 verstion 用途 Ubuntu 20.04.2LTS VPSのOS Nginx - リバースプロキシ Spring Boot - アプリケーション GitHub actions - CD 大きな流れ firewallを設定する OSのユーザーを作成する Nginxを導入する Javaをインストールする Spring Boot Applicationをデプロイする Nginxの設定をする DNSの設定をする SSL証明書の設定をする 以下、はUbunts OSの利用を想定している。 1. firewallを設定する 先に ssh(port:22)を許可しておくと良い。…