プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

DNS のワイルドカードレコードについて

先日、DNSのワイルドカードレコードを設定しているネームサーバーで、 TXT レコードを追加したら、一部のサブドメインでアクセスできないという事態になりました。

これ、調べてみると、 DNS のワイルドカードレコードを使っている時に起こるもののようです。

blog.future.ad.jp

知りませんでした・・・。ということで、知識としては上記の記事で事足りるのですが、改めて自分でも手を動かしていろいろと確認したので、それらをメモっておきます。

DNS のワイルドカードレコードとは

ホスト名のところに、ワイルドカード『*』を使うことによって、いちいちサブドメインを指定しなくても、該当レコードを引くことができる機能とのことです。例えば、

test.mori-soft.com     IN A 192.168.0.1
*.test.mori-soft.com   IN A 192.168.0.2

のようにしていれば、 sample.test.mori-soft.com も mail.test.mori-soft.com も 192.168.0.2 に解決できるというものです。これは便利ですね。

詳しくは、下記なども参照してください。

ワイルドカードドメインの挙動について #dns - Qiita

どの種類のレコードに使うことができるのかは、ネームサーバーによって微妙に異なっているようです( RFC 見れば仕様としてわかるんでしょうが、ま面倒なので端折ります)。いくつかの会社さんを眺めてみると、たいていは、

  • A
  • AAAA
  • MX
  • CNAME

あたりは問題なく使えるっぽいです。ほかの種類のレコードはネームサーバーによってまちまちっぽいです。

例えば、お名前.com ならこちらのページに記載があります。ただ、私も使っているさくらインターネットの場合は、残念ながらワイルドカードレコードについての記述は見つけられませんでした(が、後述するように少なくとも CNAME では使えました)。

実験

ワイルドカードレコードについて勉強するのはこれぐらいにして、早速実験してみます。実験は、自分のドメインの mori-soft.com を使ってやります(さくらインターネットのネームサーバーで管理しています)。

なお、さくらインターネットの場合、ワイルドカードレコードの記述が無かったので最初ワイルドカードレコードが使えるかわかりませんでしたが、下記のページ

ドメインコントロールパネルについて知りたい | さくらのサポート情報

の使える文字のところに、アスタリスクが入っていたので、多分使えるだろうなとアテをつけ、サポートに聞いてみたところ、使えるとのことでした。よかった、よかった。

準備

さくらインターネットの『会員メニュー』から『ドメインコントロールパネル』を開きます。自分のドメイン mori-soft.com のゾーン情報の編集を使って、

  • エントリ名: *.test
  • タイプ: CNAME
  • 値: www.mori-soft.com.

という感じでワイルドカードレコードを追加しておきます。

レコードを保存して、しばらくたってから、ワイルドカードレコードが正しく動いていることを確認します。

mor@DESKTOP-DE7IL4F:~$ dig a.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> a.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3957
;; flags: qr rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;a.test.mori-soft.com.          IN      A

;; ANSWER SECTION:
a.test.mori-soft.com.   0       IN      CNAME   www.mori-soft.com.
www.mori-soft.com.      0       IN      CNAME   nervous-morse-2798ce.netlify.com.
nervous-morse-2798ce.netlify.com. 0 IN  A       52.74.166.77
nervous-morse-2798ce.netlify.com. 0 IN  A       46.137.195.11

;; Query time: 59 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 13:25:17 JST 2024
;; MSG SIZE  rcvd: 216

mor@DESKTOP-DE7IL4F:~$

別の b.test.mori-soft.com も試します。

mor@DESKTOP-DE7IL4F:~$ dig b.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> b.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55787
;; flags: qr rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;b.test.mori-soft.com.          IN      A

;; ANSWER SECTION:
b.test.mori-soft.com.   0       IN      CNAME   www.mori-soft.com.
www.mori-soft.com.      0       IN      CNAME   nervous-morse-2798ce.netlify.com.
nervous-morse-2798ce.netlify.com. 0 IN  A       52.74.166.77
nervous-morse-2798ce.netlify.com. 0 IN  A       13.251.96.10

;; Query time: 19 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 13:59:55 JST 2024
;; MSG SIZE  rcvd: 216

mor@DESKTOP-DE7IL4F:~$

どちらも、 www.mori-soft.com が CNAME として得られ(さらに、それが CNAME になっていて最終的に、 netlify でホストしてるアドレスになっ)ています。ワイルドカードがちゃんと動作してますね。

TXT レコードの追加

次に、不具合を再現するために、ゾーン情報を編集します。

  • エントリ名: default.a.test
  • タイプ: TXT
  • 値: wildcard test

という感じで、 TXT レコードを追加します。

すると今度は、 a.test.mori-soft.com に対しては

mor@DESKTOP-DE7IL4F:~$ dig a.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> a.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55223
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;a.test.mori-soft.com.          IN      A

;; AUTHORITY SECTION:
mori-soft.com.          3600    IN      SOA     master.dns.ne.jp. tech.sakura.ad.jp. 2024051603 3600 900 3600000 3600

;; Query time: 19 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 14:03:08 JST 2024
;; MSG SIZE  rcvd: 116

mor@DESKTOP-DE7IL4F:~$

となり、名前の解決をすることができなくなります(ANSWER セクションが 0 件)。ですが、もちろん、 default.a.test.mori-soft.com の TXT レコードに対しては

mor@DESKTOP-DE7IL4F:~$ dig default.a.test.mori-soft.com txt

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> default.a.test.mori-soft.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46278
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;default.a.test.mori-soft.com.  IN      TXT

;; ANSWER SECTION:
default.a.test.mori-soft.com. 0 IN      TXT     "wildcard test"

;; Query time: 59 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 14:03:50 JST 2024
;; MSG SIZE  rcvd: 100

mor@DESKTOP-DE7IL4F:~$

のように DNS レコードを引くことができます。

また、 b.test.mori-soft.com に対しては

mor@DESKTOP-DE7IL4F:~$ dig b.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> b.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38340
;; flags: qr rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;b.test.mori-soft.com.          IN      A

;; ANSWER SECTION:
b.test.mori-soft.com.   0       IN      CNAME   www.mori-soft.com.
www.mori-soft.com.      0       IN      CNAME   nervous-morse-2798ce.netlify.com.
nervous-morse-2798ce.netlify.com. 0 IN  A       13.251.96.10
nervous-morse-2798ce.netlify.com. 0 IN  A       13.215.144.61

;; Query time: 19 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 14:04:21 JST 2024
;; MSG SIZE  rcvd: 216

mor@DESKTOP-DE7IL4F:~$

のように、変わらずDNSレコードを引くことができます。

理由

ワイルドカードレコードがある場合の名前解決方法ですが、JPNIC のこちらの記事にある

具体的には、問い合わせクラスが一致し、問い合わせドメイン名との完全一致がなく、 問い合わせドメイン名と最も近い一致がワイルドカードである場合、システムは、 ワイルドカードにあるリソースレコードが問い合わせドメイン名であるとみなして、 問い合わせドメイン名と一致するリソースレコードのセットをその場で合成します。

という方法のようです。

なので、*.test.mori-soft.com というワイルドカードレコードに対して、 a.test.mori-soft.com を問い合わせても、 default.a.test.mori-soft.com のレコードが存在するので、ワイルドカードには該当しない、となっているようです。この時の判定では、レコードの種類は問題になっていないのがポイントですね。

解決方法

解決方法は最初に紹介した記事にもあった

  • エントリ名: a.test
  • タイプ: CNAME
  • 値: www.mori-soft.com.

のように、a.test.mori-soft.com の A レコードを追加しておくというものになります。こうすれば、 a.test.mori-soft.com の問い合わせに対しては、完全に一致するこのレコードがあるので、問題なくアドレスが解決できます。

実際、

mor@DESKTOP-DE7IL4F:~$ dig a.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> a.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16112
;; flags: qr rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;a.test.mori-soft.com.          IN      A

;; ANSWER SECTION:
a.test.mori-soft.com.   0       IN      CNAME   www.mori-soft.com.
www.mori-soft.com.      0       IN      CNAME   nervous-morse-2798ce.netlify.com.
nervous-morse-2798ce.netlify.com. 0 IN  A       13.215.144.61
nervous-morse-2798ce.netlify.com. 0 IN  A       52.74.166.77

;; Query time: 79 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 15:06:29 JST 2024
;; MSG SIZE  rcvd: 216

mor@DESKTOP-DE7IL4F:~$

のように解決できるようになりました。

なお、この場合、 sub.a.test.mori-soft.com に対してもワイルドカードレコードが適用されないので、DNSで問い合わせしても、

mor@DESKTOP-DE7IL4F:~$ dig sub.a.test.mori-soft.com

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> sub.a.test.mori-soft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 503
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sub.a.test.mori-soft.com.      IN      A

;; AUTHORITY SECTION:
mori-soft.com.          1882    IN      SOA     master.dns.ne.jp. tech.sakura.ad.jp. 2024051604 3600 900 3600000 3600

;; Query time: 0 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu May 16 15:06:58 JST 2024
;; MSG SIZE  rcvd: 120

mor@DESKTOP-DE7IL4F:~$

のように NXDOMAIN が返ってきます(これは、 a.test.mori-soft.com のレコード追加前も後も同じです)。なお、sub.b.test.mori-soft.com は問題なくひけます。

まとめ

最初に書いた現象を再現することができました。ワイルドカードレコード、便利だなと思っていたんですが、ちょっと気を付けないとはまるかもしれませんね。

伊勢市の電子入札制度変更に対応しました

伊勢市の電子入札制度が、R6年4月から変更になるそうです。

www.city.ise.mie.jp

いままでは、伊勢市が業者登録等を取りまとめていたものを、三重県市町総合事務組合というところでまとめて行うようになるそうです。

で、ここを利用した新しいシステムでは、 IC カードで認証する方式になるとのこと。以前、三重県の入札資格を申し込んだ(こちらの記事)際に、 IC カード取るのが面倒だなと思っていたけど、どうもそうも言ってられなくなってきたようです。

もっとも、伊勢市の場合も、物品・役務の提供の場合は、税込み落札予定価格が50万円以下のオープンカウンター(オープンビッド)案件であれば、新システムでも IC カードは不要なんですが、まあそろそろ諦めて準備しようかなと思います。

というわけで、電子入札の準備をいろいろとやったので、一連の手続きをメモっておきます。

IC カードの発行

まずは、 IC カードを発行するところから、始めます。

伊勢市の入札の案内にも載ってる、下記のサイトから、民間認証局を選びます。

電子入札コアシステム対応の民間認証局お問い合わせ一覧|電子入札コアシステム(JACIC)

こちらのリストをざっと確認してみます。商工会議所に入っているので、そことの提携のある帝国データバンクにしようかとも思ったのですが、値段的に三菱電機のサービス(DIACERT-PLUS と呼ぶらしいです)が一番お安く済みそうだったので、こちらにしました。

三菱電機インフォメーションネットワーク :DIACERT-PLUSサービス(電子入札用電子証明書)

まずは、申し込み時に必要となる公的書類を準備します。詳しくは、三菱電機のサイトを見てもらえればいいのですが、今回は下記を用意しました。

  • 印鑑証明書
  • 住民票の写し
  • 確定申告書

開業届の写しも有効な書類に入っているのですが、こちらの記事でも書いたように, 開業届に屋号を書き忘れていたため、より確実と思われる確定申告書を使いました。

で、申し込みを行います。申込みの書類作成をオンラインで行って、印刷してから、実印で押印して郵送という、なんとも言えない微妙な手続きになります。

電子入札用のICカードの申請に、印鑑がでてくるあたりに日本の手続きのセンスのなさを感じます。こんなところにこそ、(個人事業者に限られますが)マイナンバーを使えるようにすればいいのにね。

ま、それはおいといて、郵送後連絡が来るのをしばし待ちます。

連絡がきたら、受取です。受取は通常の郵便とか書留とかのように直接指定住所宛に送られてくるのではなく、『本人限定受取郵便』というやつできます。

住所のほうには、こんなお知らせ通知が送られてきます。中を開けて読むと、本人以外は受け取れないというものだそうです。こんなのあるんですね、知らなかった。

なので受取の際も、証明書類を持って郵便局に直接受け取りに行く必要があるという流れになります。

セットアップ

電子証明書の到着と同じころに、 IC カードリーダーも到着しました。両方が揃ったので、セットアップします。なお、DIACERT-PLUS の場合は、専用の IC カードリーダーが必要だそうです。

セットアップの手順は、同梱の資料にもありますし、こちらのページにも手順のPDFへの参照がありますので、詳しくはそちらを見てもらえれば思いますが、一応流れだけ書いておきます。

まずは、ソフトウェアをセットアップします。 IC カードリーダー一式の中に、セットアップ CD もあったんですが、今回は web サイトから最新版をダウンロードしてそちらを使います。ダウンロード時には、電子証明書(IC カード)に印刷されている証明書番号の入力が必要ですので、手元に IC カードを用意してから行ってください。

なお、ダウンロードしたバージョンは 1.8 でした(CD-ROM は 1.7)。

ダウンロードしたら、おもむろにダブルクリックして、解凍します。すると、ブラウザに手順が表示されるので、

こちらに従って必要なソフトウェアを順次インストールしながら、並行して設定していきます。大まかに下記のとおりです。

  1. ICカードリーダーのドライバのインストール(GemPcCCID.exe)
  2. 電子入札補助アプリのインストール (CoreRelay.msi)
  3. 電子入札補助アプリを起動 (runCoreRelay.exe) この時、証明書をインストールします
  4. DIACERT電子証明書設定ソフトのインストール (diacert.msi)
  5. 接続許可リスト(アクセス許可サイトリスト)の更新 (runWLUpdater.exe)
  6. IC カードリーダライタをPCに接続
  7. ICカードリーダライタ設定ツールの実行 (runSetICRW.exe)
  8. 認証局ルート証明書登録の実行 (tool.exe) 15個のルート認証局の証明書をインストールします

セットアップが完了したら、こちらの手順に従って、動作確認を行っておきます。

問題ないですね。

コア分離について

なお、CDと一緒に入っていた説明書によると、 WIndows 11 等の場合は、『設定』の『プライバシーとセキュリティ』->『Windows セキュリティ』->『デバイスセキュリティ』->『コア分離の詳細』にある『メモリ整合性』

をオフにするように書かれていました。

詳細情報をクリックして、メモリ整合性の説明を読むと、一部のドライバーはメモリ整合性が有効な場合に問題が生じるようです。

ですが、ダウンロードした1.8およびセットアップ手順等を読む限りでは、このコア分離ついては特に言及されていませんでした。これは変更しなくてよくなったのかな?それともネット上に書かれていないだけなんだろうか?

ちょっと疑問は残りますが、とりあえずはコア分離はそのまま有効にしておいて、もし問題が生じたら、無効にしてみようと思います。

なお、参考までに、上記の手順で IC カードリーダーのセットアップを行っても、『互換性のないドライバー』に関する警告は表示されませんでした。

入札の申請

電子証明書が一段落したので、入札の申請(名簿への登録)をしてみました。

ですが、ここで大きな勘違いがありました。

伊勢市の場合、入札を希望する場合は毎年、業者名簿への登録を行う必要があります。で、年明けごろから(だったかな?)にこの更新手続きを行います。ですが、更新手続きを忘れていると、年度末にかけて通知がやって来て、慌てて手続を行うということをやってました。

今年の場合は、システムが変更になる際の説明資料で業者登録番号が送られます、といった旨の記載があったので、番号がきてから作業すればいいや、ぐらいに思ってました。

ですが、そろそろ年度末だしと思い、改めて資料を読み返してみると、来年度(R6年度)からは別の組織(三重県市町総合事務組合)に登録をしないといけないということです。そこが、伊勢市も含めた入札(の資格)の窓口になるようです。

しまった!

なんとなく、今の伊勢市への業者登録がこちらの組織へ引き継がれるものだと勝手に思い込んでいました。

ということで、慌てて申請してみました。

三重県市町総合事務組合への申請

調べてみると、下記のところに申請方法が記載されていました。

http://shichosogo-mie.jp/buppin.html

こちらをよく読んで、必要な書類をそろえて、一式印刷して郵送で送ります。なんだかなー。

伊勢市への個別申請

伊勢市の場合、上記の申請に追加して、市のほうへも書類を提出する必要があるそうです。

個別書類の提出について(令和6~7年度名簿登録関係)|伊勢市公式ホームページ

書類自体は難しいものではないので、すぐに提出できるんですが、問題はタイミングです。上記の三重県市町総合事務組合が、毎月10日で審査を閉めているようで、伊勢市のほうもその審査に合わせて、

  • 10日までに審査が通った場合、15日までに伊勢市で手続きを行う
  • 11日~月末までに審査が通った場合、翌月15日までに伊勢市で手続きを行う

ということだそうです。

これ自体はルールに従えばいいだけなんですが、問題は自分の申請がいつ審査を通ったかがわからないところです。

3月8日(金)の午後に郵送したので、10日(月)には先方に到着するでしょうが、果たして10日中に審査されるのか、11日になるか・・・わかんないですよね。

なので、仕方ないので、11日(火)になってから、電話して審査状況を確認しました。この記事をまとめているのが、ちょっと後になってしまったのでちゃんと覚えてないのですが、10日には間に合わなかったと記憶しています。

ということで、伊勢市のほうの申請は4月に入ってから行いました(後日、無事に業者登録番号が送られてきました)。

電子入札利用のための手続き

さて、業者登録番号が送られてきましたので、電子入札を利用するための手続きを行います。なお、ここで、一点気をつけないといけないのが、新しいシステムは、

  • 入札情報サービス
  • 電子入札システム

の2つに分かれているというところです。このため電子入札を利用するための手続きも、両者を使って行う必要があります。

具体的な手続きとしては、

  • 利用端末の初期設定
  • 入札情報サービスでの初期パスワード変更
  • 電子入札システムでの利用者登録

という流れになります。

なお、これらのサイトへのリンクは、こちらの電子入札のページに記載されています。

利用端末の初期設定

伊勢市のこちらのページに記載されている『初期設定マニュアル(ICカード編)』のPDFに手順が載っているので、そちらに従って作業します。

上記までに、ICカードリーダー周りの設定は終わっているので、ブラウザでポップアップを許可しておきます。 Chrome の場合、メニューから『設定』->『プライバシーとセキュリティ』->『サイトの設定』を開きます。次に『ポップアップとリダイレクト』をクリックし、『ポップアップの送信やリダイレクトの使用を許可するサイト』に https://ise.efftis.jp/ を追加します。

上記の手順ではこのあと、フォント設定として、変換候補を JIS X 0208 に限定する、という設定も行っているのですが。こちらはとりあえず割愛しておいて、実際に入札するときになったら再度変更しようかと思います。

入札情報サービスでのパスワード変更

さきほどのページに記載されている『利用者登録マニュアル(ICカード編)【物品・業務委託】』のPDFに手順が載っているので、そちらに従って作業します。

まずは、入札情報サービスのサイトを開き、

『ログイン』をクリックします。ログイン画面が表示されますが、初回はログインする前に『パスワードの変更』をクリックして、パスワードの変更を行います。

表示された画面で、必要事項を入力して、パスワードを変更します。問題なくパスワードが変更できたら、改めてログインして問題がないことを確認しておきます。

電子入札システムで利用者登録

次に、電子入札のサイトを開き、電子入札システムにログインします。ここで、気をつけないといけないのは、電子入札システムは、平日8:30~20:00しか利用できないという点になります。なので、休日や夜間に手続しようと思っても、作業できないとなるので注意が必要です。

電子入札のサイトを開き、

『物品・業務委託』を選択します。

一番上の『利用者登録(ICカード)』を選択します。

別ウィンドウが開くので、時刻が表示されてから『利用者登録処理』ボタンを押します。

再度、メニュー画面が表示されるので『登録』ボタンを押します。

このタイミングで、 IC カードリーダーを接続して、 IC カードを挿入します。次に、 IC カードと一緒に送られてきた書類に貴視されている PIN 番号を入力して、OKボタンを押します(担当者欄は空白のままです)。

事業者番号および商号は、伊勢市に登録申請して交付されたものを入力します。パスワードは、最初に『入札情報サービス』で変更した新たなパスワードを入力します。必要な情報を入力後、OKボタンを押します。

次に、企業情報の入力画面が表示されるので、必要な情報を入力しておきます。ちなみに、この時、FAX番号が入力必須項目になっているのはちょっといただけないですね。

入力内容に問題が無ければ、入力内容の確認を行い、最後に登録を行ったら、作業完了です。

まとめ

電子証明書(IC カード)の取得から行ったので、結構時間がかかってしまいました。あと、この手の書類って、要領とかをちゃんと読めばそんなに難しい話は書いてないことが多いんだけど、いかんせん読むのが面倒になってしまいます。誤解を生じないようにしないといけないので、なかなかわかりやすくするのも難しいんでしょうが、もうちょっと利用者側の立場に立ってもらえるとありがたいです。

もっとも、これは自分がマニュアル作るときとかにも共通することなんですけどね。なんにせよ、これで必要な手続きは完了です、お疲れ。

子どもにスマホを持たせるときにやったこと:LINE 対策編 (2/2)

こちらの記事

blog.mori-soft.com

の続きです。ここまでで一通りの基本的な設定はできました。ですが、やっかいなのは LINE です。

最初は自分が LINE 使っている程度(メッセージアプリの一つ)の認識だったので、子どもに聞かれたときも『 LINE 使っていいよー』、と伝えていたのですが、アプリ内ブラウザについて調べていた時に、いろいろと気になる機能があることがわかってきました。特に、

  • LINE VOOM
  • LINE ニュース
  • オープンチャット

あたりを使うと、実質的に制限なしにいろんなコンテンツや他人に触れることができてしまいます。

VOOM というのはいわゆるショート動画のサービスっぽいので、きっと使いたいというと思うんだけど、制限なしはもうちょっと待ってほしいかな。

オープンチャットもオープンというだけあって、いろんなことが起こりえるのが容易に想像できます。

ニュースは見せてあげたい感じもしますが、自分自身が使ってないので、いったんは様子見にさせてもらいます。

にしても、 LINE もアプリ内のこの手のコンテンツの年齢制限とかにもうちょっと取り組んでもらえないもんでしょうかね?まあ、 LINE の言い分としては、サービスは 12歳からにしているので、使う側で何とかしてよ、ということなんでしょうが、実際問題これだけ普及しているのだから、もうちょっと真剣に LINE 内でのアレンタルコントロール機能について検討してほしいものです。

ここで愚痴っても仕方ないので、 LINE を使ううえで、これらのアクセスをどうするかの対策を考えます。

LINE の基本設定

まずは、 LINE 自体の設定を見直しておきます。あちこち変更したのですが、主に下記を参考にしました。

子どもにLINEを使わせる前に必須の制限設定8選 VOOM対策や代替アプリ | キッズスマホ選び ママペディア

VOOM 関係はこんな感じです。

  • 『ホーム』 -> 『設定』(歯車) -> 『LINE VOOM』 -> 『LINE VOOM 通知』で『すべての通知』をオフ
  • 『LINE VOOM』 -> 『フォロー設定』->『フォローを許可』をオフ
  • 『ホーム』 -> 『設定』(歯車) -> 『写真と動画』-> 『動画自動再生』を『自動再生しない』に設定

LINE の友達関係はこんな感じです。

  • 『友だち自動追加』を無効
  • 『友だちへの追加を許可』を無効
  • LINE ID は作成しない

その他、主にプライバシー関係の設定はこんな感じにしました。

  • 『ホーム』 -> 『設定』(歯車) -> 『プライバシー管理』-> 『メッセージ受信拒否』を有効
  • 『プライバシー管理』-> 『アプリからの情報アクセス』を『拒否』に設定
  • 『プライバシー管理』-> 『情報の提供』 -> 『LINE 通知メッセージ』の『LINE 通知メッセージを受信』を無効

子どもが自分で設定を変更できる点はありますが、親が提供する初期設定としてはこんな感じにしました。

LINE VOOM

i-フィルターでアプリ内ブラウザによるアクセスは抑えました。でも、 LINE VOOM は抑えられません。どうしたものか?子どもに使わないでと伝える方法でもいいのですが、何か対策はないものかと思って調べてみると、先人がやってくれていました。

taimanix.com

なるほど。スマホのアプリ自動化のツールを利用して LINE VOOM を起動できないようにするというものですか。早速試してみました。

MacroDroid による LINE VOOM 起動抑制

基本的にやったことは、上記の記事の通りですが、若干変更しています。順を追ってまとめておきます。

MacroDroid のインストール

まずは、 MacroDroid をインストールします。以前は、無料のアプリだったようなんですが、下記の記事にあるように、無料で使えるのは期間限定のアプリになったようです。

価格.com - 『MacroDroidが期間限定有料アプリに』 Androidアプリのクチコミ掲示板

広告を見ると無料期間が延長されるようなんですが、子どものスマホ用にそんなことしたら本末転倒なんで、ここはいさぎよくお金を払っておきます。幸いなことに月額課金じゃないので、最初だけですしね。

ちなみに、 MacroDroid のインストールと設定のタイミングが、 Google ファミリーリンク設定後でした。このため、 Google Play からのアプリのインストールが『すべてのコンテンツを承認』になっていたので、 MacroDroid アプリ側でプロ版にアップグレードしようとしても、失敗してしまいました。なので、一時的に承認をなしにして、プロ版へのアップグレードを行いました。作業がが完了したら、再度制限を有効にしました。

マクロの作成

MacroDroid でマクロを作成します。まずは、ホーム画面の下部にある『マクロ』をタップします(以下の画面は無料期間内のものになるため、画面下部にその旨のメッセージが出てます)。

もちろん画面内の『マクロを追加』ボタンを押してもOKです。次に、マクロが起動するきっかけとなる『トリガー』を設定します。

『トリガー』の右上の『+』ボタンをタップすると

このようなトリガー種類の選択画面が表示されるので、この中の『アプリ』を選択します。

ここで、『画面コンテンツ』を選択します。設定内容の『アプリ』は『すべてのアプリ』ではなく、 LINE を選択します。

そして、表示される画面コンテンツとして

  • コンテンツID が『content_profile_follow』であるとき

とします。

これは、前述の記事にあるように、LINE VOOM 画面には必ず『フォロー』が表示されるので、それを利用してトリガーにしていることになります(テキストではなくコンテンツID にしているのは前述の記事に倣っています)。

次に『アクション』を設定します。本当は、『アプリ』にある『アプリを強制停止』を使いたいところなんですが、

アプリを停止させるのは root 化する必要があるようです。子どものスマホにそんなことはできないので、どうしようかと思って調べると、

【RPA】【MacroDroid】Fish and Tips ルートをとらなくてもアプリは終了できるよ - 駅前散策ブログ@かわさき HOT

というのを見つけました。なるほど、いったんホーム画面を表示させて、その後バックグラウンドアプリを終了させるという方法が取れるようです。

早速やってみます。まず『アクション』をタップします。次に、『機器の操作や動作』をタップします。次に『ホーム画面を表示』をタップします。

これで、アクションに『ホーム画面を表示』が追加されました。

次のバックグラウンドアプリを終了させるまえに、少し待機します。待機は『マクロ』を選択し、『次のアクション実行前に待機』をタップします。

待機時間を指定するダイアログが表示されるので、5秒とし、『アラーム機能を使う』はチェックを外しておきます。

最後に、3つ目のアクションとして、『アプリ』から『バックグラウンド動作アプリを強制終了』を選択します。アプリの選択ダイアログが表示されるので、LINEを選択します。

最後に、マクロ名を追加して保存します。プロ版にアップグレード前なら、この時に広告が表示されますので、閉じるなり広告を見るなり、いいようにしてください。

保存ができたら、マクロ一覧画面が表示されます。下記のように、マクロが有効になっていれば、もう動いています。

なお、 MacroDroid のマクロの各種トリガーやアクションの内容については、下記の記事を参考にさせていただきました。

MacroDroid 機能別クイック早見表 | 日本語化

マクロを試す

では、早速試してみます。

  • LINEを起動します
  • LINE VOOM をタップします
  • ホーム画面が表示されます

なんですが、残念ながら、アプリを終了させることはできないようです。前述の MacroDroid の説明記事をよく読むと、『バックグラウンドアプリを強制終了』は、

【注意】 このアクションは、バックグラウンドで現在実行中のアプリではなく、非活動のバックグラウンド処理を強制終了します。

とのことです。なので、バックグラウンドに回ったばかりの LINE を停止することはできないっぽいですね。

とはいえ、 LINE VOOM を使うことができなくなるのは同じなので、とりあえずこれでも OK としました。

あと、一度 VOOM を表示してホーム画面を表示した後、再度、 LINE をフォアグラウンドに持ってきたとき、前と同じく VOOM の画面が表示されるので、間髪入れずまた落ちる時があります。このような場合は、一度タスクを落としてから、 LINE を起動する必要があります。

また、たまに、VOOM で落ちた後 LINE を起動すると、トーク画面でも落ちる場合があります。これは、完全な推測なんですが、 VOOM の画面の上にトークの画面が重なっているような状態ではないかと推測しています。実際、 LINE を停止させてから再度トークのみを表示されると問題なく動作しています。

まあ、こんな感じで、若干使い勝手が悪くなりますが、基本的には VOOM を使ってほしくないので、ここは割り切って、落ちたときは、いったん LINE を終了させてから、また起動してね、としておきます。

LINE ニュース

ネットを調べると、 LINE ニュースを非表示するには、設定により通話に切り替えるというのがあるようです。まずはそれをやっておきます。

  • 『ホーム』 -> 『設定』 -> 『通話』 -> 『通話/ニュースタブ表示』-> 『ニュース』を『通話』に変更

そのうえで、 LINE VOOM と同様に、 MacroDroid で画面を落とすようにします。ただし、トリガーとしては、

  • テキスト内容が『主要ニュース』であるとき

としておきます。

オープンチャット

LINE VOOM や LINE ニュースと同様に、 MacroDroid で画面を落とすようにします。ただし、トリガーとしては、オープンチャットを開いた画面にある文字列を使い、

  • テキスト内容が『LINE オープンチャット』であるとき

としておきます。

あと、オープンチャットの制限の方法として、下記の記事のように、特定の URL へのアクセスを制限するという方法もあるようです。

ASCII.jp:子どもが不特定多数と交流できるLINEのオープンチャットを制限する方法

なので、こちらも i-フィルターと Google ファミリーリンクの Chrome の設定に追加して、『 square-api.line.me 』をブロックするようにしておきます。

その他

他に LINE を使ううえで、気になる点としては、

  • LINE ウォレット
  • LINE ポイントクラブ
  • トークの『みんなでみる』機能(特に、 YouTube)

あたりの制限をどうするかが気になる点です。

制限しようかとも思ったのですが、

  • 子どもとの約束事として『課金などはしない』としている
  • スマホで許可されたコンテンツの内容であれば、時間の使い方までは管理したくない

というのがあって、一旦保留にすることにしました。ポイントを貯めようとした際に、アクセスする広告や漫画、ゲームの内容が気になるといえば気になるけど、そのあたりは様子見にします。そもそもスマホの時間そのものが制限されているのでどこまでこれらに価値を見出すかもわかりませんしね。

3つ目のみんなで見る機能も、たぶん YouTube のレーティング制限はかからないだろうから気になるといえば気になりますが、

  • 複数の友達同士で見ることになる点
  • 家ではリビングでのみスマホを使ってよい

という点から、こちらも制限せずに様子見としました(外で見ることは可能ですが時間的にも限定的になるので)。

にしても、 LINE 本当に悩ましいです。

(参考)AdGuard for Android

なお、上記では MacroDroid を使いましたが、 AdGuard for Android を使っても、いろいろと制限をかけることもできるようです。 が、こちらのアプリは Google Play での公開ではなく、配布元からのダウンロードになります(Google Play で公開されているのは一部機能のみのバージョン)。ということで、ちょっと躊躇してしまい試しませんでした。

勇気のある方は、こちらを試してもいいかもしれませんね。

まとめ

まあ、子どもも小学生高学年なんで、いろいろと設定するのもここ数年のことだとは思います。それに、いろいろとやりましたけど、どうせ抜け穴は探し出してくるんでしょうから、そこまで神経質になることもないかなと思います。とはいえ、昨今何があるかわからないから、矛盾するようですがちょっと慎重にもなります。

今回、自分でこの記事まとめてみて、若干やりすぎかな?と思うところもあるのですが、最初は厳しめにしておいて、あとは子どもからのリクエストや普段の子どもの言動をみながら、徐々に緩めていこうかなと思います。

子どもがうまくスマホと付き合えるようになることを切に願います。