web-dev-qa-db-ja.com

www-dataがログインできることのデメリット

私は基本的に小さなデータプロジェクトとファイルをホストするためだけに小さなウェブサーバーを実行しています。このサーバーにはパブリックIPアドレスがあります。

FTPでファイルを/var/www/*に直接アップロードできるようにしたいので、www-dataユーザーがパスワードを持って直接ログインできるようにすることを検討しています。これにより、Webディレクトリで何かを行うたびにファイルの所有権を変更する必要もなくなります(現在rootとして実行しているため、セキュリティ上のリスクもあります)。

Www-dataユーザーにログインを許可することにセキュリティ上のリスクはありますか?もしそうなら、最良の選択肢は何ですか?

4
Ari B. Friedman

セキュリティ上のリスクの1つは、Webサーバー自体を強制終了するか、他の方法で対処できる可能性があることです(同じユーザーを使用しているため)。これはおそらくあなたが望むものではありません。おそらくrootを使用する場合も同じです。

2つの解決策:

  1. /var/wwwの下に自分用のサブディレクトリを作成し、自分自身にchownしてから、自分のユーザーを使用します。 (または新しいものを作成します)

    例:

    root@box# mkdir /var/www/joes-toys
    root@box# chown joeuser:joegroup /var/www/toys
    root@box# chmod u=rwx,g=rx,o=rx
    
  2. ユーザー(自分のユーザーまたは新しいユーザー)をwww-dataグループに入れ、グループに/var/wwwへの書き込み権限があることを確認します。

    例:

    root@box# adduser joeuser www-data
    root@box# chgrp -R www-data /var/www
    root@box# chmod -R g+w /var/www
    

追伸:最近は暗号化されていないFTPを使用しないでください! sftp(sshスイートから)または少なくともftps(ftp over ssl)を使用します。

7
Elrond

デーモンプロセスは通常、いくつかの理由でログインできません。他のセキュリティの中でも重要な問題です。 www-dataは、多くのプラットフォームでWebサーバーを実行している場合、システムで使用可能であると見なされます。そのユーザーIDにログオンできれば、Webサーバーやそのコンテンツを簡単に危険にさらす可能性があります。 (マルウェアの提供を考えてください。)

www-dataにファイルを所有させないことをお勧めします。重要なのは、www-dataがファイルを読み取れることです。同じグループでユーザーIDを作成し、そのユーザーがFTPでアクセスできるようにすることを検討してください。セキュリティを向上させるには、Webサーバーが書き込めるディレクトリをできるだけ少なくします。

4
BillThor