Armadilloフォーラム

armadillo-twinが使うポート

tmygt

2025年7月15日 16時54分

==========
製品型番:
Debian/ABOSバージョン: 3.21.3-at.13
カーネルバージョン:
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

Armadillo IoT G4において、ABOSが使うポートを調査しています。

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… を見るとABOSWebとavahi-daemonがデフォルトで使っているようですが、手元のArmadilloで netstatを実行するとarmadillo-twinもポートを使っているようです。これは意図通りでしょうか? もし意図通りであれば、ドキュメントを更新していただきたいです。よろしくお願いいたします。

armadillo:~# netstat -antup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 :::58080                :::*                    LISTEN      1850/abos-web
udp        0      0 0.0.0.0:60230           0.0.0.0:*                           1734/avahi-daemon:
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1734/avahi-daemon:
udp        0      0 0.0.0.0:55796           0.0.0.0:*                           1517/armadillo-twin
udp        0      0 :::52398                :::*                                1734/avahi-daemon:
udp        0      0 :::5353                 :::*                                1734/avahi-daemon:
コメント

ご意見ありがとうございます。
製品マニュアルに記載している開放しているポートというのは、インバウンドで待受している状態のポート
(外部からArmadilloに対してアクセスを開始できる)ポートのことです。

Armadillo-TwinはArmadillo側のクライアントからしか通信を実施し、サーバーとしては
駆動しておらず、ポートは開放していないため記載していません。

意味合いにもよりますが、in/out問わずポートをすべて書くことはできないのですが、
(例えばntpも定期的に時刻取得しますが、これもポートを開放して待受しているわけではなく
クライアントとしてアウトバウンドで通信するためポートを開放しているわけではないです)

ファイアウォールの設定等で、アウトバウンド側も情報がほしいというのは
理解しているので、今後検討させていただきます。

回答ありがとうございます。
アウトバウンドなためドキュメントに記載していないということで承知いたしました。

at_dominique.m…

2025年7月17日 17時54分

tmygtさん

お世話になっています、
マルティネです。

横からすみません、一つの報告と確認事項があります。

> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… を見るとABOSWebとavahi-daemonがデフォルトで使っているようです

avahi-daemon については udp/5353 が正常ですが、udp/60230 は気になりましたので、調べたところ /etc/avahi/avahi-daemon.conf の「enable-wide-area=yes」設定の影響です。
こちらの設定ですが、 avahi のアップストリームのデフォルトコンフィグで有効になっていましたが、セキュリティの問題もいくつかあって、
alpine で修正を出して7月のアップデートで Armadillo Base OS で設定を無効化するようにします。

現在利用中のバージョンでも avahi-daemon.conf で no に変更していいと考えています。

ご興味あれば、以下のリンクを参考にどうぞ:
- avahi アップストリームのセキュリティアナウンス https://github.com/avahi/avahi/security/advisories/GHSA-r9j3-vjjh-p8vm / https://github.com/avahi/avahi/security/advisories/GHSA-x6vp-f33h-h32g
- alpine の修正 https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/87228 / https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/87234

> armadillo-twinもポートを使っているようです。

こちらについては大澤さんの指摘通りに armadillo-twin からの送信しかしない認識ですので、念の為頂いた出力の「udp 0 0 0.0.0.0:55796 0.0.0.0:* 1517/armadillo-twin」の詳細を確認したいと考えています。

こちらの環境では同じく listen になってませんので、いくつか確認させてください:

* 投稿に「3.21.3-at.13」を利用しているとのことですが、armadillo-twin-agent はそのパッケージのバージョンを利用していますね?

armadillo:~# apk list --installed armadillo-twin-agent
armadillo-twin-agent-1.6-r0 aarch64 {armadillo-twin-agent} (MIT AND Apache-2.0) [installed]

* 再起動してもすぐに netstat の出力に armadillo-twin が表示されてますか?
* Twin サービスにデバイスが登録してないと思いますが、こちらの認識であってますか?
* 登録してない場合は /var/log/armadillo-twin-agent/agent_log に接続失敗のメッセージしかないはずですが、それで合ってますか?
* /etc/atmark/armadillo-twin/agent.conf ファイルがないと思いますが、こちらもあってますか?

大変お手数ですがよろしくお願いします

at_dominique.m…

2025年7月17日 19時04分

連続の連絡ですみません、マルティネです。

> こちらについては大澤さんの指摘通りに armadillo-twin からの送信しかしない認識ですので、念の為頂いた出力の「udp 0 0 0.0.0.0:55796 0.0.0.0:* 1517/armadillo-twin」の詳細を確認したいと考えています。
>
> こちらの環境では同じく listen になってませんので、いくつか確認させてください

すみません、聞いたら再現できましたので、確認できました。
twin サービス url の名前解決なだけでした。
手元で名前解決がすぐに終了していたので確認できてませんでしたが、ネットワーク接続を外したら数十秒に数秒間のあいだに確認できて、gdb で確認しました。

正常な動きですので、問題ありません。
念の為、musl のコードを確認して listen (0.0.0.0) に見えるのも確認して、相手のサーバーの返事以外は無視するようになっています(udp なので mitm でいくらでも嘘をつけれますが、それは dns というものですよね…)
firewall のルールも通常の返事なので不要です。

よろしくお願いします。

マルティネさん

お世話になっております。ご確認ありがとうございます。
avahiの60230が次回更新で使われなくなること、armadillo-twinのポート利用が想定内であること承知いたしました。

私たちの用途ではこれらのサービスは使わないため、 rc-update で無効化することにします。
今後ともよろしくお願いいたします

at_dominique.m…

2025年7月22日 10時38分

tmygtさん

マルティネです

> 私たちの用途ではこれらのサービスは使わないため、 rc-update で無効化することにします。

了解しました、サービス無効化で問題ないと思います。

他のデフォルトで有効になっているサービスはアップデートのイメージに含まれていますので、再び有効化されますが、
avahi と armadillo-twin-agentd はちょうど無効化できるサービスになっています。
(アップデートイメージに搭載されず、インストール時の有効化状態を維持します)

「persist_file -rv /etc/runlevels」 等で /etc/runlevels/default/avahi-daemon と /etc/runlevels/default/armadillo-twin-agentd の削除を永続化できたらアップデートで戻りません。

よろしくお願いします。

avahi と armadillo-twin-agentdは更新時には有効にならないんですね。
swupdateでこれらのサービスを停止させています。2回目以降の更新ではrc-update delが失敗するので、 下記のように対応していました。この記述で将来的にも問題は起きないでしょうか?

swdesc_command --extra-os "rc-update del avahi-daemon default || true"

at_dominique.m…

2025年7月22日 16時48分

マルティネです。

swdesc_command --extra-os "rc-update del avahi-daemon default || true"

上記のコマンドで問題ないと思います。

ありがとうございます。では私たちは上記の対応で進めます。
ご対応いただきありがとうございました。