MDN 翻訳コミュニティで私がやったこと
MDNの翻訳活動に参加した話
この記事は 2023 年の MDN 翻訳 Advent Calendar 向けに作成したものです。
こんにちは。debiru です。私は MDN が Mozilla Developer Network だった頃からよく MDN の記事を読んだり、内容に誤りがあれば修正したりしていました。ちなみに MDN が MDN Web Docs と呼ばれるようになったのは 2017 年 6 月頃のようです。
当時、私がよく MDN を見ていたのは確か 2012 年頃だったんじゃないかと思います。その頃の MDN は Wiki エンジンが採用されていて、Web ページ上で記事を直接編集できる仕組みがありました。より詳細には少し古いですが「MDN のあゆみ」(いつ書かれた?)が参考になるかもしれません。
そして気づけば、MDN は GitHub で管理されるようになりました。記事の編集も GitHub の Pull Request ベースで行われるようになっています。GitHub で管理されてからは初めてだったのですが、2022 年 2 月にある記事を編集したくなって、編集するにあたって案内されていた Mozilla コミュニティの Slack に参加することにしました。
続きを読むUbuntu 22.04 で tinydns が応答しなくなる問題
背景
Ubuntu 22.04 をインストールして、tinydns もソースコードからインストールしたところ、tinydns の動作が不安定になる症状が生じた。
Ubuntu 20.04 ではそのような不具合はなかったので調べることにした。
TL;DR 結論
tinydns インストール前に tinydns-conf.c
の -d300000
を -d400000
に変更してから tinydns-conf
コマンドで /etc/tinydns
へインストールを行う。
既に tinydns インストール済みの場合は、/etc/tinydns/run
を編集して -d300000
を -d400000
に変更してから tinydns を再起動する。
再起動は OS ごと sudo reboot
で再起動してもよいし、tinydns だけ再起動する場合は svc -k /etc/tinydns
を実行する。
症状
tinydns 起動後、dig の問い合わせに対して最初の数回は応答が返るものの、その後一切応答が返らなくなる(ゾーンが存在しないドメイン名に問い合わせたかのような応答となる)。
続きを読むVALUE-DOMAIN に存在していた2種類のドメインハイジャック脆弱性について
2022年3月2日に確認した VALUE-DOMAIN でのサブドメインハイジャックが可能な脆弱性について経緯を説明します。
ついでに2016年の記事「VALUE-DOMAIN に存在していたアカウント乗っ取り可能な CSRF 脆弱性について」の続報も含めて、この記事で2022年現在の VALUE-DOMAIN の状況についてお伝えします。
脆弱性を2つ発見しました
2022年3月2日に第一の脆弱性を、3月9日に第二の脆弱性を発見しました。これらについて順に説明します。
第一の脆弱性については、私よりも先に発見していた方がいます。その方から情報を聞いて検証し、私が IPA に届出したという経緯です。
Invalid な HTML のせいで counter-reset の仕様が捻じ曲げられた件
hn要素をナンバリングするテクニック
ここは h2 のセクションです。このブログではPC版のみですが、見出し文言の左上に ::before 疑似要素でCSSによる自動ナンバリングを行っています。
見出し1-1
ここは h3 のセクションです。
見出し1-1-1
ここは h4 のセクションです
見出し1-1-2
ここは h4 のセクションです
見出し1-2
ここは h3 のセクションです。
見出し1-2-1
ここは h4 のセクションです
いつの間にかこの採番がずれていた
body { counter-reset: n1 n2 n3 n4 n5 n6; } h1 { counter-increment: n1; counter-reset: n2 n3 n4 n5 n6; } h2 { counter-increment: n2; counter-reset: n3 n4 n5 n6; } h3 { counter-increment: n3; counter-reset: n4 n5 n6; } h4 { counter-increment: n4; counter-reset: n5 n6; } h5 { counter-increment: n5; counter-reset: n6; } h6 { counter-increment: n6; } h1::before { content: counter(n1) "."; } h2::before { content: counter(n1) "-" counter(n2) "."; } h3::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "."; } h4::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "."; } h5::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "-" counter(n5) "."; } h6::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "-" counter(n5) "-" counter(n6) "."; }
こんな雰囲気のCSSを書いています。
「1章目」の例では、1, 1-1, 1-1-1, 1-1-2, 1-2, 1-2-1 となるべきです。
それがなんと Firefox の最新版で見たら 1, 1-1, 1-1-1, 1-1-2, 1-2, 1-2-3 となっていたのです。より分かりやすい図をお見せしましょう。
赤字と黒字が同じになるのが期待する状態ですが、Firefox ではバージョン82からこの挙動が変わって、自動採番の結果が異なるものになっていたのです。
POJ-1082をショートコーディングしてみたよ!
失効証明書とOCSPの不思議な関係
1月29日に271万件のLet's Encrypt証明書が失効した
特定の条件で発行したLet's EncryptのSSL/TLSサーバ証明書が無効化されるニュースが2022年1月26日(日本時間)に発表されました。該当者にはメール通知が届いており、jpドメインだけ見れば2月9日時点で7割ほどが対応済み(詳細は4章を参照)のようです。
29日の朝にSSLアクセス出来ないと慌てるサバ管が居るかもなので備忘録。SSL証明書にLet's Encryptを利用しているサイトで過去90日以内に更新している場合は手動で証明書を更新する必要があります。詳細は英語だけど添付のフォーラムで確認するのが原典なので張っときます。https://t.co/uFbiag3Q3z
— Go (@5harada) 2022年1月26日
通常、一度発行したサーバ証明書は期限(expires または notAfter と呼ばれるもの)までは正常な動作のために使用することができますが、期限内であっても何らかの理由で証明書が失効(revoke)させられることがあります。
Let's Encrypt の場合は certbot revoke
コマンドを実行することで意図的に失効させることもできます。
失効しているかどうかの情報は証明書自体は持っていません。それは、ある事情で社員証を返すのが遅れ、退職日以降もその会社の社員証を持っているような状況に似ています。Webブラウザは、証明書が有効なものかどうかを別の手段で確認する必要があります。
この記事では簡単のため「Webサーバ」と「Webクライアント(Webブラウザ)」の関係で説明しますが、この記事の内容は「TLSサーバ」と「TLSクライアント」の間に成り立つ仕組みの話です。
ssmjp 2019/04 参加記 - 黒塗りのDNS
ssmjpに参加しました
ささみのほん!
— debiru / でびる (@debiru_R) 2019年5月21日
アウトプットしないのは知的な便秘! pic.twitter.com/Dskyy1Ffs3
「ささみjp」のDNSの回に行ってきました。「#ssmjpとは」にちらっと書いてあるけど、新橋で開催されていた勉強会で Shimbashi-Study-Meeting 略して ssmjp らしいです。
- @sischkgさん
- @fj_twtさん
- @tss_ontapさん
「浸透いうな」の @tss_ontap_o さんが「黒塗りのDNS (萎縮編)」をこの ssmjp で発表すると聞いて参加しました。