ルートを拒否し、内部サブネットで特定のユーザーを許可し、SSH / SFTPで外部グループを許可する方法

ルートを拒否し、内部サブネットで特定のユーザーを許可し、SSH / SFTPで外部グループを許可する方法

Centos 7でsshd_configはどのように見えますか?ルートを拒否し、内部サブネットで特定のユーザー(グループに属していない)を許可し、外部グループを許可しますか? 質問は非常に具体的です!

私たちが望む結果:顧客が自分のホーム/ルートにログインできる外部SSH / sftp接続。ただし、従業員が外部からアクセスしたくない場合は、内部サブネットからのみアクセスできます。従業員がフォルダ構造にアクセスできるためです。

これは私たちが使ってきた設定ですが、ドキュメントが十分に詳細ではないので、うまくいかず、意味がありません。

1.この構成では、内部的にbobとtrevを許可し、sftpgroupを許可する必要があります。代わりに sftpgroup は許可しますが、他のユーザーは許可しません。 (bob trevはグループにはありません)

Match Address 192.168.1.0/24
        AllowUsers bob trev
Match All
AllowGroups sftpgroup
PermitRootLogin no

ドキュメントによると、これらのコマンドは、DenyUsers、AllowUsers、DenyGroups、AllowGroupsの順番で処理されます。

2. したがって、この順序で処理されると、次のコマンドは機能するはずですが機能しません(bobとtrevにはアクセス権がありません)。後のコマンドが前のコマンドを上書きしない場合は、順番に処理することはどういう意味ですか?どこ。すべて拒否し、特定のユーザーだけを許可する必要はありませんか?しかしそれは真実ではない。これはバグがあるか、文書が不完全だと思います。

DenyUsers *
Match Address 192.168.1.0/24
        AllowUsers bob trev
Match All
PermitRootLogin no

match address コマンドが動作しているかテストしました。

答え1

これは、質問で目的の結果を提供するsshd_configの設定編集です。内部的には特定のユーザー、外部的には特定のグループを許可しますが、内部グループと特定のユーザーは外部的に拒否します。

Match Address 192.168.1.0/24
        AllowUsers bob trev
Match Address *,!192.168.1.0/24
        AllowGroups sftpgroup
Match All
PermitRootLogin no

関連情報