Let's Encrypt で 謎の「-0001」

以下のような nginx などWEBサーバでの鍵の位置指定。


ssl_certificate /etc/letsencrypt/live/android.benigumo.com/fullchain.pem
ssl_certificate_key /etc/letsencrypt/live/android.benigumo.com/privkey.pem

これが、ファイルの実体だと更新時にコケる。
シンボリックリンクでないとならない。

証明書を確認してみると分かる。


# certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Renewal configuration file /etc/letsencrypt/renewal/android.benigumo.com.conf produced an unexpected error: expected /etc/letsencrypt/live/android.benigumo.com/cert.pem to be a symlink. Skipping.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: android.benigumo.com-0001
    Domains: android.benigumo.com
    Expiry Date: 2019-07-19 02:41:22+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/android.benigumo.com-0001/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/android.benigumo.com-0001/privkey.pem

The following renewal configurations were invalid:
  /etc/letsencrypt/renewal/android.benigumo.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

期限の更新できたつもりが、
謎の「0001」な 証明書が追加発行されとる。


# ls -al /etc/letsencrypt/live/android.benigumo.com
drwxr-xr-x 2 ubuntu ubuntu 4096 Mar  1 00:01 .
drwx------ 4 ubuntu ubuntu 4096 Apr 20 12:33 ..
-rw-r--r-- 1 ubuntu ubuntu 2269 Mar  1 00:00 cert.pem
-rw-r--r-- 1 ubuntu ubuntu 1647 Mar  1 00:00 chain.pem
-rw-r--r-- 1 ubuntu ubuntu 3916 Mar  1 00:00 fullchain.pem
-rw-r--r-- 1 ubuntu ubuntu 3272 Mar  1 00:00 privkey.pem

サーバ移行のファイルコピー時に実体化されたっぽい。

シンボリックリンクにする。
複数ある場合は一番新しいものがリンク元となるのが正しい。


# cd  /etc/letsencrypt/live/android.benigumo.com/
# rm *
# ln -s ../../archive/android.benigumo.com/cert30.pem cert.pem
# ln -s ../../archive/android.benigumo.com/chain30.pem chain.pem
# ln -s ../../archive/android.benigumo.com/fullchain30.pem fullchain.pem
# ln -s ../../archive/android.benigumo.com/privkey30.pem privkey.pem

# ls -al
lrwxrwxrwx 1 root   root     45 Apr 21 08:19 cert.pem -> ../../archive/android.benigumo.com/cert30.pem
lrwxrwxrwx 1 root   root     46 Apr 21 08:19 chain.pem -> ../../archive/android.benigumo.com/chain30.pem
lrwxrwxrwx 1 root   root     50 Apr 21 08:19 fullchain.pem -> ../../archive/android.benigumo.com/fullchain30.pem
lrwxrwxrwx 1 root   root     48 Apr 21 08:19 privkey.pem -> ../../archive/android.benigumo.com/privkey30.pem

追加登録されている0001を削除して期限更新をかける。


# certbot-auto delete --cert-name android.benigumo.com-0001
# certbot-auto renew --dry-run
# certbot-auto renew


# certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: android.benigumo.com
    Domains: android.benigumo.com
    Expiry Date: 2019-07-19 22:19:07+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/android.benigumo.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/android.benigumo.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

よし。

Let's Encrypt で '-0001' がついた証明書データを削除する方法 | ラボラジアン

Let's Encrypt(certbot)でrenewしたら"expected /etc/letsencrypt/live/~/cert.pem" | KINの雑記帳


さくらVPSでWEBアクセスできないなど。

状況

さくらVPSでUbuntu。

「ufw」という簡単でわかりやすいツールがあるんだと。
iptables のラッパーらしいが。


# ufw allow 80

のような操作で、簡単に穴あけできる。

だが、しかし、塞がったままででした。

なにやっても #80アクセスできません。

nc コマンド 使い方メモ - Qiita

公式アナウンス

※ さくらのVPSデフォルト設定であるiptables以外のファイアウォールをご利用になりたい場合は、再起動時に設定が2重に反映されてしまう可能性がありますため、/etc/network/if-pre-up.d/iptables の削除が必要となります。あわせて、iptablesのルール情報である /etc/iptables/iptables.rules も不要となりますため削除いただくこと推奨いたします。

さくらのVPS、スタートアップスクリプト「Ubuntu ufw」を更新しました – さくらのVPSニュース

初期設定では ssh/icmpのみ許可しています。
/etc/network/if-pre-up.d/iptables より、下記設定ファイルを読み込んでおります。

OSセットアップ情報(Ubuntu16.04 LTS) – さくらのサポート情報

まとめ

さくらのVPS(クラウドも含む可能性があります)のUbuntu 16.04 LTS環境では、2017-12-07現在、netfilter-persistentパッケージをインストールした状態でも設定が上書きされてiptablesのフィルタリング設定が元に戻ってしまう可能性があるようです。

netfilter-persistent が動かないよ @ さくら - Qiita

結局、利用は以下の2つのパターン。


// ufw を使う。 iptables の設定で上書きさせない。
# rm /etc/network/if-pre-upid/iptables
# rm /etc/iptables/iptables.rules
# reboot

# ufw enable
# ufw allow 80
# systemctl enable ufw


// iptables を使う。ufw を無効化。
# iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# iptables-save > /etc/iptables/iptables.rules
# ufw disable
# systemctl disable ufw
# reboot

ufw では届かない設定があるので、ルールの変更は「ufw」と「iptables」コマンドを併用しないほうがよいのだろう。

はまる。


Android バージョンシェア 2019-03-31

ふと、

Android Studio 備え付けのツールで

確認してみましたよ、

「バージョンシェア」。

明らかに、古すぎですね。

仕方なくブラウザを開き、

Distribution dashboard  |  Android Developers へ。

半年近く前のやつ。

古すぎ。

 

調べる

なので、そんなサイトを探す。

Mobile & Tablet Android Version Market Share Worldwide | StatCounter Global Stats

Android OS version market share over time | AppBrain

各凡例の分け方が違うが、

数字や傾向は似ているので、

簡単に平均をとっちゃう。

 

結果

日本のような先進国では、

これより上位バージョン寄りであることは、

Playコンソールの数字からもよく分かる。

👉Android OS バージョン確認方法 (platform versions)




👉【公式 2018-05-07】Android Pie のバージョンシェア がやっと 10%超えている件