Armadilloフォーラム

アカウントロックについて

snowflake

2025年3月26日 11時09分

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

sshの接続でpamを使用し、複数回パスワードを間違えた場合にアカウントを一定時間ロックする処理を行いたいと思っています。
対応策をご教授いただければと思います。

/etc/ssh/sshd_config.d/custom.conf を作成し、以下の設定を行いました。

UsePAM yes

上記設定して sshd を起動するとUnsupported option となります。

# /usr/sbin/sshd
/etc/ssh/sshd_config.d/custom.conf line 1: Unsupported option UsePAM
/etc/ssh/sshd_config.d/custom.conf line 1: Unsupported option UsePAM

/etc/runlevels/default/sshd を見たところ、/usr/sbin/sshd.pam が必要なのかと思いましたが、存在しませんでした。
sshd起動時に、上記のオプションエラーが出ていても、問題ないのでしょうか。

コメント

at_dominique.m…

2025年3月26日 12時22分

snowflakeさん

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

> sshの接続でpamを使用し、複数回パスワードを間違えた場合にアカウントを一定時間ロックする処理を行いたいと思っています。
> 対応策をご教授いただければと思います。

armadillo のデフォルトでインストールされている openssh-server では pam を利用できません。
どうしても使いたい場合は openssh-server-pam パッケージを利用するとそのオプションは使えるようになりますが、弊社が提供している更新のイメージを使えなくなります(標準の openssh-server に戻ってしまうため)ので、そちらの方法を推奨できません。

個人な意見ですがそういう pamモジュールの必要性を感じません:
* openssh 標準でもリトライが多いと一時的に接続を拒否するようになっています(hydra というパスワード攻撃ツールを性能の早い Armadillo IoT G4 で試したら一分で40回しかトライできませんでしたので、ある程度の長いパスワードでしたら永遠に攻撃し続けても見つかることはないと思います。例えば、[a-zA-Z0-9]のなかだけでも8文字だと 2e14可能性ありますのでこのペースだと1千万年かかります。辞書など使ってもパスワードに制限をかかっている場合は現実的な問題ではないと考えています 。ATDE で設定する mkswu --init のパスワードの場合は cracklib で簡単なパスワードを設定できないようにしてます。)
PerSourcePenalties や MaxAuthTries を調整すると更に厳しくなります。
ネット上で ssh のスキャンはよくありますが、デフォルトの login を探しているだけで、ものすごく分かりやすいものじゃなければ不要な心配だと考えています。
* 昔話ですが、前の人生で pam_tally を使ってるハードウェアを使って自分でロックされたことがありますので、クライエントIPのロックではなくアカウントをロックすると復帰がとても難しですよね…あの設定ではシリアル接続まで拒否されてしまうようになっていたので…
* また、パスワードの心配でしたら最初からパスワード認証を無効化して鍵認証だけを使った方が安全ですが、いかがでしょうか。(root ユーザーはすでに PermitRootLogin without-password のデフォルト設定でパスワード認証できないはずです)

期待通りの返事じゃなくてすみませんがよろしくおねがいします。

ご教授ありがとうございます。とても勉強になりました。
> armadillo のデフォルトでインストールされている openssh-server では pam を利用できません。
とのこと。理解できました。

また、PerSourcePenalties や MaxAuthTries について、不勉強だったため試してみようと思います。
昔話もありがとうございました。シリアル接続拒否とは、、、へこみますね...