Armadilloフォーラム

ABOS Web のユーザ認証で失敗した等のアクセスログの確認方法について

yorikasa

2025年8月6日 22時45分

==========
製品型番:AG6221
ABOSバージョン:3.21.3-at.14
カーネルバージョン:Linux armadillo 5.10.238-0-at #1-Alpine Tue Jun 24 04:34:00 UTC 2025 armv7l Linux
3G/LTE モジュール情報 (Debianのみ):
その他:
ABOS-Webのバージョン:Version: 1.9.0
==========

お世話になっております。

タイトルの件に関して2点ご質問させていただきます。

~質問1~
不正アクセスがあったかログ上で後から解析することは可能でしょうか?
可能な場合、ログが保存されるファイル名について教えていただけると幸いです。

~質問2~
6.12.11.2. ABOS Web のユーザ認証へ、認証失敗時に2時間を空けるという内容があったのですが、何回以上失敗で2時間の制限する実装でしょうか?
Webブラウザから適当なパスワードを何回か入力した後、正しいパスワードを入力するとログインが出来ており、
私の想像だと正しいパスワードすら受け付けないものと思っていたのですが、認識に誤りございますでしょうか?

~質問3~
少々、本題とはそれてしまうのですが、ABOS Webに限らずSSH等でatmarkアカウントに対してアクセスされた等のログはどこかに保存されるのでしょうか?
複雑なパスワードを設定していただくようにするのですが、奇跡的パスワードがマッチしてしまった場合を考えるとその履歴が残ることが期待なのですが、BaseOSの場合どうなりますでしょうか?

コメント

at_satoshi.ohta

2025年8月7日 10時24分

太田です。

> ~質問1~
> 不正アクセスがあったかログ上で後から解析することは可能でしょうか?
> 可能な場合、ログが保存されるファイル名について教えていただけると幸いです。

申し訳ありません。
/var/log/messages に ABOS Web のログを吐くようにしていますが、不正アクセスがあったかどうか分かるようなログは吐かないです。
今後、実装を検討します。

> ~質問2~
> 6.12.11.2. ABOS Web のユーザ認証へ、認証失敗時に2時間を空けるという内容があったのですが、何回以上失敗で2時間の制限する実装でしょうか?
> Webブラウザから適当なパスワードを何回か入力した後、正しいパスワードを入力するとログインが出来ており、
> 私の想像だと正しいパスワードすら受け付けないものと思っていたのですが、認識に誤りございますでしょうか?

https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

こちらの記述をご参照いただいたと思いますが、「次回再認証まで 2 秒間時間を空ける実装」ですので、正確には2時間ではなく2秒間です。書き方が紛らわしくて申し訳ありません。
2秒間の間であればパスワードは何も受け付けないようになっております。

> ~質問3~
> 少々、本題とはそれてしまうのですが、ABOS Webに限らずSSH等でatmarkアカウントに対してアクセスされた等のログはどこかに保存されるのでしょうか?
> 複雑なパスワードを設定していただくようにするのですが、奇跡的パスワードがマッチしてしまった場合を考えるとその履歴が残ることが期待なのですが、BaseOSの場合どうなりますでしょうか?

/var/log/messages にログを出力します。
複雑なパスワードを設定していただくようにするとのことですが、一般的にsshはセキュリティの観点から公開鍵認証が望ましいと思います。
atmarkアカウントであれば、/home/atmark/.ssh/authorized_keys に公開鍵を書きこむことで使用できます。

パスワードでなければいけない理由はありますでしょうか?

どうぞよろしくお願いいたします。

太田さん

> /var/log/messages に ABOS Web のログを吐くようにしていますが、不正アクセスがあったかどうか分かるようなログは吐かないです。
> 今後、実装を検討します。

ご検討いただけるということでありがとうございました。

> こちらの記述をご参照いただいたと思いますが、「次回再認証まで 2 秒間時間を空ける実装」ですので、正確には2時間ではなく2秒間です。書き方が紛らわしくて申し訳ありません。
> 2秒間の間であればパスワードは何も受け付けないようになっております。

大変申し訳ございません。見間違いをしておりました。
こちらの2秒という設定時間を延ばすことは可能でしょうか?
同一サブネット上からのみアクセス許可などの制限を設けているので不正なアクセスが
発生することは少ないと思われますが可能なら秒数を任意に設定させていただけると幸いです。

> /var/log/messages にログを出力します。
ありがとうございました。
こちら、下記のコマンドで残るか確認しながらSSHでログインを試したのですが、何故か何も表示されませんでした。
ログインに利用したアカウントは、atmark以外に作成したローカルアカウントとなっております。
認識誤りなどございましたら、ご指摘いただけますと幸いです。

tail -f /var/log/messages

> 複雑なパスワードを設定していただくようにするとのことですが、一般的にsshはセキュリティの観点から公開鍵認証が望ましいと思います。
> atmarkアカウントであれば、/home/atmark/.ssh/authorized_keys に公開鍵を書きこむことで使用できます。

その手がございましたね。検討させていただきます。

at_satoshi.ohta

2025年8月7日 19時46分

太田です。

> こちらの2秒という設定時間を延ばすことは可能でしょうか?

現在の実装では2秒という設定時間を伸ばすことはできません。
ABOS Web で実装している部分は src/common/password.rs 内で行っています。

:省略
       if hash != "!" && !sha512_crypt::verify(password, &hash) {
        tokio::time::sleep_until(start_time + Duration::from_secs(2)).await;
        Err(Error::msg("Invalid password"))?
    }
:省略

ABOS Web は 8 文字以上のパスワードを強制しており、
英数字(A-Z: 26文字 + a-z: 26文字 + 0-9: 10文字)の8文字のランダムなパスワードに対して2秒間のロックをする場合、平均的な探索時間は
62文字^8 = 218,340,105,584,896 ≒ 2.18 × 10^14 パターン
平均時間 = (2.18 × 10^14パターン ÷ 2) × 2秒 = 2.18 × 10^14秒 で 約690万年
となり、現実的に解読は不可能な時間ですので、2秒でも問題ないと考えています。

> こちら、下記のコマンドで残るか確認しながらSSHでログインを試したのですが、何故か何も表示されませんでした。

atmark アカウントと他のユーザアカウントで違いは無いと思いますが、例えば、atmark アカウントではログが出力されますでしょうか?
私の手元ではパスワードでログインした場合は以下のようなログが /var/lgo/messages に出力されます。
ATDE:

[ATDE ~]$ ssh atmark@<Armadillo の IP アドレス>

Armadillo の /var/log/messages

armadillo:~# tail -f /var/log/messages                                          
:省略
Aug  7 18:58:15 armadillo auth.info sshd-session[12379]: Accepted password for a
tmark from<PC の IP アドレス> port <PC のポート> ssh2 ★成功          
:省略                                    
Aug  7 18:58:30 armadillo auth.info sshd-session[12397]: Failed password for atm
ark from <PC の IP アドレス> port <PC のポート> ssh2 ★失敗

どうぞよろしくお願いいたします。