共有ホスティングサーバーを設定する方法のチュートリアルが見つかりません。
私が見逃している部分は、サイト管理者が互いのディレクトリを表示できないように権限を設定する方法です。
前:
これを行うには、OVHはSSHサーバーをどのように構成しますか?
私は各ユーザーがSSHとSFTPを使用して接続できますが、最も重要なのは、自分のディレクトリのみを表示できるようにするマルチユーザーWebサーバーを設定しようとしています。 OVHはこれを行いましたが、6時間の検索と試行(chroot刑務所の作成)の実行方法を理解できませんでした。たぶん些細なことかもしれませんが、私はそれを見ることができません。
OVHアカウントにログインすると、次のことができます。
pwd
私のホームディレクトリを教えてください(/homez.52/creak
)/homez.52/creak
実際にシンボリックリンク/home/creak
cd
すべての一般的なLinuxディレクトリ(/bin
、、、、..)に移動できますが、毎回次のエラーが発生します/usr
。/home
ls
ls: cannot open directory .: Permission denied
/homez.52/creak
私のすべてのファイルを同時に閲覧できます。/home/creak
彼らはこれをどうするか。 chroot?前方十字靭帯?
ありがとう
答え1
共有Webホスティング環境では、すぐに解決する必要があるいくつかの問題があります。
ディレクトリ権限とファイルにのみアクセスできる場合:必要な作業は、「その他」グループが権限を持たないようにホームディレクトリ権限を設定することです。ディレクトリにCDを挿入するにはeXecute権限が必要ですが、その権限自体では内容を読み取ることはできません。したがって、/home は root が所有し、rwxr-x--x を持たなければなりません。したがって、ユーザーはシステムに何人のユーザーがいるかを見て、知らずに「盲目的に」ホームフォルダに移動することができます。以下のようになります(明確にするために日付、寸法などは省略されています)。
# ls -la /home
drwxr-x--x root root .
drwxr-xr-x root root ..
drwxr-x--- usr1 usr1 usr1
drwxr-x--- usr2 usr2 usr2
...
ユーザーがなどのディレクトリの内容を読み取れないようにするには、/bin
「その他」グループの「読み取り」権限ビットを削除します。事前にフルパスを知っている限り、埋め込みバイナリを使用する能力には影響しません。
SSH および FTP アクセスの場合、ファイルシステム権限を正しく構成すると、適切な SSH または FTP 実装はすでに安全です。 FTPにはvsftpdを、SSHにはOpenSSHをお勧めしますが、これが唯一の正しいオプションであるという意味ではありません。これらのサービスの設定オプションを調整する必要があります(特に、SSHを介したルートログインを許可せず、sudo機能を持つすべての人のパスワードログインを無効にするなど)。
難しいのは、特に動的Webサイトに対してCGIスクリプトを実行する必要がある場合は、Webサーバーを正しく構成することです。最近では、みんなと彼らの祖母がPHPを望んでいますが、/home/dumbuser/public_html/php_shell.php
Apache / Nginxを作成したのと同じユーザーとして実行することはできません。そうですか?
Apache Webサーバーを実行している場合、考えられる解決策は次のものを使用することです。su 実行モジュールすると、CGIスクリプトは実行可能ファイルを所有しているユーザーとして実行されます(setuidビットを考えてみてください)。 HTTPサーバーが物理ファイルにアクセスできるようにするには、サーバーが実行されているユーザー(通常はwww-data
)をシステム内のすべてのユーザーグループに追加することを検討してください(「グループ別」では、ユーザーアカウント固有ではなく共有環境を使用するすべてのユーザー。を表します)。システム)。
これはただ共有サーバーを正しく構成および強化するために実行する必要があるすべての作業について簡単に説明します。実行中の各サービスの構成ファイルを完全に理解し、必要に応じて変更する必要があるかもしれません。特に、Webサーバーの設定オプションを読み、開発/テスト環境で試すのに1週間を費やすこともできます。
答え2
r
ディレクトリに対する権限がなく、x
権限のみがある場合、ディレクトリを「検索」することはできませんが、名前を知っているすべてのファイルにアクセスできます。
これにより、ls -ld /bin
モードがdrwxr-x--x
「その他」に設定され、その中にある/bin
プログラムを使用できますが(たとえば/bin/ls
、スキャンのディレクトリにアクセス(表示)できないことがわかります)。
ユーザー間、つまり/home/*
ディレクトリ間の権限を放棄しx
てクロスアクセスを完全に禁止することも可能です。