私は基本的に小さなデータプロジェクトとファイルをホストするためだけに小さなウェブサーバーを実行しています。このサーバーにはパブリックIPアドレスがあります。
FTPでファイルを/var/www/*
に直接アップロードできるようにしたいので、www-data
ユーザーがパスワードを持って直接ログインできるようにすることを検討しています。これにより、Webディレクトリで何かを行うたびにファイルの所有権を変更する必要もなくなります(現在rootとして実行しているため、セキュリティ上のリスクもあります)。
Www-dataユーザーにログインを許可することにセキュリティ上のリスクはありますか?もしそうなら、最良の選択肢は何ですか?
セキュリティ上のリスクの1つは、Webサーバー自体を強制終了するか、他の方法で対処できる可能性があることです(同じユーザーを使用しているため)。これはおそらくあなたが望むものではありません。おそらくrootを使用する場合も同じです。
2つの解決策:
/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
ユーザー(自分のユーザーまたは新しいユーザー)を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)を使用します。
デーモンプロセスは通常、いくつかの理由でログインできません。他のセキュリティの中でも重要な問題です。 www-data
は、多くのプラットフォームでWebサーバーを実行している場合、システムで使用可能であると見なされます。そのユーザーIDにログオンできれば、Webサーバーやそのコンテンツを簡単に危険にさらす可能性があります。 (マルウェアの提供を考えてください。)
www-data
にファイルを所有させないことをお勧めします。重要なのは、www-data
がファイルを読み取れることです。同じグループでユーザーIDを作成し、そのユーザーがFTPでアクセスできるようにすることを検討してください。セキュリティを向上させるには、Webサーバーが書き込めるディレクトリをできるだけ少なくします。