shellinaboxユーザーを特定のアカウントに制限する

shellinaboxユーザーを特定のアカウントに制限する

設定と目標

サーバーを実行していて、ssh特定のユーザーを1人だけにshellinaboxログインするように制限したいと思います。shellinabox

推論と方法

セキュリティ上の理由から、マスターユーザーにはmain_acc証明書ベースのsshアクセスしかありません(sshLAN IPの範囲外で直接使用する場合)。コマンドを使用すると、インターネットからアクセスするときにパスワード接続が機能しないことを確認できますssh

ユースケースでは、shellinaboxパスワードによるログインが必要です。これは、特に自分のコンピュータで秘密鍵を使用できない場合のためです。アイデアは、shiabox_acc許可されたコマンドのみがローカルホストでssh実行される制限付きシェルを持つ「プロキシ」ユーザーを使用してセキュリティ層を追加することですmain_acc。これには、fail2ban無差別代入攻撃者が仕事を困難にするために使用できる2つの暗号層と2つの層があります。

だから私がしたことは

  1. 存在するsshd_config
  • ユーザーはmain_acc通常パスワード認証を受けません。
  • main_accLAN-IP範囲とポート22でパスワード認証を許可する(ローカルメンテナンスの理由で)
  • ユーザーは、shiabox_accポート1011(shellinaboxポート)のlocalhostでパスワード認証を許可しました。
  1. apacheウェブサイトの設定で
  • reveseプロキシは私のウェブサイトのssh-loactionへのアクセスをshellinaboxポートに転送します。
  1. ルーターファイアウォール設定で
  • WANはポート1011にアクセスできません。
  • ポート 22 および 443 が開いています。

今質問が来ます:

main_accそれでもパスワードでログインできます。shellinabox

なぜ?shiabox_accアクセスを制限する方法は?

私が理解したところ、Apacheはポート443でWebサイトベースの要求をリッスンし、それをローカルホストからポート1011に転送します。その後、sshルールはアクセスポートを1011と一致させ、それを許可しないでくださいmain_acc

私はどこで間違っていますか?

apachePS:認証オプションを知っていますが、私の方法が失敗する理由を理解したいと思います。


設定する/etc/ssh/sshd_config

#Global:
#DenyUsers
AllowUsers main_acc
PasswordAuthentication no

#shellinabox access
Match LocalPort 1011 User shiabox_acc
        PasswordAuthentication yes
        PubkeyAuthentication no

#LAN access w/ password
Match Address <LAN-IP>,127.0.0.1,::1 LocalPort 22 User main_acc
        PasswordAuthentication yes
        PubkeyAuthentication yes

サイト設定apache:

<Location /shellinabox>
    ProxyPass http://localhost:1011/
    Order allow,deny
    Allow from all
</Location>

shellinabox設定:

SHELLINABOX_PORT=1011
SHELLINABOX_ARGS="--no-beep --localhost-only --disable-ssl"  

バージョン

  • Apache/2.4.57
  • ShellInABox バージョン 2.20
  • オペレーティングシステム:ラズビアン12

ベストアンサー1

おすすめ記事