web-dev-qa-db-ja.com

ユーザーにSSHアクセスを与えること、およびセキュリティの問題

さて、私はVPSを持っていて、友人のアカウントを作成して、彼が自分のドメインをホストできるようにしました(DirectAdminのリセラー機能を使用)。彼はSSHアクセスを求めていますが、これはおそらく悪い考えだと思います。彼は、コマンドの実行、サーバーでホストしているドメインへのアクセスなど、サーバー全体にアクセスできますか?彼のアカウントの詳細を使用してSSHにログインすると、すべてのルートフォルダー/ファイルをナビゲートできます。彼のアカウントは/ home/AccountName /の下にあります。

彼のフォルダへのアクセスのみを制限する方法はありますか?そして彼が使用できるコマンドは?

編集:彼は私のサーバーにプログラムなどをインストールできますか?

6
Kris Sauquillo

通常のユーザーとして、あなたの友人はあなたのサーバーにあまり害を及ぼすことはできません(彼らがフォーク爆弾をスポーンしたり、あなたのディスクをいっぱいにすることができることを確認してください、しかし彼らが本当に友人であるならば、彼らはおそらくディックの動きを引っ張らないでしょうそのような)。私の友人は、アカウントを要求すると、私のマシンで実際のログインシェルを取得します。また、私を怒らせるようなことをすると、マシンから起動されるという厳しい講義があります。

あなたは自分の「友達」をあまり信用していないようです。そのため、The Rookの答えに加えて、PHPスクリプトを実行できる中途半端な有能な人は、無制限の(ログイン可能な)SSHアクセスを持つユーザーとほぼ同じくらい危険であり、サーバーがPHPを許可していると思います。ユーザーはPHPを介して、他の任意のプログラムのダウンロード、コンパイル、実行まで、信頼できないコードを実行できることを忘れないでください。システム(Webサーバーユーザーの特権の制限内ではありますが)一般的に言えば、Webサーバーをchroot/jailingしていない限り、友人がログインシェルで見ることができたものは何でも、それほど創造的ではないPHPスクリプト。

結論:システム上のアカウントを誰かに与えてから、/ etc/passwdでシェルをロックアウトし、SFTP chrootオプションを設定すると役立ちますが、anyアクセスのセキュリティへの影響を考慮する必要があります。この人への信頼のレベル。

4
voretaq7

誰かにFTPアクセスを与えることは、ネットワークのセキュリティに関してできる最悪のことの1つです。ワームはftpを探してネットワークトラフィックを盗聴し、これを使用して拡散します。私はこのように感染したいくつかのサイトを個人的にクリーンアップしました。

/ etc/passwdでユーザーアカウントへのシェルアクセスを無効にできます。この場合、sshはSFTPにのみ使用されます。 sshd_configファイルにChrootDirectoryを設定して、ユーザーが選択したディレクトリツリー外のファイルにアクセスできないようにすることもできます。 ChrootDirectoryは必要ないはずです、あなたはすべきです Linuxの組み込みのファイルアクセス制御を使用しています。たとえば、ファイルがユーザーによって所有されておらず、グローバル権限が削除されている場合、そのユーザーはファイルにアクセスできなくなります。 777の代わりにchmod700を使用します。最後の番号はグローバル権限であり、7はすべてのユーザーにそのファイルへのフルアクセスを許可します。 chown user:group filenameは、ファイルを所有するユーザー/グループを変更するために使用されます。

2
Rook

SSHやFTPなど。binディレクトリからコマンドを実行してファイルなどを一覧表示するため、残りのファイルへのアクセスが必要です。一部のFTP/SSHサーバーは、chrootをサポートして、適切なファイルへのアクセスを提供したり、アクセスを完全に偽造したりします。

ホームディレクトリを保護し、Webサイトファイルを必要とするユーザーだけにロックダウンすることができます(そしてそうすべきです)。あなたのサイトはおそらくyourname:www-data(debianシステムの場合)またはyourname:Apache(redhatシステムの場合)の所有権にロックダウンされるべきですが、彼はhisname:www-dataまたはhisname:Apache(同じやり方で)。ホームおよびウェブサイトのディレクトリ権限はo = rwx、g = rx、o =である必要があり、ファイルはxなしで同じになります。特定のWebアプリがファイルを更新するために、必要に応じてg + wとg + xを設定します。特に、サイトのアップロード、一時、およびキャッシュディレクトリには、多くの場合、g + wアクセス許可が必要です。

サーバーでmanchmodとmanchownを実行し、これが何を意味するのかわからない場合は読んでください。

また、サーバー上でplesk/webminのようなものを実行して、管理を容易にすることを検討してください(良くありませんが、これに慣れていない場合はおそらく良いでしょう)。または、物事をより適切にロックする他の再販業者オプションを調べて、そうする必要がないようにします。

0
Lee B

心配な場合は、彼が必要とするツールとファイルにのみアクセスできる、chroot環境を作成できます。

0
DrStalker