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:
コメント
tmygt
at_dominique.m…
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…
連続の連絡ですみません、マルティネです。
> こちらについては大澤さんの指摘通りに 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 のルールも通常の返事なので不要です。
よろしくお願いします。
tmygt
at_dominique.m…
tmygtさん
マルティネです
> 私たちの用途ではこれらのサービスは使わないため、 rc-update で無効化することにします。
了解しました、サービス無効化で問題ないと思います。
他のデフォルトで有効になっているサービスはアップデートのイメージに含まれていますので、再び有効化されますが、
avahi と armadillo-twin-agentd はちょうど無効化できるサービスになっています。
(アップデートイメージに搭載されず、インストール時の有効化状態を維持します)
「persist_file -rv /etc/runlevels」 等で /etc/runlevels/default/avahi-daemon と /etc/runlevels/default/armadillo-twin-agentd の削除を永続化できたらアップデートで戻りません。
よろしくお願いします。
tmygt
at_dominique.m…
tmygt
at_ohsawa
2025年7月15日 18時59分
ご意見ありがとうございます。
製品マニュアルに記載している開放しているポートというのは、インバウンドで待受している状態のポート
(外部からArmadilloに対してアクセスを開始できる)ポートのことです。
Armadillo-TwinはArmadillo側のクライアントからしか通信を実施し、サーバーとしては
駆動しておらず、ポートは開放していないため記載していません。
意味合いにもよりますが、in/out問わずポートをすべて書くことはできないのですが、
(例えばntpも定期的に時刻取得しますが、これもポートを開放して待受しているわけではなく
クライアントとしてアウトバウンドで通信するためポートを開放しているわけではないです)
ファイアウォールの設定等で、アウトバウンド側も情報がほしいというのは
理解しているので、今後検討させていただきます。