特定のユーザーとアウトバウンド接続のscpコマンドをブロックする方法

特定のユーザーとアウトバウンド接続のscpコマンドをブロックする方法

DenyUsersSSHサーバーを介してシステムにログインするのを防ぐために、ファイルのディレクティブの横にユーザー名を追加して特定のユーザーを制限できます。sshd_config

scpコマンドで同じことを実行できますか?

編集する:

別のコンピュータまたは同じコンピュータのユーザーとしてscpを実行しようとすると、scpがブロックされます。この場合、scp はブロックされます。ただし、制限されたユーザーの端末でコマンドを実行すると、scpが機能します。つまり、SSHサーバーはこのアウトバウンド接続をブロックしません。

そのようなアウトバウンド要求をブロックするようにSSHサーバーを構成できますか?

答え1

ユーザーがアウトバウンド接続に対してバイナリ(または他のバイナリ)を呼び出すことができるかどうかを制御するsshd_config設定がファイルにありません。sshscpsftp

ユーザーがこのバイナリを呼び出すのを制限するには、バイナリに対する実行権限がないように権限を変更する必要があります。たとえば、バイナリにアクセスしたいすべてのユーザーをグループに入れ、scpバイナリのグループをそのグループに変更し、バイナリの権限を0750に設定できます。

一般に、誰かが接続できる方法はいくつかあるため、ユニバーサルUnixシステムでのアウトバウンドネットワークアクセスを制限することは困難です。端末(または「アプリケーションの実行」ウィンドウ)にアクセスせずに、限られたグラフィックセッションに入れることができます。このようにしかし、ユーザーにシェルアクセス権がある場合は幸運です。フィルタ処理されたプロキシを強制的に適用することもできますが、HTTPS接続で安全に機能することは困難です。

答え2

ユーザーがシステムでバイナリを生成し、noexecを使用して実行するのを防ぐ必要があります(つまり、少なくともinstall /home、、、、、、)))。/tmp/var/tmp/dev/shm/run/user/*

22以外のポートでリッスンするSSHデーモンがある可能性があります。ただし、そのポートへの接続をブロックするのに十分な場合は、Netfilter(iptables)を使用してそのポートへの接続をブロックできます(一部のユーザーの場合)。

問題は、scpシステムの内外にデータを移動する方法が多いため、ブロックが有用かどうかです。

関連情報