tmygt
2023年12月28日 13時50分
ABOS Web REST APIの利用を検討しています。APIはコンテナ内から呼び出します。また、通常のABOS Web(GUI)を使う予定はありません。
このような状況なので、ABOS Web へのアクセスはコンテナ/localhostからに制限したいです。
iptablesで通信を落とす方法も考えられるのですが、こちらのアプリケーションの事情でiptablesでの設定は追加せず、可能であればiptablesを使わない方法を取りたいです。
ABOS Webのソースコードを読んだところ、起動時にlisten_addrオプションで指定できそうなのですが、これを指定するにはどのようにすればよいでしょうか?
コメント
tmygt
> abos-web に --listen-addr のオプションがありますが、コンテナの場合は network host 以外で localhost をアクセスできないので、代わりに --allowed-subnets を使った方がいいと思います。(そのオプションは web UI と rest api の両方に適用されています)
>
> 設定方法としては、openrc のサービスすべてがデフォルトで 「/etc/conf.d/サービス名」のファイルで設定可能になっていますので、abos-web もそれで設定できます。
>
> そこでまた一つ誤らないといけない点があって、swupdate_preserve_files の都合で代わりに /etc/atmark/abos_web/init.conf を使っていただければと思います。
> 本来ならデフォルトの /etc/conf.d/abos-web が存在するはずなんですが、パッケージに入れてなかったので設定管理画面の修正のついでに今日リリース予定のアップデートに追加しまして、1月末のアップデートに製品マニュアルにも説明を追加します。
> お手数ですが、すぐ試す分に両方のファイルを作っておいてください:
>
>
> armadillo:~# cat /etc/conf.d/abos-web > # Note it is recommended to set it through /etc/atmark/abos_web/init.conf > # to preserve on updates > > if [ -e /etc/atmark/abos_web/init.conf ]; then > . /etc/atmark/abos_web/init.conf > fi > > # Set command_args to customize any abos-web option (see abos-web --help) > # example, this allows access from any IP: > #command_args="--allowed-subnets 0.0.0.0/0 --allowed-subnets ::/0" > > armadillo:~# cat /etc/atmark/abos_web/init.conf > command_args="--allowed-subnets 10.88.0.0/16" >
> で外部のアクセスでエラーするようになります
>
> (ちなみに「--listen-addr 10.88.0.1:58080」でできそうなところもありますが、その場合はコンテナの後に起動させないと起動時に abos-web が起動されない場合もあります:
>
> depend() { > after podman-atmark > } > > command_args="--listen-addr 10.88.0.1:58080" >
> ちょっと微妙なので、allowed-subnets が便利かと思います)
>
>
> 何か分かりにくいところがあればまた聞いてください。
>
> よろしくお願いします
マルティネさん
回答ありがとうございます。
> abos-web に --listen-addr のオプションがありますが、コンテナの場合は network host 以外で localhost をアクセスできないので、代わりに --allowed-subnets を使った方がいいと思います。(そのオプションは web UI と rest api の両方に適用されています)
わかりました。 allowed-subnetsでpodmanのネットワークを指定するようにします。
> 設定方法としては、openrc のサービスすべてがデフォルトで 「/etc/conf.d/サービス名」のファイルで設定可能になっていますので、abos-web もそれで設定できます。
>
> そこでまた一つ誤らないといけない点があって、swupdate_preserve_files の都合で代わりに /etc/atmark/abos_web/init.conf を使っていただければと思います。
ここが理解しきれていないので教えてください。
記載いただいたファイルでは /etc/conf.d/abow-web で /etc/atmark/abos-web/init.conf を読み込むことになっていますが、実際のアップデートでは /etc/atmark/abos-web/*.conf の様な任意のconfを読みこむようになるのでしょうか?
tmygt
マルティネさん
(引用文を消し忘れて読みにくいので再投稿します)
回答ありがとうございます。
> abos-web に --listen-addr のオプションがありますが、コンテナの場合は network host 以外で localhost をアクセスできないので、代わりに --allowed-subnets を使った方がいいと思います。(そのオプションは web UI と rest api の両方に適用されています)
わかりました。 allowed-subnetsでpodmanのネットワークを指定するようにします。
> 設定方法としては、openrc のサービスすべてがデフォルトで 「/etc/conf.d/サービス名」のファイルで設定可能になっていますので、abos-web もそれで設定できます。
>
> そこでまた一つ誤らないといけない点があって、swupdate_preserve_files の都合で代わりに /etc/atmark/abos_web/init.conf を使っていただければと思います。
ここが理解しきれていないので教えてください。
記載いただいたファイルでは /etc/conf.d/abow-web で /etc/atmark/abos-web/init.conf を読み込むことになっていますが、実際のアップデートでは /etc/atmark/abos-web/*.conf の様な任意のconfを読みこむようになるのでしょうか?
at_dominique.m…
tmygtさん
マルティネです。
> ここが理解しきれていないので教えてください。
> 記載いただいたファイルでは /etc/conf.d/abos-web で /etc/atmark/abos-web/init.conf を読み込むことになっていますが、実際のアップデートでは /etc/atmark/abos-web/*.conf の様な任意のconfを読みこむようになるのでしょうか?
分かりにくい説明ですみません。
アップデートでは今提供した例と同じ内容になって、init.conf だけを読み込みます。
アップデートは先ほど公開しましたので、インストールしていただければ確認できます。
よろしくお願いします。
tmygt
at_dominique.m…
2023年12月28日 15時33分
tmygtさん
マルティネです。
> ABOS Web REST APIの利用を検討しています。APIはコンテナ内から呼び出します。また、通常のABOS Web(GUI)を使う予定はありません。
> このような状況なので、ABOS Web へのアクセスはコンテナ/localhostからに制限したいです。
>
> ABOS Webのソースコードを読んだところ、起動時にlisten_addrオプションで指定できそうなのですが、これを指定するにはどのようにすればよいでしょうか?
abos-web に --listen-addr のオプションがありますが、コンテナの場合は network host 以外で localhost をアクセスできないので、代わりに --allowed-subnets を使った方がいいと思います。(そのオプションは web UI と rest api の両方に適用されています)
設定方法としては、openrc のサービスすべてがデフォルトで 「/etc/conf.d/サービス名」のファイルで設定可能になっていますので、abos-web もそれで設定できます。
そこでまた一つ誤らないといけない点があって、swupdate_preserve_files の都合で代わりに /etc/atmark/abos_web/init.conf を使っていただければと思います。
本来ならデフォルトの /etc/conf.d/abos-web が存在するはずなんですが、パッケージに入れてなかったので設定管理画面の修正のついでに今日リリース予定のアップデートに追加しまして、1月末のアップデートに製品マニュアルにも説明を追加します。
お手数ですが、すぐ試す分に両方のファイルを作っておいてください:
で外部のアクセスでエラーするようになります
(ちなみに「--listen-addr 10.88.0.1:58080」でできそうなところもありますが、その場合はコンテナの後に起動させないと起動時に abos-web が起動されない場合もあります:
ちょっと微妙なので、allowed-subnets が便利かと思います)
何か分かりにくいところがあればまた聞いてください。
よろしくお願いします