共有webhhostでDebianボックスを設定しています。これらのユーザーにはssh権限がなく、ftp権限のみがあります。ユーザーがPHPを使用できるようにします。suphp
PHPプロセスが自分のユーザーアカウントで実行されるように設定しました。
/etc
システムファイル、特にフォルダのセキュリティが少し心配です。このディレクトリにあるほとんどのファイルには、次の権限があることが確認されました。
drwxr-xr-x 2 root root 4096 Mar 4 20:00 pam.d
-rw-r--r-- 1 root root 1358 Mar 5 00:48 passwd
-rw------- 1 root root 1358 Mar 5 00:48 passwd-
drwxr-xr-x 2 root root 4096 Feb 18 14:22 pear
drwxr-xr-x 4 root root 4096 Apr 29 2010 perl
drwxr-xr-x 6 root root 4096 Feb 18 14:22 php5
drwxr-xr-x 2 root root 4096 Mar 4 17:42 phpmyadmin
Debian標準でファイルに付与された読み取り権限は/etc
本当に必要ですか?これらのファイルに提供できる最高のマスクは何ですか?その中にあるファイルのどれでも/etc
読むことができなければなりませんか?
答え1
基本権限は大丈夫で必須です。たとえば、passwd を読み込み可能なままにしないと、多くのユーザー固有の機能は機能しません。 /etc/shadow のようなファイルは誰でも読むことはできません。
わからない限り、オペレーティングシステムがこれを正しく実行することを信頼してください。とても良いオペレーティングシステムが正しくありません。
答え2
ほとんどすべての設定ファイルは誰でも読むことができなければなりません。それ以外の場合は、アプリケーションがこれをどのように読み取ることを期待していますか?
編集者がひどい人であれば、各アプリケーションのグループを作成し、必要なユーザーをグループに入れて、グループの所有者と関連プロファイルの権限を変更できます。しかし、私はこれが得よりも糸が大きいと思います。
私が考えることができる唯一の重要なファイルのどれでも読める権限がないファイルは、他の説明で述べたように/etc/shadowです。
安全なDebianボックスが必要な場合はお勧めしますDebian セキュリティガイド少し古いですが、良い概要を提供します。
しかも強化パックこれにより、いくつかの興味深い依存関係が生成され、既知の脆弱なパッケージのインストールが無効になります。
答え3
大丈夫です。とは別に目次phpmyadmin
mysqlパスワードが漏洩しないようにファイルを保護します。
答え4
ステップ 1 に戻ると、これらのユーザーが自分のホーム ディレクトリにのみアクセスする必要がある場合、ほとんどの FTP サーバーにはいくつかの構成設定があります。ただそのディレクトリへのアクセスは許可されますが、他のディレクトリへのアクセスは許可されません(最も一般的にはchrootを使用)。
たとえば、ProFTPd では DefaultRoot ディレクティブです。
<VirtualHost myhost.example.com>
DefaultRoot ~
</VirtualHost>