Webサーバーのベストプラクティス:ディレクトリ構造とセキュリティ


15

UbuntuサーバーをWebサーバーとして利用したいのですが、設定のベストプラクティスに従うようにします。最適な場所にディレクトリを設定し、そのフォルダーに適切なセキュリティを構成する方法を理解したい。サーバーにFTPでファイルをWebフォルダーにプッシュできるようにしたいので、PureFTPdユーザーがWebフォルダー内のファイル/ディレクトリを操作できるようにする方法を理解したいと思います。


serverfault.comでこの回答を見つけ、非常に便利だと感じました。コメントの多くは、このトピックに対処するための素晴らしい情報です。
MystaMax

回答:


5

私のユーザーがストレートに物事をSFTPことができるように、私は自分のサーバー上で何をしたか/var/wwwであります:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

これにより、ユーザーは/ var / wwwおよびそのすべての子ディレクトリのグループ所有権を持つグループに追加され、グループ書き込みアクセスを許可するために/ var / wwwのすべてが再帰的に設定され、/ var / wwwディレクトリのsetgidビットが設定されますそのため、後で/ var / wwwの下に作成されるすべてのファイルは、グループを作成者のプライマリグループに設定するのではなく、同じグループ所有権を維持します。


これは良い方法ですが、Webサーバー自体が既に実行されているグループとは別のグループを作成する場合のみですwww-data。その結果、Webサーバースクリプトが侵害されると、その下のファイル/var/wwwが変更される可能性があります。のwww-dataようなものに変更するだけですweb-users(そして、最初にそのグループを作成しますsudo addgroup web-users)。
キーズクック

2

これは非常に一般的な質問です。

明らかに、Webサーバーをrootとして実行したくありません。ただし、Ubuntuのインストールでは既に適切な方法で実行されています。

さらに、Apache Webサイトには、ディレクトリを適切に構成するためのヒントがあります

ftpに関して。ネットワーク経由でユーザー名とパスワードをプレーンテキストで送信しない安全なftpサーバーを使用するようにします。Ubuntuのヘルプページには、このようなftpサーバーのセットアップ方法に関するチュートリアルがあります


情報に感謝します。それが一般的なものであることに気づきました。設定のベストプラクティスについてかなり一般的な見解があることを望んでいました。
JPrescottSanders

0

複数のユーザーがサーバーをウェブサーバーとして使用しているUbuntuサーバーのみがある場合、私は/var/wwwディレクトリを/var/www削除します。これはウェブファイルをグローバルに配置する場所だからです。/etc/skelディレクトリを更新し、シンボリックリンクを使用してpublicand privateフォルダーを追加し、www -> publicすべての仮想ホストDocumentRootsをに更新し/home/<user>/publicます。

/var/www複数のユーザーレベルのフォルダーとファイルを配置する場所とは思わない。それが/home/ディレクトリの設計目的です!パスとディレクトリ構造をきれいに保ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.